AI開発環境のハードル GPUリソースの競合はどう解決する?

このエントリーをはてなブックマークに追加

AIを開発する現場にはさまざまなハードルがある。開発環境の整備、リソース問題、乱立しがちな環境の管理など、挙げ始めればキリがない。

新型コロナウイルスの影響でAI開発エンジニアの働く環境が変わりつつあるいま、AI開発において超えるべきハードルはどんなものなのだろうか。

そこでレッジは、AI開発環境の整備やリソース管理をサポートするオートメーションツール「Maison」を提供しているISP(株式会社システム計画研究所)と、データサイエンティストやAI開発者の生産性を向上させるハードウエアやリモートワークソリューション「ZCentral」を展開する日本HPとともに、AI開発において頻出する課題を事例として紹介しつつ、AI開発におけるハードルを探るウェブセミナーを開催した。

本稿では、このウェブセミナーの模様をレポートする。なお、本ウェブセミナーはアーカイブ配信も実施している。今後AI開発に携わる方、現在携わっている方ならぜひとも見てほしい。

登壇者紹介

株式会社システム計画研究所 サブマネージャ
久野 祐輔


初めて触ったコンピュータはPC8801。大学は土木工学を専攻し、水資源に関するコンピュータシミュレーションを行う。新卒でソフトウェア開発会社であるシステム計画研究所へ入社後、画像処理製品の企画/開発を中心に携わり、ふと気づくと社会人15年を経過。近年はデータ解析や、人工知能技術に関連したビジネス創出に関わる。特に力を入れている分野はIoTやピープルアナリティクス。

株式会社システム計画研究所 Maison 開発担当
渡瀬 智史


2009年システム計画研究所入社。サーバサイド技術を中心に決済システム、分散処理システム、ソーシャルゲームサーバサイドなどネットワーク応用アプリケーション開発に携わる。近年は自然言語処理、レコメンドシステムなど非画像データ(自然言語・センサーデータ)を活用するAIシステム開発を行う。また社内でのGPUサーバ奪い合いの惨状を目にし、社内GPUサーバの管理を行う社内インフラ部隊としても活動中。

株式会社日本HP ビジネスデベロップメントマネージャー
新井 信勝

HP入社以来、世界各国のHPの事業部の優れた製品を日本市場のニーズに沿った形でのビジネス促進のためのマーケティング業務を担当。
現在は、データサイエンス、AI、医療、組み込みなど向けに新規市場開発を担当。

AI開発環境における3つのハードル

まずISPの久野氏は、AI開発環境において3つのハードルがあると話す。

―― 久野氏
「ISPではAI開発プロジェクトには2016年ごろから携わってきました。製造業や建設業、そして自動運転など案件内容は多岐に渡ります。

実際にAIプロジェクトに携わっているISPとして、AI開発環境におけるハードルは3つあると考えています。ひとつは環境構築、ふたつめはマシンリソース、最後はデータです」

久野氏は続けて、それぞれの内容を説明してくれた。

―― 久野氏
「環境構築の面では、『学習をするならGPUがほしい』『OSはどうしよう』『クラウドかオンプレか』といった各種フレームワークや、依存するライブラリを考えつつインストールする必要があります。これは、実際に開発に携わるエンジニアとしても悩ましい場面で、環境を用意する立場のシステム管理者としても難しい部分です。

次に挙がるのはマシンリソースですね。これは主にGPUの取り合いを指します。なかでもオンプレ環境の開発では、複数のエンジニアが同時に作業する際、サーバー上の同一GPUメモリを使うと、競合エラーが発生してしまいます。システム管理者側としては、高価なAI開発用サーバーを導入したのですから、効率的に使ってもらいたいと思う部分もあるため、リソース問題は切っても切れないハードルです。

そしてデータにおけるハードルもあります。実際にAIに学習させようとすると、同じデータのコピーがさまざまな場所に点在することがよく起こります。当然ですが、ストレージは有限ですし、複数人で使いたかったデータが行方不明に……といった事態もあります」

