Amazon SageMaker は、トレーニングデータのラベル付け、ノートブックへのアクセスと共有、組み込みのアルゴリズムとフレームワークの使用に必要なすべてを提供することで、機械学習 (ML) モデルの大規模な構築とトレーニングの準備を容易にします。

特徴

共同ノートブック体験

Amazon SageMaker Studio ノートブックは、ワンクリックで Jupyter ノートブックに伸縮自在なコンピューティングを提供し、素早くスピンアップできます。ノートブックには、機械学習ワークフローの実行または再作成に必要なすべてが含まれています。これは、Amazon SageMaker Studio に統合されています。ノートブックには、すべての一般的な CUDA および cuDNN ドライバー、Anaconda パッケージ、およびフレームワークライブラリがプリロードされています。

ノートブック環境では、データを探索して視覚化し、再利用可能なワークフローで結果をドキュメント化できます。ノートブックの内部から、保存済みの自分のデータを Amazon S3 で使用することができます。また AWS Glue を用いて、Amazon RDS、Amazon DynamoDB、Amazon Redshift からデータを簡単に S3 に移動して解析できます。

伸縮自在なノートブックがない場合、ノートブックを表示、実行、または共有するには、コンピューティングインスタンスをスピンアップしてノートブックに電力を供給する必要があります。さらにコンピューティング能力が必要な場合は、新しいインスタンスを起動し、ノートブックを転送して、古いインスタンスをシャットダウンする必要があります。また、ノートブックは通常、コンピューティングインスタンスに結合され、従来のノートブックはユーザーのワークステーションに存在するため、ノートブックを共有して簡単に共同作業を繰り返す方法はありません。

SageMaker Studio ノートブックはこれらの課題を克服します。古いインスタンスをシャットダウンして、新しいインスタンスで作業を再作成する時間が減ることはなくなりました。これにより、モデルの構築をより迅速に開始できます。

ノートブックを作成またはインポートしたり、さまざまなユースケースに合わせて SageMaker に付属している多数のビルド済みノートブックのいずれかを使用したりできます。起動すると、中断することなくコンピューティングリソース (GPU リソースを含む) を増減できます。また、状態は自動的に保存されるため、次回ノートブックに戻ったときに中断した場所を正確に把握できます。

SageMaker Studio ノートブックは、同僚とノートブックを簡単に共有できるため、結果を視覚化して再現できます。

ノートブック

精度の高いトレーニングデータセットの構築

Amazon SageMaker Ground Truth を利用すれば、機械学習を使用して高精度なトレーニングデータセットを短時間で構築し、データのラベル付けコストを最大で 70% 削減できます。機械学習モデルは、正しい判断を下す方法をモデルに教えるようにラベル付けされたデータを利用することで適切にトレーニングできます。このプロセスを完了させるには数か月かかることもよくあり、たくさんの人から構成される大規模なチームが必要になります。SageMaker Ground Truth はコストを削減し、複雑性を緩和する画期的なソリューションを提供します。また、「アクティブラーニング」という人的ラベル付けプロセスと機械学習を一緒にすることで、データのラベル付け精度が上がります。

仕組み

大規模な完全マネージド型のデータ処理

多くの場合、機械学習のデータ処理および分析ワークロードは、ビジネス要件の変化に応じて、割り当てや拡張が困難なセルフマネージド型のインフラストラクチャで実行されます。これを達成するためにさまざまなツールを使用するのは面倒なので、パフォーマンスが最適ではなくなり、資本や運用費用が増加します。Amazon SageMaker Processing は、SageMaker の使いやすさ、スケーラビリティ、信頼性を、データ処理ワークロードを大規模に実行する完全マネージド型のエクスペリエンスに拡張することにより、この課題を克服します。SageMaker Processing を使用すると、既存のストレージまたはファイルシステムのデータソースに接続し、ジョブの実行に必要なリソースをスピンアップし、出力を永続ストレージに保存し、ログとメトリックを提供できます。選択したフレームワークを使用して独自のコンテナを持ち込み、実行中のデータ処理および分析ワークロードを活用することもできます。

高パフォーマンスのアルゴリズムを組み込む

