神戸のデータ活用塾!KDL Data Blog

KDLが誇るデータ活用のプロフェッショナル達が書き連ねるブログです。

新卒社員がSIGNATEの「間取り図解析アルゴリズム作成」に挑戦してBronzeを獲得した話(2):学習環境

 株式会社神戸デジタル・ラボ Data Intelligenceチームのプラタマです。

今回のブログは前回に引き続き、「間取り図解析アルゴリズム作成」コンペについてお話しします。私達が参加したコンペの課題は前回の記事で紹介しました。

 

kdl-di.hatenablog.com

 

 

 

アルゴリズムの話に入る前に、学習するための環境を触れてもいいかなと思います。今は一般的になりましたが、深層学習を行うにはGPUが必要です。CPUで学習することも可能ですが、画像データに対して学習するには相当な時間がかかります。ちょっとしたネタバレですが、今回のコンペにNVIDIA Tesla T4と呼ばれるGPUを用いて領域検出のモデルを学習するのに6時間を要しました。

以上から、クラウドで利用可能なGPUが搭載された計算機を探し始めました。会社のノートパソコンはGPUが搭載されていないため(8GB VRAMのGPUが必要でしたが、ノートパソコンにはそもそも高すぎた)、GPUが自由に使えるプラットフォームを複数試してみました。

f:id:kdl-di:20211102133328p:plain

 

無料で利用できる環境

GPUを提供するプラットフォームといえば、最初にピンときたのはGoogle Colaboratoryです。

Google Colaboratoryとは? 

GPUが搭載されたマシンを無料で利用することができるため、データサイエンティストにはとても嬉しいサービスです。一般な深層学習アルゴリズムを実行するには十分なスペックを持っています。さらにGoogle Driveと連携することも出来るので、データの読み込みも簡単に出来ます。

Colabの無料枠には、以下のように計算機の仕様が決まっており、ルールが設定されています。

  • NVIDIA Tesla K80 or T4

  • プログラムの起動は最大12時間

  • アイドルタイムは90分

最も厄介な制約は最後の制約でした。Colabを起動したウィンドウを放置するとランタイムが落ち、学習が停止してしまうことが頻繁にありました。

落ちるだけなら良かったのですが、Colabの場合、GPUを搭載したランタイムを利用できる時間に制限があり、この制限時間は公開されていないため、落ちた際に再度GPUが使えるようになるまで時間が分からない問題があります。

f:id:kdl-di:20210916142322p:plain

ランタイムが落ちるたびに1日待たなければならない状況は生産性が低いため、学習をKaggleカーネルに移行することにしました。

 

Kaggleカーネルとは?

同じくGoogleが提供したノートブックです。感覚はColabとほぼ同じですが、計算機のスペックと見た目に少し違いがあります。

Kaggleカーネルは以下の計算機の仕様と制約があります

  • NVIDIA Tesla P100

  • プログラムの起動は最大9時間

  • アイドルタイムは60分

時間的な制約を一通り見ると、Colabより低く見えます。ただ、ランタイムが落ちても、すぐ建て直せます。残りの時間もちゃんと記載されているので、環境がユーザー目線で優しい。それとKaggleカーネルはP100のGPUが使えるので、Colabより性能が高いと感じました。

f:id:kdl-di:20210917180031p:plain

厳密にいうと、ColabのT4のほうが性能が高いですが、ColabのGPUランタイムを利用するとK80という遅いGPUを割り当てられる頻度が多くなる印象です。

有料環境

取り組みの途中から、クラウドプラットフォームを利用できるようになったので、時間制限なしのプラットフォームに移動することにしました。クラウドの操作を勉強しつつ、GCP(Google Cloud Platform)にGPUインスタンスを建てることにしました。

GCPでは、AI Platformというサービスがあり、ColabやKaggleのようなノートブックを通し、深層学習モデルのプロトタイプを作成できます。今回は、GCPの初回ユーザーに割り当てられる3万円分のクレジットを利用していたので、結局課金されないまま、最後まで利用できました。

NVIDIA Tesla T4のGPUインスタンスを建て学習を行いました。利用当初の考えでは2個のT4を利用する予定でしたが、GPU割り当て申請がなかなか通らない問題が発生しました。

ある程度の利用実績がなければGPUを割り当て増加できない事が理由です。結局、1個のGPUで我慢するしかなく、2人で交代しながら学習するしかありませんでした。

時間がかからない軽いモデルを動かすには無料の計算機で十分ですが、今回の課題ではやはり時間的な制約に制限されないクラウド上のノートブックが最良の選択だったと思います。

環境が決まったところで、次回はどんな策で間取り図の解析に挑んだかをご紹介します。

 

プラタマタウフィクムハンマド

データインテリジェンスチーム所属
データパイプラインとMLOpsを担当。機械学習システムを端から端まで構築します。信頼性・拡張性・保守性のあるシステムを目指します。