Amazon SageMaker は、すべての開発者やデータサイエンティストが機械学習 (ML) モデルを迅速に構築、トレーニング、デプロイできるようにする完全マネージド型サービスです。SageMaker は高品質モデルの開発を容易にするため、機械学習の各プロセスから負荷の大きな部分を取り除きます。
従来の ML 開発は複雑、高価で、繰り返しプロセスを一層困難なものにしていました。その理由は機械学習ワークフロー全体の総合ツールが存在しないためです。ツールとワークフローを一緒に結び付けて行く必要がありますが、これは時間のかかる、誤りの多いプロセスと言えます。SageMaker はこの課題を解決するために 1 つのツールセットで機械学習用に使用できる全コンポーネントを提供し、モデルを本番環境へ送り出すまでの時間を短縮して、手間と費用を大幅に抑えられるようにしました。
機械学習モデルの構築
Amazon SageMaker Ground Truth を使用して、データラべリングコストを最大 70% 削減
Amazon SageMaker Ground Truth は高精度のトレーニングデータセットを迅速に構築して管理するのに役立ちます。Ground Truth は Amazon Mechanical Turk を通じてラベル作成者に簡単にアクセスできるようにするほか、一般的なラベル付けタスク用の組み込みワークフローとインターフェイスを提供しています。また、独自のラベル作成者を使用することも、AWS Marketplace を通じて Amazon が推奨したベンダーを使用することもできます。さらに、Ground Truth は高品質なラベルを作成するために人の作成したラベル付けを継続的に学習し、高品質な自動注釈を作成してラベル付けのコストを大幅に削減します。
1 つのウェブインターフェイスを使ってモデルを構築する
Amazon SageMaker は、ノートブックへのアクセスと共有、組み込みのアルゴリズムとフレームワークの使用に必要なすべてを提供することで、機械学習 (ML) モデルの大規模な構築とトレーニングの準備を容易にします。Amazon SageMaker Studio は機械学習のための初の完全統合開発環境 (IDE) を提供します。データのアップロード、新規ノートブックの作成、モデルのトレーニングと調整、ステップ間での移動などを迅速にこなし、さまざまな試みを調整したり、結果を比較したり、本番環境にモデルをデプロイするといった処理をすべて 1 箇所から実行できます。Amazon SageMaker Autopilot を SageMaker Studio と一緒に使用すると、モデルを自動的に生成できます。SageMaker Autopilot は業界初の自動化された機械学習機能で、ユーザーは自分の ML モデルをすべてコントロールし、完全に可視化できます。SageMaker Autopilot は自動的に未加工のデータを検証し、機能プロセッサーを適用して、最適なアルゴリズムのセットを選出します。そして、複数のモデルをトレーニングおよび調整し、パフォーマンスを追跡、その後、モデルをランク付けします。これらすべての処理がわずか数クリックで実行できます。
Amazon SageMaker ノートブックは、ワンクリックで共有できる Jupyter ノートブックに素早くスピンアップできます。SageMaker 内の数十のビルド済みノートブック、または AWS Marketplace 内で利用できる数百のアルゴリズムと事前トレーニング済みモデルから選択することもできます。
Amazon SageMaker が深層学習フレームワークのラべリングに対応
開始方法ブログ ラベル付けワークフローに向けて独自のモデルを用意する | Amazon SageMaker Studio: 機械学習用の初の完全統合開発環境 | 独自の MXNet または TensorFlow モデルを持参 | Amazon SageMaker Autopilot を使用して高品質の機械学習モデルを自動的に作成 | その場で機械学習インスタンスを選択する
GitHub の演習を試す サンプルノートブック | SageMaker アルゴリズム | SageMaker 処理 | Ground Truth を使用したラベル付け
機械学習モデルのトレーニング
Amazon SageMaker は、モデルの調整とデバッグ、トレーニング実験の実行に必要なすべてを提供することで、機械学習 (ML) モデルのトレーニングを容易にします。
Amazon SageMaker Experiments は入力パラメータ、構成、結果などを自動的に捕捉し、こうした内容を「実験結果」として保存することで、繰り返し作業を管理しやすくします。ユーザーは SageMaker Studio の視覚的なインターフェイス上で作業できます。ここでは、アクティブな実験結果を参照したり、性質別に前回の実験結果を検索したり、あるいは、その結果とともに前回の実験を検証、または実験結果を視覚的に比較できます。
Amazon SageMaker Debugger はモデルの精度を改善するために、トレーニングや評価、混同行列、学習勾配といったリアルタイムのメトリクスをトレーニング中に自動取得することで、トレーニング処理を明確化します。SageMaker Debugger から取得したメトリクスは、容易に理解できるよう SageMaker Studio で見ることができます。SageMaker Debugger は一般的なトレーニングの問題が検出されたときに、警告や修復のアドバイスを生成することもできます。
マネージドスポットトレーニングを使用すると、機械学習モデルのトレーニングコストを最大 90% 削減できます。マネージドスポットトレーニングでは、EC2 スポットインスタンスを使用するため、Amazon EC2 オンデマンドインスタンスの場合と比較してトレーニングジョブを大幅に低いコストで実行できます。
開始方法ブログ Amazon SageMaker デバッガー – 機械学習モデルをデバッグする | Amazon SageMaker Experiments – 機械学習実験を管理、追跡、比較する | Amazon SageMaker デバッガーによる機械学習の説明可能性 | 分散型 TensorFlow トレーニングを実行する
GitHub 演習を試す ハイパーパラメータモデルの調整 | SageMaker デバッガー
機械学習モデルのデプロイ
Amazon SageMaker は、機械学習モデルを本番環境にデプロイし、モデルの品質をモニタリングするために必要なすべてを提供することにより、予測の生成を容易にします。
Amazon SageMaker Model Monitor によって、コンセプトドリフトを検出し、修復できるようになります。今日、デプロイされたモデルの精度に影響を及ぼす可能性のある大きな要因のひとつは、予測の生成に使用されたデータが、モデルのトレーニングに使用されたデータと異なる場合です。たとえば、経済条件の変化は、新しい金利を動かす可能性があり、自宅購入予測に影響が及びます。これをコンセプトドリフトと呼び、これが生じると予測を作るためにモデルで使用されるパターンが適応しなくなります。SageMaker Model Monitor はデプロイ済みのモデルでコンセプトドリフトを検出し、問題の原因を特定するのに役立つ詳細なアラートを出します。SageMaker でトレーニングされたすべてのモデルは、SageMaker Studio で収集と表示が可能な主要メトリクスを出します。SageMaker Studio の中で、収集するデータや、その表示方法、アラートを受信するタイミングなどを構成できます。
多くの機械学習アプリケーションでは、結果が正しいかどうかを確認するため、人間が信頼性の低い予測を確認する必要があります。Amazon Augmented AI は、人による ML 予測のレビューに必要なワークフローを簡単に構築できるサービスです。Amazon Augmented AI を使用して、Amazon SageMaker で構築した ML モデル用に、独自のワークフローを作成することも可能です。
モデルがデプロイされたら、Amazon Elastic Inference を使用してインフラストラクチャの使用を最適化できます。Elastic Inference により、適切な量の GPU による推論アクセラレーションを Amazon SageMaker のあらゆるインスタンスタイプにアタッチできます。
開始方法ブログ PyTorch モデルの機械学習推論コストの削減 | モデルの再トレーニングとデプロイの自動化 | Amazon SageMaker モデルモニター – 機械学習モデルのフルマネージド型自動モニタリング | Kubernetes での機械学習推論の簡素化
GitHub 演習を試す カスタムモデルのデプロイを自動化する | SageMaker モデルモニター