• Column
  • AI活用に取り組む企業のためのプラットフォーム

データサイエンティストの生産性を高めるAIプラットフォームが必要【条件2】

佐々木 邦暢(NVIDIAソリューションアーキテクチャ&エンジニアリング シニア ソリューションアーキテクト)
2022年3月31日

課題2:計算資源の効率的な割り当て

 現在のAI技術を支える中心的な手法はディープラーニングである。そこでは、学習のための大量の教師データと、そのデータを繰り返し読み込んで計算するための計算資源、具体的にはGPU(Graphics Processing Unit)を搭載したサーバーマシンが欠かせない。

 複数のデータサイエンティストが参加するAI関連プロジェクトに対し、充分な計算能力を提供するためには、1台のサーバーに複数のGPUを搭載し、さらにそのサーバーを複数台用意する「マルチGPU、マルチノード」の構成が一般的である。「ノード」はサーバーマシンを指している。

 ここで重要なことは、「インフラとしてのサーバー群を用意するだけでは不十分」なことだ。複数のデータサイエンティストが参加するチームが、複数のサーバーを共有し、AIソフトウェアを開発するとしよう。各メンバーが実行するAIの学習作業は、それぞれが複数のサーバーやGPUを必要とし、一回の実行に数時間以上を要することも珍しくない。

 そこでは、どのメンバーが、どのサーバーを使って作業を実行するのかについて、計算資源を公平かつ効率的に割り当てる必要がある。複数のメンバーが同時に同じサーバーで処理を開始すると、局所的なリソース不足が起こる一方で、別のサーバーはリソースが空いているといった状況が発生し、せっかくのサーバー群が十分に活用されなくなるからだ。

 計算資源の割り当ては、チームの規模がごく小さいうちは、メンバー間で声を掛け合って決定するといった運用も可能かもしれない。しかし、10人以上のデータサイエンティストが数十台のサーバー群を活用するといった規模になると、手動でのリソース配分は難しくなる。

 データサイエンティストの要求とサーバーの稼働状況に基づいて、計算資源を適切に割り当てる機能は「ワークロードマネジメント」あるいは「ジョブスケジューリング」と呼ばれる。これら機能がAIプラットフォームには求められる。

課題3:データセットの効率的な管理

 AIソフトウェアの開発には大量の教師データが必要である。例えば、米Googleが提供する画像のデータセット「Open Images V6」は900万枚の画像を含み、そのサイズは500ギガバイト以上になる。このようなデータセットを、データサイエンティストがそれぞれに準備することは、その労力やストレージ利用効率の点から避けるべきだ。

 AIプラットフォームには、データサイエンティストのチーム全体で共有できるデータセットの管理機能が備わっていることが望ましい。

課題4:実験管理ツールの活用

 AI関連プロジェクトに携わるデータサイエンティストにとって、ディープラーニングフレームワークと同様に重要なのが、各種の実験管理ツールである。

 精度の高いAIソフトウェアを開発するためには、様々な設定項目を変化させながら実験を繰り返す必要がある。その際、設定項目の変更を記録せず、闇雲に試行錯誤をすると、実験の再現性が確保できないため、詳細な記録を残す必要があるが、手動での記録はデータサイエンティストにとっての負担になる。

 実験管理ツールは、実験における設定項目の値や、その設定で得られた精度といった各種情報を自動的に記録し、わかりやすい形で振り返ることを可能にする。具体例としては、「MLflow」のようなオープンソースプロジェクトのほか、米Domino Data Labや米Weight & Biasesなどが提供する商用サービスがある。

 これら実験管理ツールとAIプラットフォームが持つワークロードマネジメント機能を連携できれば、データサイエンティストは様々な実験を迅速に繰り返しながら、詳細な記録を残せる。