[速報] 機械学習(ML)トレーニング環境の最適化のために!Amazon SageMaker Debuggerにプロファイラ機能(Deep Profiling)が登場しました! #reinvent

2020.12.09

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

現在開催中の AWS re:Invent 2020。3番目のキーノートである Machine Learning Keynoteにおいて、Deep Profiling for SageMaker Debuggerが発表されました!

例えばGo言語におけるpprofのような、アプリケーションのプロファイラと同じような役割をするものという理解で良さそうです。

(AWSの記事より転載)

こちらは独立した新機能というより、昨年発表されたAmazon SageMaker Debuggerの追加機能となります。本日より利用可能となっています!

とはいえ発表されたばかりで情報が少ないのですが、AWSの発表からキーワードを拾ってみましょう。
(訳文はDeepL翻訳の結果をもとに加筆修正したものです)

  • 機械学習モデルのプロファイリング機能。ハードウェアリソースの使用量に起因するトレーニング問題の特定と修正を容易にする
    • CPU と GPU
    • メモリ(RAM ・ GPU RAM)
    • Network I/O
    • ストレージ I/O
    • Python metrics
    • データローディング時間
    • CPU・GPUのML実行時間
    • Horovodによる分散トレーニングのメトリクス
    • その他
  • トレーニングスクリプト内のML操作とリソースの使用状況を関連付けることができる
    • さまざまなフェーズでどのくらいの時間が費やされているか
      • 前処理、トレーニングループ、後処理など
  • TensorFlow 2.xとPyTorch 1.xで利用可能
  • 分散トレーニングのサポート済み
  • メトリクスの収集間隔は100ms、200ms、500ms、1秒、5秒、1分ごとのいずれかに設定可能
    • デフォルトは500ms
  • これらのメトリクスを SageMaker Studioで簡単に可視化

上述したドキュメントには上に貼ったスクリーンショットの他、サンプルコードなどもありますので、興味のある方は是非ご一読ください!

AWS re:Invent 2020 は現在絶賛開催中です!

参加がまだの方は、この機会に是非こちらのリンクからレジストレーションして豊富なコンテンツを楽しみましょう!

AWS re:Invent | Amazon Web Services