[速報] モデルのデバッグをできる Amazon SageMaker Debugger が発表されました!! #reinvent

[速報] モデルのデバッグをできる Amazon SageMaker Debugger が発表されました!! #reinvent

Clock Icon2019.12.04

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、中川です。

Keynote1 日目で Amazon SageMaker Debugger が発表されました。
Amazon SageMaker Debugger – Debug Your Machine Learning Models

Amazon SageMaker Debuggerとは

既存の TensorFlow、Keras、Apache MXNet、PyTorch、XGBoost の既存のトレーニングコードに対して、SageMaker Debugger SDK を使用して、定期的な間隔で内部モデルの状態を S3 に保存します。

状態は以下で構成されています。

  • モデルによって学習されているパラメータ
    • ニューラルネットワークの重みやバイアス
  • オプティマイザーによって適用される変更(勾配)
  • 最適化パラメータ
  • 精度や損失時のスカラー値
  • 各レイヤーの出力など

重み、勾配などのコレクションはテンソルに組織され、トレーニング中に使用するテンソルを決定します。SageMaker SDK とその見積もりツールを使用すると、通常と同じようにトレーニングジョブを構成し、SageMaker Debugger に適用するルールを定義する追加のパラメーターを渡せます。ルールとは、トレーニング中モデルのテンソルを分析し、特定の不要な条件を探す Python コードの一部で、勾配の爆発や消滅、変化しない損失などの一般的な問題に対して使用できます。
ルールごとにデバッグジョブが起動され、利用可能なテンソルの検査が開始され、問題を検出すると、デバッグジョブは停止し、追加情報を記録されます。また、CloudWatch Events にイベントも送信されるので、追加の自動化も可能です。

さいごに

Amazon SageMaker Debugger は、Tensorflow などの Framework での学習時にログに出てくるメトリクスを自動で SageMaker が収集してくれます。メトリクスの定義を正規表現で書く必要がなくなるので、勾配が消失する問題が改善されそうです!

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.