Amazon SageMaker Debugger

トレーニングメトリックとシステムリソースをリアルタイムで監視して ML モデルを最適化する

Amazon SageMaker Debugger を使用すれば、回帰中のデータ損失などのトレーニングメトリックをリアルタイムでとらえ、異常が検出されたときにアラートを送信することで、機械学習 (ML) モデルを簡単に最適化できます。これにより、画像を誤って識別するなどの不正確なモデル予測を即座に修正できます。SageMaker Debugger は、必要な精度を達成すると、トレーニングプロセスを自動的に停止するため、ML モデルのトレーニングにかかる時間とコストを節約します。

新着 Amazon SageMaker Debugger は、システムリソースの使用率を自動的にプロファイリングおよび監視し、CPU の使用率が高い場合など、リソースのボトルネックが特定されたときにアラートを送信することで、モデルのトレーニングを高速化できるようになりました。Amazon SageMaker Studio 内のトレーニング中に、CPU、GPU、ネットワーク、メモリなどのシステムリソースを視覚的に監視およびプロファイリングできるため、リソースの使用率を継続的に向上させることができます。SageMaker Debugger は、システムリソースの使用状況をトレーニングジョブのさまざまな段階やトレーニング中の特定の時点に関連付けます。また、リソースの使用率を調整して効率を最大化するためにリソースを再度割り当てする方法に関する推奨事項を提供します。監視とプロファイリングにより、トレーニングスクリプトのコードを変更することなく、PyTorch や TensorFlow を含むすべての主要な深層学習フレームワークで動作します。システムリソースの監視とプロファイリングはリアルタイムで行われるため、ML モデルをより迅速かつ大規模に最適化することができます。

自動検出、分析、およびアラート

Amazon SageMaker Debugger は、勾配値が大きくなりすぎたり小さすぎたりするなどの一般的なトレーニングエラーを自動的に検出して修正するよう警告することで、トレーニング中のトラブルシューティングに数日かかっていたものを数分に短縮できます。アラートは、Amazon SageMaker Studio で表示するか、Amazon CloudWatch を介して設定できます。さらに、SageMaker Debugger SDK を使用すれば、データサンプリング、ハイパーパラメータ値、範囲外の値など、モデルの固有エラーの新しいクラスを自動的に検出できます。

監視とプロファイリング

Amazon SageMaker Debugger は、GPU、CPU、ネットワーク、メモリなどのシステムリソースの使用率を自動的に監視し、トレーニングジョブのプロファイルを作成して、詳細な ML フレームワークメトリックを収集します。SageMaker Studio を使用して、すべてのリソースメトリックを目視で検査できます。リソース使用率の異常は、CPU の使用率が高いなどのボトルネックを識別するための特定の操作に関連付けられているため、迅速に修正措置を講じることができます。さらに、詳細なレポートをダウンロードしてオフラインで分析することもできます。トレーニングの実行は、トレーニングジョブの開始時、またはトレーニングを進行している任意の時点でプロファイリングできます。

組み込みの分析機能

Amazon SageMaker Debugger には、入力、出力、テンソルと呼ばれる変換など、トレーニング中に放出されたデータを自動的に分析する分析機能が組み込まれています。その結果、モデルが過剰適合か過剰トレーニングの状態であるか、勾配が大きすぎるか小さすぎるか、GPU リソースが十分に活用されていないかなど、トレーニング中のその他のボトルネックを検出できます。SageMaker Debugger を使用すれば、独自のカスタム条件を作成して、トレーニングジョブの特定の動作をテストすることもできます。これらの条件は、トレーニングジョブの停止や SMS または電子メール送信などのアクションを呼び出す可能性があります。トレーニングジョブを早期に停止すると、次善モデルのトレーニングコストを削減して、より優れたプロトタイプを迅速に開発できます。

ML アルゴリズムと DL フレームワークにわたる幅広いサポート

