ふぁむたろうのブログ

機械学習系のお話やポエムを投稿します

コンペのためにLambdaPCを購入してみたお話

こちらはKaggle Advent Calendar 2020 - Qiita 18日目の記事です。 内容的にQiitaに残すものでもないかなということではてなブログに掲載させていただきます。

この記事ではKaggleコンペのために LambdaLabGPU付きマシンを買おうとした背景だったり、どんな手順を踏んだのか綴っていきます。 あとは実際に購入してみてどうだったのかの所感も残しておこうと思います。 この記事がGPUマシン買う人にとって参考になれば幸いです。

0. LambdaPC を知ったきっかけ

※記憶がやや曖昧です

  • たしか現職への転が決まった後の GW 頃の Zoom飲みしてるときに教えてもらった気がします…
  • 現職に就くにあたってはコンペ用にマシンを持ってた方が良いと考えてて、どうやって手に入れるか悩んでた時期です
    • 前職とかでGPU使ってクラウド代溶かすことを覚えてしまったのが原因です
    • 現職でもクラウド支援はあるのですが、さすがに画像メインのコンペで複数GPUを使うとすぐ溶けることが分かっていたのであまり当てにしてませんでした
  • 特に自作せずに国内BTOで済まそうとすると、複数GPUマシンの選択肢があまりなかったのもあります

1. あなたはLambdaPCを買うべきか?

  • まず LambdaLab で買ったほうが良いか否かは下記の通りだと思っています
    • 図の通りLambdaPC を薦められる人はかなり限られていると思います
  • GPU1枚以下の場合は国内のBTOで購入するのが良いです
    • 特にKaggle等のコンペ用にマシンに負荷をかける場合、保証は必ずつけるべきだと思います
    • 加えて万が一の場合は、国内の方が連絡や郵送の手間が少ないのも大きいですね

f:id:fam_taro:20201217222409p:plain
簡易フロー

2. 購入するまでの手順

  • そもそも自宅にGPUマシンを置くこと自体初めてでしたので、おっかなびっくりしながら購入まで進めてました

2.1 電力の確認

  • 1GPU なら問題なさそうだと聞いていたのですが、2GPUだとよく分からなかったので LambdaLab の人や前職のインフラの先輩にお話を伺いました
    • 下記は LambdaLab の人とのやり取りです
    • ついでにそもそも日本に届くのかも聞いちゃってますね
  • 電源自体は1300Wで、実際に使う際には多くても 1000W くらいだという想定をしました

f:id:fam_taro:20201217230113p:plain

  • 次に家の電力プラン的に大丈夫なのかも確認しました。
  • 幸い関西は契約アンペアという概念自体なかったので、特に問題はなさそうでした

2.2 見積もり

  • 金額の見積もりでは念の為 LambdaLab と国内BTOの両方でしました
  • ただ同じスペックで見積もると、国内BTOだと +3-40万 ぐらいかかりそうでしたので迷わず Lambda にしました

2.3 購入

  • 金額が金額で人生で一番高い買い物でしたので手が震えてたのは覚えてます
  • あとクレカによっては最大金額でも足りなかったのでちょっと焦りました
    • 枠としては海外ショッピング枠に該当するので、お手持ちのクレカとご相談ください
    • 常日頃から信用を重ね金額上限を上げることは意外と大事みたいです…

f:id:fam_taro:20201217231411p:plain

2.4 関税を支払う

  • 自分の場合、PCが空港に到着した日に FedEx から電話がかかってきて、その場でクレカで支払いをさせられました

2.5 到着

  • 注文してから 12日で到着しました
  • 海外発注なのにあっという間に届いてびっくりしました

f:id:fam_taro:20201217232135p:plain

2.6 設定

  • ほぼ何もしてないです…(最初から Docker とかほとんど入ってたので…
    • 普段から Docker 使っててよかったなとは思いました
  • ネットワーク周りの設定だけして GoTo Kaggle してました

3. 約半年使ってみてどう?

  • クラウドよりも気が楽
    • 気兼ねなく実験を回せるのは嬉しいです(その分つい脳死実験を回してしまうという罠もありますが
  • 音は気にならない
    • 自分は普段から空気清浄機使ってるせいか、音はそこまで気になりませんでした
  • ピカピカ光るのは気になる
    • 自分はPCの向きを変えれば我慢できるぐらいなのでそうしてます
    • BIOS の設定で OFF にできそうなのですがなぜか手を付けていない)
  • 空調には気を使うようになる
    • 夏場は怖いのでエアコンの温度を低めに設定してました
      • ただ学習が終わったあと部屋が寒くなりすぎて起きるということが何度かありました
    • 冬場はあまり気を使わないですが、それでも学習が終わると部屋の寒さを感じます
  • GPU 1枚と2枚の差は非常に大きい
    • コンペに参加してみたところ、やはり1枚と2枚では自由度がかなり違いました
    • 1枚で手堅い学習をしつつもう1枚でデバッグとか検証とかちょっとチャレンジな実験ができるのは大きかったです
  • 電気代は最大で月2万ぐらい
    • 一ヶ月ほぼほぼフルで 2GPU 回した場合です

4. コンペと付き合っていく上での自PCのメリット・デメリット

ありがちではあるのですが、自分が使ってみて感じた自PCのメリット・デメリットは下記の通りです

  • メリット
    • クラウドより気軽に実験できる
      • クラウドでもしっかり工夫すれば安く使えたりするのですが、そこらへんを全く気にせず使えるのは気が楽でした
    • クラウドよりレスポンスが早い
      • サクサク操作できるのは地味に嬉しいです
      • 開発PCとちょっとしたファイルのやり取りも一瞬でできるので楽です
    • GPUを回せという物理的圧を感じられる
    • 一度手に入れれば、必要なものだけ変えていけば良い
      • PC の場合パーツによって寿命が違うので、必要なものだけ変えていけばよいのは楽そうですね
      • まだ一度も変えたことありませんが
  • デメリット
    • クラウドほど手軽くスケーリングできない
      • テーブルコンペとかですと RAM 1TB 回すシーンもあるそうですが、自PC だとさすがにここまで RAM 積めないですね
    • 物理的スペースを要する
      • PC の真横にものを置くのもよくないので、一定のスペースは犠牲になります
    • 年中エアコンのお世話になる
    • 回さないと罪悪感を抱く
    • 初期費用
      • 個人によるとは思いますが、自分の感じるコンペで遊べそうな GPU にするとどうしても費用がかさんでしまいます…
      • f:id:fam_taro:20201217234630p:plain

自分の場合はこのPCのおかげで今年金メダル取れたのもあるので後悔はないですが、 決して安い買い物とは言えないので、慎重に検討していただければと思います。 (まあ2-3年 Kaggle で遊ぶつもりなら買いしかないと思ってますが!)

正直なところ画像コンペと言われるものに参加されるなら断然あったほうがやりやすいですし、 近頃はテーブルデータコンペでも GPU が輝くシーンが増えてるので、今後2-3年は遊ぶだろうなという方は買って良いと思います。 (賞金でペイしてやるという気概でも良いかもです…)

記事としてはこれで終わりです。 他にも気になることがあった場合はお気軽にTwitterとかで聞いていただければと思います!