Amazon SageMaker は、速度、規模、精度が最適化された高性能でスケーラブルな機械学習アルゴリズムを提供し、ペタバイト規模のデータセットでトレーニングを実行できます。トレーニング中に正しい答えがわかる教師ありアルゴリズムから選択することができ、ミスをしたモデルに指示することができます。SageMaker には XGBoost などの教師ありアルゴリズムや、線形回帰、ロジスティック回帰または分類分けが組み込まれており、推奨と時系列予測の問題に対処できます。SageMaker にはまた k 平均法クラスタリングや主成分分析 (PCA) などの教師なし学習 (アルゴリズムが自分で正しい答えを選ぶ) のサポート機能もあり、購買行動に基づく顧客のグループ分けなどの問題を解決できます。

SageMaker では、最も一般的な Machine Learning アルゴリズムが自動的に利用可能になります。ユーザーはデータソースを指定するだけで、データセグメンテーションに k 平均法クラスタリング、因数分解機によるレコメンド、時系列予測、線形回帰、主成分分析、またはその他の多くのアルゴリズムを直ちに開始できます。

アルゴリズム 説明
BlazingText Word2Vec BlazingText は、Word2Vec アルゴリズムを実装しており、スケーリングに対応し、大量の文書からの単語埋め込みの生成を高速化します。
DeepAR 再帰型ニューラルネットワーク (RNN) を使用して数多くの関連する時系列からパターンを学習することで、正確な予測を生成するアルゴリズムです。
因数分解機 データ量が非常に少ない場合でも、特徴の間の相互作用すべてを推定することのできるモデルです。
購買ブーストツリー (XGBoost) これは Extreme Gradient Boosting、極度勾配ブースティングの略で、XGBoost は最適化された分散型勾配ブースティングライブラリです。
画像分類 (ResNet) 画像分類システムの開発によく使われるニューラルネットワークです。
IP Insights 悪意のあるユーザーを検出する、または IP アドレスの使用パターンを学習するアルゴリズムです。
K 平均法クラスタリング 最も単純な ML アルゴリズムの 1 つで、ラベルなしデータ内のグループを見つけるために使用されます。
K 近傍法 (k-NN) 分類および回帰ベースの問題を処理する索引ベースのアルゴリズムです。
潜在的ディリクレ割り当て、Latent Dirichlet Allocation (LDA) テキストファイル群の中にある主要なトピックを自動的に発見するのに適したモデルです。
線形学習機 (分類) 線形学習機は対象物の特徴を用いて、それの属する適切なグループを特定します。
線形学習機 (回帰) 線形回帰は 2 つの変数間にある線形関係の予測に使用されます。
ニューラルトピックモデリング (NTM) テキストと画像のデータベースからトピックを学習する、ニューラルネットワークに基づいたアプローチです。
Object2Vec 最近接を計算し、自然クラスターを視覚化する神経埋め込みアルゴリズムです。
オブジェクトの検出 画像中の複数のオブジェクトを検出、分類し、その周りに境界ボックスを配置します。
主成分分析法 (PCA) このアルゴリズムはデータの前処理によく使われ、表、行列、または多くの特徴を使用して、少数の代表的特徴を抽出します。
ランダムカットフォレスト 例外検出のための教師なし機械学習アルゴリズムです。
セマンティックセグメンテーション 画像を分割し、画像の個々のピクセルにラベルを割り当てることで関心領域を特定します。
Sequence2Sequence テキストに対する汎用エンコーダー・デコーダーで、機械言語の翻訳、テキスト要約などに使われます。

詳細 »

また、Docker コンテナを介して独自のフレームワークまたはアルゴリズムを使用するか、AWS Marketplace 内で利用可能なアルゴリズムや事前トレーニング済みモデルから選択することもできます。 

幅広いフレームワークをサポート

Amazon SageMaker は、TensorFlow、Apache MXNet、PyTorch、Chainer など、深層学習用の多くの一般的なフレームワークをサポートしています。これらのフレームワークは、自動的に構成され、高性能のために最適化されます。これらのフレームワークは手動でセットアップする必要がなく、組み込みのコンテナ内で使用できます。Amazon EC2 Container Registry に格納されている Docker コンテナにフレームワークを組み込めば、好きなフレームワークを SageMaker に組み込むことができます。

詳細 »

ローカルでテストとプロトタイプ作成を実行