Amazon SageMaker Debugger は、TensorFlow、PyTorch、Apache MXNet、Keras、XGBoost などの ML フレームワークをサポートしています。これらのフレームワーク用の SageMaker の組み込みコンテナには、SageMaker Debugger が予めインストールされているため、トレーニングスクリプトを簡単に監視、プロファイリング、デバッグできます。SageMaker Debugger は、デフォルトで、各リソースを個別に監視するための追加コードを記述せずに、トレーニング中のシステムハードウェアの使用率と損失を監視します。

AWS Lambda との統合

Amazon SageMaker Debugger は AWS Lambda と統合されているため、アラートの結果に基づいて行動できます。たとえば、AWS Lambda 関数では、時間の経過とともに損失が減少するのではなく継続的に増加するなど、非収束アクションが検出されたときに、トレーニングジョブを自動的に停止できます。AWS Lambda は、トレーニングジョブを停止する通知を提供する目的で、ML の開発とトレーニングの初期段階でコストを削減するため、望ましい結果を得ることができます。

お客様

Mobileye は、運転者の支援と自律走行車に関するテクノロジー分野を率いる世界的リーダーであり、Mobileye テクノロジーを搭載した 6,000 万台以上の車両を擁しています。

「Mobileye (正式名称: Mobileye, an Intel Company) で開発した運転者の支援と自律走行車に関するテクノロジーの多くは、深層ニューラルネットワークモデルのトレーニングによって、車両、歩行者、スピードバンプ、道路標識など、さまざまな道路のアーティファクトを検出しています。多くの場合、これらのモデルは、非常に大きなデータセットと複数のマシンを使って、最大数日もかかるトレーニングを行います。Mobileye では、ネットワーク、CPU、GPU リソース全体のデータの流れを分析し、パフォーマンスの問題を特定するために、高度なパフォーマンスプロファイリング機能のツールキットを用意する必要があります。Amazon SageMaker Debugger のプロファイリング機能はまさにそれを提供しています。少数の専門家領域からパフォーマンスプロファイリングを取り除いて、アルゴリズムデベロッパーがトレーニングリソースの使用率を最大化し、モデルの収束を加速して、コストを削減できるようにします」

Chaim Rand、ML アルゴリズムデベロッパー - Mobileye, an Intel company

Autodesk は、3D 設計、エンジニアリング、およびエンターテインメントソフトウェア分野の世界的リーダーです。同社は、ユーザーが創造性を引き出して設計上の課題を解決し、アイデアを現実に変えるよう、手助けをします。

「Autodesk では、機械学習を活用して設計および製造ソリューションを強化し、お客様の創造性における自由度を高めています。機械学習を使用して、類似した視覚的特性を持つ結果を識別してグループ化し、最適なオプションを簡単に見つけられるようにする新しいフィルターを開発しました。Amazon SageMaker Debugger を使用すれば、フィードバックループを閉じて、データサイエンティストの貴重な時間を節約し、トレーニング時間を 75% 以上短縮することで、このモデルをさらに効率的に繰り返すことができます」

Alexander Carlson、ML エンジニア - Autodesk

Change Healthcare は業界トップの独立系ヘルスケアテクノロジー企業です。米国の医療システム内において、臨床、財務、患者とのつながりの面などで、より良い成果を得るための、データおよび分析主導のソリューションを提供しています。

「Change Healthcare は、医療提供者と継続的に協力して、医療分野の請求を処理する際の非効率性を取り除きます。医療提供者からラベルが判読できない請求フォームを受け取ることがよくあります。これらのフォームを手動で修正すると、請求を解決するプロセスに時間とコストがかかります。このプロセスに役立つよう、ラベルを重ね合わせる多層深層学習モデルを開発しました。Amazon SageMaker Debugger は、反復作業を迅速に行い、モデルの精度を向上させる場合に役に立ちます。SageMaker Debugger を使用すると、テンソルに関する洞察を得より深めることができます。また、復元力のあるモデルトレーニングを実現し、リアルタイムでの不整合の検出を支援し、モデルのパラメータを調整して精度を高めることができます」

Jayant Thomas、シニアディレクター、AI エンジニアリング - Change Healthcare

Amazon SageMaker Debugger の使用を開始する