Kaggle Masterのエンジニアと考える、企業におけるAI開発の“真の”課題と解決策企業の機械学習/AI開発を妨げる課題、解決策とは何か

企業における機械学習/AIの開発や導入の取り組みをスケールさせられるかどうかは、現場における課題への向き合い方にかかっている。Kaggle Masterの機械学習エンジニアとコンサルタントが、リアルな課題と解決策について語り合った。

» 2023年05月22日 10時00分 公開
[PR/@IT]
PR

 「ChatGPT」の登場で、これまで「AI(人工知能)は、うちとは無縁」と考えていた企業も、AIへの関心を持つようになってきた。一方で、機械学習/AIへの本格的な取り組みとなると、以前より「PoC(概念実証)疲れ」や「PoC止まり」が指摘されており、PoCを実施しても本番活用までに至らないといったケースは多い。

 取り組みが進まない理由としては、「コストがかかる」「人材、ノウハウ不足」が挙げられることが多いが、こうしたあいまいな話で納得している限り、前へ進むことはできない。デジタルトランスフォーメーション(DX)に欠かせない機械学習/AIを成功に導くには、現場における具体的な課題を認識し、対策を講じる必要がある。

 そこでKaggle Masterの機械学習エンジニアとコンサルタントの2人が、現場の課題とその解決法について話し合った。

機械学習技術の現場における課題は、GPU利用から始まる

画像 日本ヒューレット・パッカード Pointnext デリバリー統括本部 テクノロジーアーキテクト部 インフラ・機械学習エンジニアの杉山禎夫氏。データサイエンスのコンテストプラットフォーム「Kaggle」のKaggle Master。顧客企業と共に、ビジネスへの機械学習/AI活用を推進している。

杉山禎夫氏(以下、杉山) 機械学習/AIの現場で取り組んでいると、さまざまな課題を実感します。

 最も分かりやすい例でいうと、GPU利用の効率化は大きな課題です。機械学習/AIの取り組みが本格化し、複数の人が複数のGPUを使ってモデル構築を行うようになると、「ある人がGPUノードを独占して離さないので、他の人が使えない」といったことが起こるようになります。そもそも、どのGPUが空いているのか分からないこともあります。日時を指定して予約するといった運用で対処しているところもありますが、「GPU待ち」はどうしても発生し、モデル構築のスピードを落としてしまいます。

 コストの観点からも、高価なGPUリソースの利用の無駄を減らしたいという悩みは一般化しています。

 限られたGPUリソースを効率的に使えるようにするには、各人が計算処理をするときだけ自動的にアクセスでき、終われば開放するといった、リソーススケジューラーの仕組みが必要です。

 HPEのAIプラットフォーム「HPE Machine Learning Development Environment」(MLDE)が持つスケジューラーは、高度な機能を備えているので、私も便利に使っています。

画像 日本ヒューレット・パッカード HPC・Data&AIソリューション事業統括本部 AI & Advanced / HPC 第二プリセールス部 AI BDM/プリセールスコンサルタントの山口涼美氏。AI関連のビジネスデベロップメントとプリセールスを担当している

山口涼美氏(以下、山口) そうですね。MLDEのクラスタマネジメント機能は、GPUをリソースプール化して共有できるようにします。そしてスケジューリングを行うマスターノードが、実行するジョブに必要なGPUリソースを自動的に判断し、必要なワーカーノードを自動で立ち上げて割り当てます。ユーザーは、ジョブとしてコードと実験用設定を投げるだけで、複数の人やチームのジョブと合わせたスケジュールに調整されます。空いているGPUをフルにスケールしたり、限られたリソースをシェアできるため、柔軟で効率的な利用が可能です。

杉山 GPUクラスタの管理をMLDEがよろしくやってくれるので、分析に集中できるんですよね。

 それから、GPUは、新製品が半年や1年ごとに出てきます。そして世代によって搭載メモリの大きさが異なることがあります。機械学習の環境に複数世代のGPUが混在すると、学習で載せられるモデルの大きさが違うため、扱いにくくなります。MLDEは、世代ごとにリソースプールを分けることができます。これも非常に便利です。

チェックポイント機能で学習の中断・再開が面倒でなくなる

杉山 機械学習/AIの現場では、さらに根本的な課題があります。

 機械学習では再現性が求められます。このため、複数のデータサイエンティストが1つのプロジェクトでモデルの構築をするとなれば、各人がいつ、どのデータを使い、何をどう変更したかなどがきちんと記録できる仕組みが求められます。

 どのようなデータセットを使い、どのパラメーターをどう調整したかを記録し、追跡できるようにしなければなりません。機械学習のモデルを作る過程でデータセットや「Python」コードをきちんと記録し、後から容易に確認できる仕組みが必要です。

山口 そういうニーズに応え、モデル構築の生産性向上に直結するMLDEの便利な機能に、モデルのトラッキングがあります。

 通常、何らかの問題で学習が止まれば、それまでにかけた学習時間が無駄になります。一方MLDEでは、定期的にチェックポイントを設定して保存できます。そこで保存されたコンテナイメージを使えば、停止する前の任意のチェックポイントから学習を再開できます。

 時間のかかる学習を行う際に、より優先度の高いモデルの構築を先に行いたいケースもあります。トラッキング機能を使えば、走っている学習を止めて、優先するものに切り替えられます。優先する学習が終われば、以前の学習を止めた直前から再開できます。

杉山 ディープラーニングはいったん中断すると、途中から動かすのは結構難しくて、そのためにコーディングしておかなければばらない。そういうところの面倒を見てくれるのは大きなメリットです。