また、ISPの渡瀬氏は「AI開発環境の課題は年々変わっている」という。

―― 渡瀬氏
「我々がAI開発に携わり始めた2016年ごろは、AI開発は社員の自席マシンにGPUを積んで取り組んでいました。しかし、規模が大きくなるにつれ、チームで開発することが主になり、その結果、コードやデータを共有するために、共有サーバーにGPUを積んで開発するようになっていったのです。しかし、このときにAI開発環境の問題が起きていきました。

ChainerやTensorFlowをはじめとするライブラリやフレームワークがバージョンアップするにつれ、それぞれの環境で困ったことが起こりました。それが環境の競合です。ミドルウェアのバージョンが増えるに従い、ライブラリのバージョン依存が発生したため、環境が使えなくなる事態が発生していました。

2017年ごろからは、この事態を解消するために、Dockerを使い、個々人の作業環境の分離が可能にしました。また、環境のインストールやアップデート作業が不要になっています」

だが、Dockerにも落とし穴があると続ける。

―― 渡瀬氏
「Dockerコマンドがややこしくて覚えづらいことや、大量のデータを使うAI開発だけにすぐにディスクがいっぱいになってしまったとか、そもそもコンテナがサーバー内に乱立してしまい誰が何を使っているのかトレースできないこともありました」

手間のかかった開発環境構築を手軽にする「Maison」

ISPでは、「Maison(メゾン)」というAI開発環境の整備やリソース管理をサポートするオートメーションツールを提供している。メゾンには、先に話題に挙がったAI開発におけるハードルを下げる役割があるという。

―― 久野氏
「もともとMaisonは、ISP社内でAI開発を進めた際に、実際に直面したいくつかのトラブルに対応する形で作りました。AI開発オートメーションツールとして、必要なAI開発環境を素早く構築し、作成された環境は個人に紐づける形で管理できる特徴を備えています。

たとえば、GPUのリソース管理では、“会議室管理システム”のような感覚でご使用いただけます。誰がいつからいつまでGPUを使うのかを予約システムのように使うことで、より一層リソース管理を手軽にできます」

―― 渡瀬氏
「Maisonでは、イメージを立ち上げさえすれば、SSHやJupyterで接続してすぐに開発を始められます。なので、セットアップの手間がほとんどかからなくなりますのも特徴です」

では、Maisonを使えばGPUの競合は発生しなくなるのだろうか。

―― 渡瀬氏
「開発当初のMaisonでは、GPUの使用時間をMaison上で厳格に管理しており、枠で決められた時間を超えると強制的にコンテナを止める仕様でした。ただ、AI開発の作業はインタラクティブに試行錯誤することも多く、時間厳守で区切ってしまうと意図していないシャットダウンが起きてしまうので使いづらさがありました。ですので、現状の仕様では、予約管理システムのように枠だけを抑えるようにしていて、その時間は誰が使っているのか、を見える化するようになっています」
―― 久野氏
「もちろん、技術的には時間厳守でバツっと止めることも可能です。もし、これからMaisonを使いたいという企業の方がいらっしゃって、時間厳守の仕様にしたいという要望があれば、オプションとして対応できます。

とはいえ、AI開発においてGPUを使った学習に必要な時間は見えないことも多いので、自由度ある形式のほうが使いやすさがあると考えています」

日本HPのワークステーションならではのリモートでのAI開発に適した機能

新型コロナウイルスの影響で在宅ワークが基本となったいま、AI開発環境に変化は出たのかという話題になると、ISPでは「新入社員にはノート型のワークステーションを手配した」そうだ。

―― 渡瀬氏
「新型コロナウイルスの影響で働く環境が代わり、開発環境なども含めていろんな会社が苦労していることだと思います。我々としても在宅ワークが始まった当初は、リモート環境でどのようにAIを開発していくのか考えていました。

それこそ、物理的な資源や機材が会社にしかない状況でエッジでのAI開発をするとなると、その現物も必要になるのでリモート環境での開発に厳しさもあったという話は聞いています」

