構築

オーサリングモデル用のマネージドノートブック

Amazon SageMaker は、データの吟味と前処理のトレーニング用に、Jupyter ノートブックを実行する完全にマネージされたインスタンスを提供します。これらのノートブックには、よく使われる深層学習プラットフォームに対応した CUDA および cuDNN ドライバー、Anaconda パッケージ、および TensorFlow、Apache MXNet、Chainer、PyTorch 用のライブラリがあらかじめロードされています。

クリックひとつだけで、よく使われる Jupyter オープンソースノートブックフォーマットを用いた、完全にマネージされた機械学習ノートブック環境にアクセスできます。

これらのノートブックワークスペースでは、データを吟味、可視化して、またほとんどすべてのよく使われるライブラリー、フレームワーク、インターフェイスを用いた再使用可能なワークフローで吟味結果を記録できます。ノートブックの内部から Amazon S3 にすでに保存済みの自身のデータを入れることができます。また AWS Glue を用いて、Amazon RDS、Amazon DynamoDB、Amazon Redshift からデータを簡単に S3 に移動して解析できます。自分自身のノートブックを書き込み、またはインポートでき、または Amazon SageMaker にあらかじめロードして構築してある多くのノートブックのひとつを使うこともできます。あらかじめ構築してあるノートブックは、組み込みの機械学習アルゴリズムのすべてに対してあります。さらに、ノートブックのテンプレートもあり、よく使われる ML アプリケーションや、さらに高度な Amazon SageMaker 機能を使い始めるときに役立ちます。

よく使われる ML アプリケーション用のテンプレート

高度な SageMaker 機能用のテンプレート

時系列予測

自分で構築した TensorFlow、MXNet、Chainer コンテナの持ち込み

的を絞ったダイレクトマーケティングを行う

ユーザー自身の scikit または R アルゴリズム、またはモデルを使う

顧客離れの予測

分散型トレーニングでのデータシャーディング

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

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

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

BlazingText Word2Vec BlazingText は、Word2Vec アルゴリズムを実装しており、スケーリングに対応し、大量の文書からの単語埋め込みの生成を高速化します。
DeepAR 再帰型ニューラルネットワーク (RNN) を使用して数多くの関連する時系列からパターンを学習することで、正確な予測を生成するアルゴリズムです。
因数分解機 データ量が非常に少ない場合でも、特徴の間の相互作用全てを推定することのできるモデルです。
購買ブーストツリー (XGBoost) これは Extreme Gradient Boosting、極度勾配ブースティングの略で、XGBoost は最適化された分散型勾配ブースティングライブラリーです。
画像分類 (ResNet) 画像分類システムの開発によく使われるニューラルネットワークです。
K 平均法クラスタリング ML アルゴリズムの最も単純なもののひとつです。ラベル付けのされていないデータ内でのグループの発見に使用します。

潜在的ディリクレ割り当て、Latent Dirichlet Allocation (LDA)

テキストファイル群の中にある主要なトピックを自動的に発見するのに適したモデルです。
線形学習機 (分類) 線形学習機は対象物の特徴を用いて、それの属する適切なグループを特定します。
線形学習機 (回帰) 線形回帰は 2 つの変数間にある線形関係の予測に使用されます。
ニューラルトピックモデリング (NTM) テキストと画像のデータベースからトピックを学習する、ニューラルネットワークに基づいたアプローチです。
主成分分析法 (PCA) このアルゴリズムはデータの前処理によく使われ、多くの特徴を持つ表または行列から、少数の代表的特徴を抽出します。
ランダムカットフォレスト 例外検出のための教師なし機械学習アルゴリズムです。
Seqence2Sequence テキストに対する汎用エンコーダー・デコーダーで、機械翻訳、テキスト要約などに使われます。
k-Nearest-Neighbor (kNN) アドレス分類、回帰問題に適したノンパラ目トリックモデルです。
オブジェクト検出
画像中の複数のオブジェクトを検出、分類し、その周りに境界ボックスを配置します。

これらのアルゴリズムは最適化され、従来のものに比べて最高 10 倍も高速化されています。弊社が取った手法のひとつは、これらのアルゴリズムが 1 度見たデータは 2 度と見なくても良いように実装したことです。従来の方法では、アルゴリズムはデータセット中を複数回元に戻って初めのデータを参照していました。データセットが小さい場合はこれでも良いのですが、大きなデータセットの場合はパフォーマンスが大きく影響を受けてトレーニングを大幅に遅くしてしまいます。1 度きりのパスとすることで、ペタバイト規模のデータセットでもコスト効果高くトレーニングができるようになりました。

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

Amazon SageMaker は TensorFlow、Apache MXNet、Chainer 、PyTorch を自動的に構成して最適化するため、これらのフレームワークの使用開始時には何もセットアップをする必要がありません。他の主要なフレームワークもこの数か月中に追加する予定です。しかし、Amazon EC2 Container Registry に格納されている Docker コンテナにフレームワークを組み込むことで、いつでも好きなフレームワークを Amazon SageMaker に組み込むことができます。

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

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

トレーニング

ワンクリックトレーニング