山口 クラウドでもモデルトラッキング機能は役に立ちます。この機能があれば、クラウドの都合でインスタンスが落ちてもそれまでの学習を無駄にせず再開できます。ですから、いつ落ちるか分からないけれど料金の低い「プリエンプティブルインスタンス」を積極的に使い、コストを下げられます。多くの企業では、オンプレミスとクラウドの両方のGPUリソースを使っていますが、検証などの軽めの処理はクラウドで、重めの処理は時間によりコストが増えないオンプレミスで行うようにする。このようなやり方で、70%のコスト削減を実現した例もあります。

ハイパーパラメーターチューニングの悩みを解決

山口 それから、モデル精度を上げるため、「ハイパーパラメーターチューニング」が行われます。「パラメーターを変え、学習作業を終えて、結果を検証する」というサイクルを繰り返すため、これには多くの時間がかかります。MLDEには「自動ハイパーパラメーター探索」という機能があり、ユーザーはモデルコードとハイパーパラメーターの範囲、使う手法などを指定してジョブを投入するだけで、自動でGPUリソースをアサインして並列的に最適解を見つけます。これによりチューニングにかかる時間と労力を大幅に削減できます。

杉山 アルゴリズムが優れていることも大切ですが、それでも出てきたチューニングの候補を全て最初から最後まで試していると、やはり時間がかかってしまいます。MLDEには、「これは使えないな」というチューニング候補を早い段階で排除できますよね。まず少量のデータセットで学習させ、その結果から見込みがないものを切り捨てて、使える可能性の高いものだけを採用できます。もう少し様子を見たい場合は、データセットを増やして再試行することも簡単です。こうして、データサイエンティストが思う通りの作業ができるのはうれしいです。

画像 HPE Machine Learning Development Environment(MLDE)

AI、機械学習の本番展開の運用までサポートできるHPE Ezmeral

杉山 モデル構築が終わると、アプリケーションに組み込んで本番環境で利用します。最近はコンテナ基盤を使うのが当たり前になっていますが、データサイエンティストにとって「Kubernetes」を扱うのは負担が大きいです。データサイエンティストは、とにかく本業に集中したい。運用やデータの管理に工数をかけたくないのが本音です。

吉岡 祐氏(以下、吉岡) そうですね。Kubernetesに手間と時間を取られるのでは本末転倒になりかねません。HPEは「HPE Ezmeral」(以下、Ezmeral)というKubernetesプラットフォームを提供しています。これを使えばデータサイエンティストは本来の仕事に集中できます。

 オープンソースのツールを組み合わせて利用するような手間はありませんし、アイコンをクリックするだけで簡単に管理できます。Kubernetesプラットフォーム製品は他にもありますが、Ezmeralはデータ分析に特化したオールインワンのパッケージになっています。データサイエンティストのためのコンテナ基盤と言ってもいいと思います。

画像 日本ヒューレット・パッカード クラウドサービス事業統括 ハイブリッドクラウドソリューション部 シニアコンサルタントの吉岡祐氏。データ、コンテナ基盤のコンサルティングを行っている

 Ezmeralには幾つかのコンポーネントがあります。「HPE Ezmeral Runtime Enterprise」はKubernetesベースのコンテナ管理プラットフォームで、アプリケーションのデプロイ、スケーリング、管理が可能です。「HPE Ezmeral MLOps」は、機械学習モデルの構築、トレーニング、デプロイを自動化し、分析のプロセスを容易に回せます。先ほど話に出ていたMLDEは学習フェーズの作業を効率化しますが、Ezmeralは本番フェーズで、GPUはもちろんクラウド、オンプレミスのリソース利用も効率化できます。

 また、モデル構築の際には、利用するデータをいかに容易に扱えるようにするかも重要です。学習に用いるデータには、構造化されたものだけではなく画像やログなど非構造化、半構造化といったさまざまなタイプがあります。それらをデータレイクに入れ、容易に解析できるようにする「HPE Ezmeral Data Fabric」(以下、Ezmeral Data Fabric)というコンポーネントもあります。データ管理と機械学習/AIが、手間なく、素早く、小さく始められるのがEzmeralの特長です。

画像 HPE Ezmeralソフトウェアプラットフォーム

杉山 Ezmeralと「HPE Swarm Learning」(以下、Swarm Learning)の技術を使い、データを外に出せない環境でも機械学習の価値が引き出せるのも、データセキュリティやコンプライアンスを担保しなければならないケースに役立ちますよね。例えば医療機関で、患者のデータを外に出すことはできない。とはいえ、1つの病院が持つデータだけでは十分な学習ができず、AIによる判定が難しい。このとき複数のエッジ環境にデータを分散させたまま、エッジごとに学習し、これを統合してセキュアにモデルを構築できます。

吉岡 エッジ間ではパラメーター情報のみが共有され、プライバシー保護の問題なども発生しません。このSwarm Learningは、HPEが開発した技術です。

杉山 まとめるとこういうことですね。機械学習/AIを本格的にビジネスに適用し活用するには、GPUリソースを最適化し、モデル構築の生産性を向上する取り組みと、機械学習で利用する膨大なデータを容易に管理する方法、そして本番でのモデルの運用効率化が必要です。こうした課題を解決するのがMLDEでありEzmeralだということですね。

吉岡 HPEではビジネスの中でAI、機械学習技術の価値を最大限に得られるようにするためのサービス、サポートも提供できます。本格的に機械学習/AIをビジネスに組み込み、変革を進めたいならば、ぜひ一度HPEに相談していただきたいと思います。



Copyright © ITmedia, Inc. All Rights Reserved.


提供:日本ヒューレット・パッカード合同会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2023年6月28日

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。