Github では、オープンソースである Apache MXNetTensorFlow Docker コンテナを Amazon SageMaker で使用できるようになります。また、これらのコンテナをローカル環境にダウンロードしたり、スクリプトを SageMaker のトレーニング環境やホスト環境にデプロイする前に、SageMaker Python SDK を使用してそのスクリプトをテストしたりすることもできます。ローカルでのテストから本番環境でのトレーニングやホストに移行する際に必要なことは、コードを 1 行変更することのみです。 

強化学習

Amazon SageMaker は、従来の教師あり/教師なし学習に加え、強化学習をサポートします。SageMaker に、完全管理型の強化学習アルゴリズムが組み込まれました。これには学術文献における最新/最高のパフォーマンスがいくつか含まれています。SageMaker は、TensorFlow や MXNet など、複数のフレームワークで RL をサポートしています。また、Intel Coach や Ray RL など、強化学習のために一から設計された最新のフレームワークをサポートしています。2D と 3D のさまざまな物理シミュレーション環境がサポートされています。たとえば、オープンソースの OpenGym インターフェイスに基づく環境があります。さらに、SageMaker RL では、Amazon Sumerian や Amazon RoboMaker で構築された仮想 3D 環境を利用してトレーニングできます。SageMaker には、さまざまなノートブックやチュートリアルも用意されており、初めての人を支援します。

大半の機械学習は「教師あり」というカテゴリに属します。この手法では、ラベル付きトレーニングデータが大量に必要ですが、構築するモデルは高度な決定を下すことが可能です。コンピュータビジョン、スピーチ、言語のモデルでは一般的な手法です。別の一般的な Machine Learning に「教師なし」という分類があります。こちらはあまり使われません。「教師なし」のアルゴリズムでは、ラベルのないデータの中に隠された構造の特定が試行されます。「教師なし」モデルの場合、トレーニングの制約がずいぶん軽くなりますが、その分、モデルが下せる決定の高度性が低くなります。「教師なし」モデルは多くの場合、データの異常性を特定するために使用されます。たとえば、温度の異常な変化やネットワーク侵入の兆候などです。

強化学習 (RL) は補足的な第 3 の機械学習手法です。RL では、非常に異なる手法でモデルがトレーニングされます。この手法では、ラベル付きトレーニングデータは実質的には必要ではありませんが、それでも人間レベルの高度性に達します (それを超えることもあります)。RL の最も優れた点は、1 つの決定を下すのではなく、複合的な一連の動作をモデル化することを学習し、目標とする成果に到達できることです。RL の現在、最も一般的な応用は、目的地まで誘導する自動車両のトレーニングです。

RL の仕組みを理解する簡単な方法は、キャラクターが迷路を移動しながら敵を避け、旗を集める単純なビデオゲームを想像することです。人間の代わりにアルゴリズムがそのキャラクターを操作し、大量のゲームをプレイします。ゲームを始めるためにアルゴリズムが知るべきことは、キャラクターが上下左右に動けることと点を入れることで報酬を得ることだけです。その後、アルゴリズムは可能な限り高い得点を出す方法を学習します。得点を増やし (旗を拾うことやボーナスを活用することなど)、ペナルティを最小に抑える (敵の攻撃を受けることなど) 動作を学習します。 時間の経過と共に、RL アルゴリズムは迷路の下の部分を最初に片付けるなど、ゲームを支配するための高度な戦略を、パワーアップの使い方と使うタイミングを、敵の動作を逆手に取る方法を学習します。

RL は従来の機械学習手法の力を倍増させる存在になりえます。たとえば、RL と「教師あり」学習を組み合わせることで、医療で個人向け養生計画を作成したり、製造サプライチェーンを最適化したり、自動車両を走らせたり、ロボットを安全に操作したり、さらには生徒一人ひとりのために授業/学習計画を作成したりしています。

リソース

機械学習モデルを構築するためのステップバイステップガイド

Amazon SageMaker で ML モデルを構築する方法を学びます。

Amazon SageMaker サンプルノートブック

GitHub で、サンプル Amazon SageMaker ノートブックの豊富なリポジトリにアクセスできます。

安全な機械学習環境を構築する
 
Amazon SageMaker のセキュリティ機能を調べる