―― 久野氏
「とはいえ、AIの開発という面だけで話せば、ISPでは社内にいたとしても、自席のマシンから共有サーバーにアクセスして着手していたので、開発作業としては大きく変わっていません。自宅からだとしても、VPN経由で社内共有サーバーを使えるため、AI系の案件においてはスムーズに進んでいます」

コロナ禍でも開発には支障はないと話すが、大きな変化があったのは新入社員だったそうだ。

―― 久野氏
「今年の新入社員は4月の時点で在宅ワークになったため、自宅からでも作業に取り組めるように、日本HPさんに相談し、GPUを搭載したノート型のワークステーションを手配するようにしました」
―― 新井氏
「もともとISPさんでは、GPUを搭載したデスクトップ型のワークステーションをご利用いただいていました。ただ、デスクトップマシンをご自宅で使用していただくのも難しいので、ノート型のマシンの導入をされました。15インチのマシンですが、GPUを搭載しているので、リモートでも問題なくAI開発に携われるようになっています」

また、新井氏は日本HPのワークステーションには、リモートに適した機能があると続ける。

―― 新井氏
「HPのワークステーションを活用する場合、『HP ZCentral Remote Boost』の機能を活用することにより、職場や自宅に設置しているワークステーションに手持ちのPCからリモートアクセス可能です。ちなみにですが、HP ZCentral Remote Boostの利用は、HPのワークステーションを使っていれば無料で使うことができ、手元で使うPCはWindows以外のMacやLinuxなどにも対応しています」

クライアントからよく聞く課題は「コミュニケーション方法」

本ウェブセミナー中に視聴者から寄せられた質問について、久野氏、渡瀬氏にお答えいただいた。

Q.コロナの影響でも開発環境は変わっていますが、クライアントからよく聞かれる課題などあれば教えてください。

―― 渡瀬氏
「開発環境についてはやはりテレワーク移行のインパクトが大きいです。

私の参加している複数社が参加しているプロジェクトでは、「どのように円滑にコミュニケーションするか」という課題をよく耳にします。特に、業務に直接は影響しないけれど関係性構築に必要な雑談(オフィスワークでの立ち話のようなもの)に相当するものができず。困っているというような話が多いです。この問題意識は弊社でもよく話題に上っており、いろいろと試行錯誤しているところです」

Q.製造業に勤めているのですが、業界ごとの開発課題などがあればお聞きしたいです

―― 久野氏
「業界ごとという観点では、特別な開発課題はあまりありません。

業界によらず、AI開発において、一番問題になるのは、学習データをどうやって準備するのかという点になるかと思います。
弊社では、カメラやセンサーについて、PoCだけでなく運用まで想定してのご提案も行っておりますので、お気軽にご相談ください」

Q.共有サーバでのGPU管理はMaisonを使用すれば、競合は必ず起こらないのでしょうか?

―― 渡瀬氏
「Maisonに関しては競合を防ぐために2つの機能を実装しています。
(1) GPU予約機能
(2) コンテナ間のGPU分離機能

(1)に関しては会議室予約のように必要な人が必要なGPUリソースを事前に予約する仕組みです。
(2)についてはコンテナ起動時に利用するGPUを限定できる機能です。

例えばここでGPU0だけを指定すれば、たとえ物理的に複数枚のGPUを搭載していたとしてもコンテナ内からはGPU0以外にはアクセスできません。
これらの仕組みにより予期せぬ競合を防止することができます」

本ウェブセミナーの模様はアーカイブで視聴可能

さて、今回のウェブセミナーの模様は、アーカイブとして配信中だ。

下記のフォームに必要事項を記載すれば、動画視聴のURLが送付され視聴できるようになる。

AI開発において、実際のエンジニア側としても、システム管理者側としても、それぞれの視点から話が盛り上がっているため、今後AI開発に携わる方、現在携わっている方ならぜひとも見てほしい。