Amazon SageMaker は、すべての開発者やデータサイエンティストが機械学習 (ML) モデルを迅速に構築、トレーニング、デプロイできるようにする完全マネージド型サービスです。SageMaker は高品質モデルの開発を容易にするため、機械学習の各プロセスから負荷の大きな部分を取り除きます。
従来の ML 開発は複雑、高価で、繰り返しプロセスを一層困難なものにしていました。その理由は機械学習ワークフロー全体の総合ツールが存在しないためです。ツールとワークフローを一緒に結び付けて行く必要がありますが、これは時間のかかる、誤りの多いプロセスと言えます。SageMaker はこの課題を解決するために 1 つのツールセットで機械学習用に使用できる全コンポーネントを提供し、モデルを本番環境へ送り出すまでの時間を短縮して、手間と費用を大幅に抑えられるようにしました。
機械学習モデルの作成
Amazon SageMaker 限定
機械学習分野において初めて完全統合された開発環境 (IDE) である Amazon SageMaker Studio を使用して、生産性を改善しましょう
Amazon SageMaker Studio は単独のウェブベースビジュアルインターフェイスを装備し、そこではすべての ML 開発手順を実行できます。SageMaker Studio はモデルの構築、トレーニング、デプロイに必要な各ステップに対し、完全なアクセス、管理、可視性をもたらします。データのアップロード、新規ノートブックの作成、モデルのトレーニングと調整、ステップ間での移動などを迅速にこなし、さまざまな試みを調整したり、結果を比較したり、本番環境にモデルをデプロイするといった処理をすべて 1 箇所から実行でき、生産性を飛躍的に向上できます。ノートブック、試作管理、自動のモデル作成、デバッグ、モデルの変動検出など、すべての ML 開発手順は SageMaker Studio のビジュアルインターフェイスで実行できます。
ML 開発に IDE を使用しましょう。たとえば、ノートブックとトレーニング用の試作が横に並んだビューを使用して、ノートの中にあるモデルに更新をかけたり、変更がどのような影響をモデルの品質にもたらすかを確認したりすることができます。
Amazon SageMaker 限定
Amazon SageMaker Notebooks で構築と協業を加速
ノートブックを表示、実行、または共有するためのコンピューティングインスタンスの管理には手間がかかるものです。Amazon SageMaker ノートブックは、ワンクリックで素早くスピンアップができる Jupyter ノートブックです。基盤となるコンピューティングリソースは完全に伸縮自在であるため、使用可能なリソースの量を簡単に増減させることができ、変更は作業を中断することなくバックグラウンドで自動的に反映されます。SageMaker ではまた、1 度のクリックでノートブックを共有することもできます。ノートブックを他の人と簡単に共有できます。また、全員が同じ場所に保存された同じノートブックを入手できます。
SageMaker では他のユースケース向けに多数の事前構築型ノートブックを選択できます。また、AWS Marketplace で利用できる数百個ものアルゴリズムや事前トレーニングを施したモデルを取得してすぐに使い始めることもできます。
Amazon SageMaker 限定
Amazon SageMaker Autopilot を使用して、すべてを可視化し、コントロールしながら自動的にモデルを構築、トレーニングおよび調整します
Amazon SageMaker Autopilot は業界初の自動化された機械学習機能で、ユーザーは自分の ML モデルをすべてコントロールし、完全に可視化できます。自動化された機械学習の一般的なアプローチでは、モデルの作成に使用されたデータや、モデルの作成に関わった論理について詳しい情報を得ることはできません。その結果、モデルの出来がそこそこであったとしても、それを改善する手立てはありません。また、一般的な自動化 ML ソリューションでは、選択できるモデルが 1 種類しか提供されないことから、レイテンシーを抑えるために一部の精度を犠牲にするといった、トレードオフを行う柔軟性もありません。
SageMaker Autopilot は自動的に未加工のデータを検証し、機能プロセッサーを適用して、最適なアルゴリズムのセットを選出します。そして、複数のモデルをトレーニングおよび調整し、パフォーマンスを追跡、その後、パフォーマンスに基づいてモデルをランク付けします。これらすべての処理がわずか数クリックで実行できます。その結果、通常ではモデルのトレーニングに要するのと同程度のわずかな時間で、最高のパフォーマンスを備えたモデルをデプロイできます。モデルがどのように作成され、その中身が何かまで完全に見える化でき、SageMaker Autopilot は Amazon SageMaker Studio と統合します。SageMaker Studio 内で SageMaker Autopilot によって生成されたモデルを最高 50 種類まで試すことができるので、ユースケースに最適なモデルを簡単に選べます。SageMaker Autopilot はモデルを簡単に作成するために、機械学習の経験のないユーザーにも使用できるほか、経験を積んだ開発者が使用してすばやく基盤となるモデルを作成し、それをチームがさらに繰り返し使用することもできます。
自動的に機械学習モデルを作成し、ユーザーのユースケースに最適なものを選び出します。たとえば、各オプションがどのように機能するかを確認し、ユーザーのモデルの精度およびレイテンシーの要件を満たすモデルを選択するために、リーダーボードを検証します。
Amazon SageMaker 限定
Amazon SageMaker Ground Truth を使用して、データラべリングコストを最大 70% 削減
Machine Learning モデル構築の成功は、大量の高品質なトレーニングデータにかかっています。しかし、そのようなモデル構築に必要なトレーニングデータを作成するプロセスは、高価で複雑になり、時間がかかることがしばしばあります。Amazon SageMaker Ground Truth は高精度のトレーニングデータセットを迅速に構築して管理するのに役立ちます。Ground Truth は Amazon Mechanical Turk を通じてラベル作成者に簡単にアクセスできるようにするほか、一般的なラベル付けタスク用の組み込みワークフローとインターフェイスを提供しています。また、独自のラベル作成者を使用することも、AWS Marketplace を通じて Amazon が推奨したベンダーを使用することもできます。さらに、Ground Truth は高品質なラベルを作成するために人の作成したラベル付けを継続的に学習し、高品質な自動注釈を作成してラベル付けのコストを大幅に削減します。
70%
Amazon SageMaker が深層学習フレームワークのラべリングに対応
サポート対象のフレームワークとしては、TensorFlow、PyTorch、Apache MXNet、Chainer、Keras、Gluon、Horovod、Scikit-learn、および Deep Graph Library などがあります。
機械学習モデルのトレーニング
Amazon SageMaker 限定
Amazon SageMaker Experiments を使用してトレーニングの実行を調整、追跡および評価する
Amazon SageMaker Experiments は機械学習モデルへの繰り返し処理を調整および追跡するのに役立ちます。ML のトレーニングにはデータセット、アルゴリズムのバージョン、モデルのパラメータなどを変更する影響を切り離し、測定するために、通常、多くの繰り返し作業が生じます。こうした繰り返し作業中、モデル、トレーニングデータ、プラットフォームの構成、パラメータの設定、トレーニングメトリクスといった無数のアーティファクトを生成します。こうした試験的な作業を追跡するために、スプレッドシートのような面倒な手法が取られていることもよくあります。
SageMaker Experiments は入力パラメータ、構成、結果などを自動的に捕捉し、こうした内容を「実験結果」として保存することで、繰り返し作業を管理しやすくします。ユーザーは SageMaker Studio の視覚的なインターフェイス上で作業できます。ここでは、アクティブな実験結果を参照したり、性質別に前回の実験結果を検索したり、あるいは、その結果とともに前回の実験を検証、または実験結果を視覚的に比較できます。
Amazon SageMaker 限定
Amazon SageMaker Debugger を使用して機械学習の問題を分析、検出、および警告する
ML トレーニング処理は極めて不明瞭で、モデルをトレーニングするためにかかるには時間がかかり、最適化するのは困難です。その結果、モデルを解釈し、それについて説明するのが容易でないことはよくあります。Amazon SageMaker Debugger はモデルの精度を改善するために、トレーニングや評価、混同行列、学習勾配といったリアルタイムのメトリクスをトレーニング中に自動取得することで、トレーニング処理を明確化します。
SageMaker Debugger から取得したメトリクスは、容易に理解できるよう SageMaker Studio で見ることができます。SageMaker Debugger は一般的なトレーニングの問題が検出されたときに、警告や修復のアドバイスを生成することもできます。SageMaker Debugger を使用することで、どのようにモデルが動作し、モデルの説明に向けてどのような初期ステップを提示するか解釈できます。
異常を分析しデバッグします。たとえば、勾配の消失する可能性が検出された場合、ニューラルネットワークのトレーニングは停止されます。SageMaker Debugger は消失しそうな勾配を検出し、ユーザーはトレーニングに影響が及ぶ前に対処できます。
AWS はTensorFlow の実行に最適な場所です
AWS の TensorFlow 最適化は、数百の GPU 全体で線形に近いスケーリング効率を提供します。多くの処理オーバーヘッドを必要とせずクラウド規模で運用でき、はるかに短い時間でより正確かつより高度なモデルをトレーニングできます。
90%
トレーニングコストを 90% 抑制
Amazon SageMaker はトレーニングコストを最大で 90% 削減できるようマネージドスポットトレーニングを提供します。この機能は Amazon EC2 スポットインスタンスを使用します。これは、AWS コンピューティング性能を節約します。トレーニングジョブはコンピューティング性能に空きができた時点で自動的に実行され、空き状況の変化によって処理が中断しても復帰できるように作成されています。そのため、トレーニングジョブを実行するタイミングを柔軟に調整できるので、コストの削減が可能になります。
90%
機械学習モデルのデプロイ
ワンクリックデプロイ
Amazon SageMaker を本番稼働用環境に簡単にデプロイして、リアルタイムデータやバッチデータに対する予測の生成を開始できます。Amazon ML インスタンスは複数のアベイラビリティーゾーン間で自動スケーリングされます。お客様は、1 回クリックするだけで、この冗長性に優れたインスタンスにモデルをデプロイできます。インスタンスのタイプ、必要なインスタンスの最大数と最小数を指定すると、残りの手順は SageMaker によって自動的に実行されます。インスタンスの作成、モデルのデプロイ、アプリケーションと安全に通信するための HTTPS エンドポイントのセットアップも SageMaker によって自動的に行われます。アプリケーションではこのエンドポイントへの API コールを行うだけで、低レイテンシーで高スループットの推論が利用できます。このアーキテクチャでは、アプリケーションのコードに手を加えずにモデルを変更できるため、新規モデルをアプリケーションに簡単に統合できます。
Amazon SageMaker 限定
Amazon SageMaker Model Monitor で長期にわたりモデルの精度を保つ
Amazon SageMaker Model Monitor によって、開発者がコンセプトドリフトを検出し、修復できるようになります。今日、デプロイされたモデルの精度に影響を及ぼす可能性のある大きな要因のひとつは、予測の生成に使用されたデータが、モデルのトレーニングに使用されたデータと異なる場合です。たとえば、経済条件の変化は、新しい金利を動かす可能性があり、自宅購入予測に影響が及びます。これをコンセプトドリフトと呼び、これが生じると予測を作るためにモデルで使用されるパターンが適応しなくなります。SageMaker Model Monitor はデプロイ済みのモデルでコンセプトドリフトを検出し、問題の原因を特定するのに役立つ詳細なアラートを出します。SageMaker でトレーニングされたすべてのモデルは、SageMaker Studio で収集と表示が可能な主要メトリクスを出します。SageMaker Studio の中で、収集するデータや、その表示方法、アラートを受信するタイミングなどを構成できます。
本番環境のモデルを監視します。たとえば、重要なモデルの機能と要約の統計情報が掲載されたグラフを見て、長期にわたりそれらを監視し、トレーニングで使用された機能と比較します。モデルが本番環境で実行中に一部の機能が変化することがあります。これは、モデルへの再トレーニングの必要性を示しています。
Amazon SageMaker 限定
人のレビューを介して予測を評価
多くの機械学習アプリケーションでは、結果が正しいかどうかを確認するため、人間が信頼性の低い予測を確認する必要があります。しかし、ワークフローに人間による確認を盛り込むのは、時間がかかり、複雑なプロセスの請求は高価になりがちです。Amazon Augmented AI は、人による ML 予測のレビューに必要なワークフローを簡単に構築できるサービスです。Augmented AI は一般的な機械学習のユースケース用にビルトインの人間レビューワークフローを提供します。Amazon SageMaker で構築した ML モデル用に、独自のワークフローを作成することも可能です。Augmented AI を使用することで、モデルが信頼性の高い予測を作成できないときに、人間のレビューを介入させることができます。
オーケストレーションと管理に Kubernetes を統合
Kubernetes は、コンテナ化されたアプリケーションのデプロイ、スケーリング、管理を自動的に行うために使用されるオープンソースシステムです。多くのお客様が機械学習に Amazon SageMaker の完全なマネージド機能を使用したいと考えていますが、プラットフォームやインフラチームには、オーケストレーションとパイプラインの管理のために継続的に Kubernetes を使用するよう求めています。SageMaker を使用することで、ユーザーは Kubernetes のオペレーターとパイプラインを使用して SageMaker でモデルをトレーニングし、それらをデプロイできます。Kubernetes ユーザーは Kubeflow から SageMaker のすべての機能にネイティブにアクセスできます。
Amazon Elastic Inference で機械学習の推論コストを最大 75% 削減
多くの深層学習アプリケーションでは、トレーニングモデル (推論と呼ばれるプロセス) を使用した予測が、アプリケーションのコンピューティングコストで主要な要因となる可能性があります。フル GPU インスタンスはモデル推論で大きすぎる可能性があります。さらに、深層学習アプリケーションの GPU、CPU、メモリのニーズを最適化することは困難です。Amazon Elastic Inference は、コードを変更せずに任意の Amazon EC2 または Amazon SageMaker インスタンスタイプまたは Amazon ECS タスクに適切な量の GPU による推論アクセラレーションをアタッチできるようにすることで、これらの問題を解決します。Elastic Inference を使用すると、アプリケーションの全体的な CPU とメモリのニーズに最も適したインスタンスタイプを選択し、リソースを効率的に使用して推論実行コストを削減するために必要な推論アクセラレーションの程度を個別に設定できます。
75%
高パフォーマンスかつ低コストな推論をクラウドで実現
Amazon SageMaker を使うと、お客様はトレーニング済みの機械学習モデルの Amazon Inf1 インスタンスへのデプロイや、AWS Inferentia チップを使っての構築が可能です。このため、高パフォーマンスかつ低コストな推論が実現できます。Inf1 インスタンスで、画像認識、音声認識、自然言語処理、パーソナライズ、不正検知といった大規模な機械学習推論アプリケーションを実行することができます。Amazon SageMaker Neo を利用することで、トレーニング済みの機械学習モデルをコンパイルして Inf1 インスタンスで最適に実行できます。そのコンパイルされたモデルを Inf1 インスタンスに簡単にデプロイし、リアルタイム推論を行うことができます。