Amazon SageMaker でトレーニングの準備が整ったら、コンソールで Amazon S3 のデータの場所、ならびに必要な Amazon SageMaker ML インスタンスのタイプと数量を指定します。その後、1 回クリックするだけで、トレーニングを開始できます。Amazon SageMaker は分散型コンピュータークラスターをセットアップし、トレーニングを行い、結果を Amazon S3 に出力し、完了後クラスターを解体します。

Amazon SageMaker ではトレーニングモードも簡単です。S3 の中でのデータの場所を指定すると、Amazon SageMaker は、ユーザーのニーズに応じて構成され、ソフトウェアで定義されたネットワーク上に分離されたトレーニングクラスター上でお使いのアルゴリズムを実行します。高速で効率の高いトレーニング向けの P3 GPU インスタンスなどのインスタンスタイプを選択すると、Amazon SageMaker により Auto Scaling グループの中にユーザーのクラスターが作成され、各ノードに EBS ボリュームがアタッチされます。そしてデータパイプラインがセットアップされ、ユーザーの TensorFlow、MXNet、Chainer、PyTorch スクリプトや、Amazon のアルゴリズム、またはユーザーが自身のコンテナで提供するユーザーのアルゴリズムでトレーニングが開始されます。完了後、結果は S3 に出力され、クラスターは自動的に解体されます。

トレーニングを規模に合わせて行うため、S3 からのトレーニングデータがストリームされるかを最適化しました。API を通して、クラスターの各ノードにすべてのデータを送るか、Amazon SageMaker にユーザーのアルゴリズムのニーズに応じて各ノードにどのようにデータを分配するかを管理させるかを指定できます。

Amazon SageMaker で可能なトレーニングのスケーラビリティーは、組み込まれたアルゴリズムと相まって、トレーニング実行に要する時間とコストを劇的に削減します。

自動モデルチューニング

Amazon SageMaker は何千ものアルゴリズムパラメーターを調節してモデルを自動的にチューニングし、モデルが出し得る最も正確な予測に到達します。

モデルをさらに正確にチューニングする場合は、モデルに与えるデータ入力をを変更する (例えば数のログを取るなど)、アルゴリズムのパラメーターを調節するという 2 つの大きな手段を取ります。これらはハイパーパラメータと呼ばれ、適切な値を探し出すのは容易ではありません。通常はランダムなものから初めて、変更がどういう影響を与えるかを試行錯誤を重ねて調節します。モデルにいくつのハイパーパラメータがあるかによって、これには時間がかかることがあります。

この過程を簡単にするため、Amazon SageMaker ではトレーニング中のオプションとして、自動モデルチューニングを提供します。Amazon SageMaker では、実際に機械学習を使用して機械学習モデルをチューニングします。これはどのタイプのデータがどのようにモデルに影響を与えるかを学習し、この知識をモデルの多くのコピーに渡って適用して素早く最も良い結果を生み出します。開発者や科学者にとっては、このことはモデルに与えるデータの調節だけを考えておれば良く、トレーニング中に考慮すべき事項を大幅に減らせることを意味します。

自動モデルチューニングの開始時にユーザーが API を通じてトレーニングジョブの数を指定するだけで、残りの処理は Amazon SageMaker で行います。

デプロイ

1-Click デプロイ

Amazon ML インスタンスは複数のアベイラビリティーゾーン間で自動スケーリングされます。お客様は、1 回クリックするだけで、この冗長性に優れたインスタンスにモデルをデプロイできます。お客様がインスタンスのタイプ、必要なインスタンスの最大数と最小数を指定すると、残りの手順は自動的に実行されます。インスタンスの作成、モデルのデプロイ、アプリケーションと安全に通信するための HTTPS エンドポイントのセットアップも自動的に行われます。アプリケーションではこのエンドポイントへの API コールを行うだけで、低レイテンシーで高スループットの推論が利用できます。このアーキテクチャーではユーザーの新規モデルをアプリケーションミニッツに組み入れられるようになり、これはモデルの変更が、アプリケーションのコードの変更を必要としなくなるからです。

自動 A/B テスト

Amazon SageMaker はまたモデルの A/B テストも行えます。エンドポイントの設定で最大 5 つのモデルに渡ってトラフィックを分散し、各々が処理するインファレンスコールのパーセンテージを設定できます。これらはすべて操作しながら変更できますので、柔軟に実験ができ、どのモデルが実際の世界で最も正確な結果を生み出すかを決定できます。

自動スケーリングを備えた完全マネージド型のホスト

Amazon SageMaker はお客様に代わって本番コンピューターインフラを管理し、健全性チェックを行い、パッチを適用し、その他の日常的メンテナンスを行います。これらはすべて組み込みの Amazon CloudWatch モニタリングとロギングで行います。

バッチ変換

バッチ変換により、大小のバッチデータに対して予測を実行することができます。データセットを複数のチャンクに分けたりリアルタイムのエンドポイントを管理する必要はありません。シンプルな API を使って、多数のデータレコードの予測をリクエストし、そのデータを迅速かつ簡単に変換することができます。

 

Amazon SageMaker の料金の詳細について

料金ページを見る
始める準備はできましたか?
サインアップ
ご不明な点がおありですか?
お問い合わせ