重要性が高まりつつある課題: ディープラーニング推論のスケーリング

同カテゴリーの次の記事

ハイパフォーマンス・コンピューティングがスマートシティーの可能性を開く

この記事は、インテル® IT Peer Network に公開されている「Growing Pains: Scaling Deep Learning Inference」の日本語参考訳です。


ディープ・ニューラル・ネットワークを効率良くトレーニングすることは 1 つの課題ですが、顧客の要求に対応しつつパフォーマンスと費用対効果の両方に優れた方法でデプロイすることも困難な課題です。インテルは、高度に最適化されたソフトウェア・スタックとディープラーニング対応のハードウェアを組み合わせることでこの課題に対応します。

マシンラーニング分野における課題には興味深い変化が見られます。マシンラーニングは、適切なデータ管理とモデル・トレーニングの方法が明らかになり、急速にユーザーベースを拡大しています。ユーザーグラフが垂直に増加することは素晴らしいことですが、成功には新たな課題がつきものです。

ディープラーニング・ベースの製品には多くの計算が要求されます。ユーザーの需要が高まるにつれて、既存のソフトウェアとハードウェア・フレームワークではすぐに対応できなくなる可能性があります。推論のコストだけでなく、推論をスムーズにスケールするために必要なエンジニアの労力も急速に増加します。さらに、プロダクション環境でモデルの動作を監視するという課題もあります。これらの課題は、機能を追加したり、モデルを改善するといった、本来の作業の妨げとなります。

推論 ≠ トレーニング

モデルをプロダクション環境に投入する際によくある質問の 1 つは、ハードウェアの選択に関するものです。通常、マシンラーニングのチームとソフトウェア・スタックは、モデルのトレーニング中に生じるニーズによって形成され、多くの場合 GPU などのアクセラレーター向けに最適化されます。CPU が推論に適していると聞き、アクセラレーター向けに最適化されたソフトウェア・スタックを使用してベンチマークを実行し、期待外れの結果になることはよくあります。実際に CPU は推論に適しているのでしょうか? もちろんです。ただし、適切なハードウェアとソフトウェアの組み合わせが必要になります。

CPU 推論のデプロイメントの成功例には、皆さんもおそらく聞いたことがある多くの企業が含まれています。Facebook* (英語) は、推論に CPU を使用して 20 億人のユーザーにカスタマイズされたニュースフィードを提供しています。Montefiore Medical Center (英語) は、PALM (Patient-centered Analytical Machine Learning: 患者中心の分析マシンラーニング) AI プラットフォームにインテル® Xeon® スケーラブル・プロセッサー・ベースのシステムを採用しており、Philips* (英語) は、インテル® Xeon® スケーラブル・プロセッサーを使用して、アクセラレーターを使用せずに患者のレントゲンと CT スキャンの推論を行っています。重要なことは、インテル® Distribution of OpenVINO™ ツールキットは、トレーニング済みモデルをインテル® ハードウェア上で高速に実行できるように最適化するのを支援します。デプロイメントが変わっても、トレーニングのパイプラインには全く影響がありません。

大規模な推論

推論ワークロードについて心配するほどマシンラーニングで十分な成功を収めている場合、もはや需要に対応するため手動で新しいコアやインスタンスを割り当てる段階は過ぎています。幸いなことに、製品は異なっても、大規模なデプロイメントと監視を設計する際に直面するほとんどの問題は、すべてのマシンラーニングに共通です。

マシンラーニング・エンジニア達は、スムーズなデプロイメント、容易なスケーリング、信頼性の高い監視を可能にする方法で、ディープ・ニューラル・ネットワークをデプロイするベスト・プラクティスをすでに確立し始めています。これは、DevOps にインスピレーションを受けて「MLOps」とも呼ばれています。

インテルでは、MLOps 向けの主要ソフトウェア・フレームワークをインテルの推論ライブラリーと統合する最適な方法を特定し、推論を高速化する新しい命令が追加された最新のインテル® Xeon® プロセッサーと組み合わせて、人工知能向け向けインテル® Select ソリューションを作成しました。

このソリューションは、便利な Docker* コンテナーにパッケージ化された、ハイパフォーマンスな統合型オープンソース・ソフトウェア・スタックである Deep Learning Reference Stack (DLRS) を中心に構築されています。DLRS は、必要なライブラリーとソフトウェア・コンポーネントの事前検証および設定済みのコレクションであるため、プロダクション AI 環境で複数のソフトウェア・コンポーネントを統合するのに伴う複雑さを軽減します。

スタックには、TensorFlow* (英語) と PyTorch* (英語) 向けに高度にチューニングされたコンテナーに加えて、インテル® Distribution of OpenVINO™ ツールキット (TensorFlow* または PyTorch* でトレーニングされたモデルの推論を高速化するライブラリー) が含まれています。また、ダウンタイムなしでモデルの新しいバージョンをスムーズにデプロイできるように Kubeflow も含まれています。人工知能向け向けインテル® Select ソリューションは、Seldon Core を使用して推論パイプラインの管理、サーバー間の推論要求のスピードアップ、モデルの予期しない動作の監視を支援します。

複雑さの軽減

正確でベンチマーク済みのソフトウェアとハードウェア要素を提供する人工知能向け向けインテル® Select ソリューションを利用することで、独自に個々のコンポーネントをチューニングしてデプロイするよりも、はるかに容易に商用デプロイメントを行うことができます。すでにこの利点を得ている顧客もいます。最近、大規模な小売業者は、エッジでの推論ワークロード向けのワークロード固有の GPU プラットフォームを人工知能向け向けインテル® Select ソリューションに置き換えることで、店舗運営、関連ワークフロー、製品コンバージョンの最適化に成功しました。

インテルと緊密に協力して、厳密にテストされたソリューションを導入することで、市場投入期間を短縮し、チームが新機能の開発に集中できるようになります。インテルのソリューションは、低レイテンシーで高スループットのディープラーニング推論に優れており、推論アクセラレーターよりも TCO が低く、マシンラーニングの変革に応じて異なるデプロイメント・モデルや新しい手法を可能にする移植性と柔軟性を提供します。詳細は、ソリューションの概要 (英語) とインテル® Select ソリューションの製品ページを参照してください。

関連記事