Amazon SageMaker ジャンプスタート は、SageMaker の機械学習 (ML) ハブであり、機械学習を開始するのに役立つ、さまざまな種類の問題に対して事前にトレーニングされた公開モデルを提供します。
JumpStart は、使用するサンプル ノートブックも提供します。 アマゾンセージメーカー スポット インスタンス トレーニングや、多種多様なモデル タイプやユース ケースに対する実験などの機能。 これらのサンプルノートブックには、SageMaker と JumpStart を使用して ML ソリューションを適用する方法を示すコードが含まれています。 これらは、独自のニーズに合わせて調整できるため、アプリケーション開発をスピードアップできます。
最近、JumpStart に 10 個の新しいノートブックを追加しました。 Amazon SageMakerスタジオ. この投稿では、これらの新しいノートブックに焦点を当てます。 この記事の執筆時点で、JumpStart は、最先端の自然言語処理 (NLP) モデルの使用から、モデルのトレーニング時のデータセットのバイアスの修正まで、56 のノートブックを提供しています。
10 個の新しいノートブックは、次の点で役立ちます。
- Studio の JumpStart UI からそのまま実行できるサンプル コードを提供し、コードがどのように機能するかを確認します。
- これらは、さまざまな SageMaker および JumpStart API の使用法を示しています。
- 彼らは、独自のニーズに基づいてさらにカスタマイズできる技術的ソリューションを提供します
JumpStart を通じて提供されるノートブックの数は、ノートブックが追加されるにつれて定期的に増加します。 これらのノートブックは、次のサイトでも入手できます。 githubの.
ノートブックの概要
10 種類の新しいノートブックは次のとおりです。
- AlexaTM 20B によるコンテキスト内学習 – テキストの要約、自然言語生成、機械翻訳、抽出的質問応答、自然言語の推論と分類の 20 つのタスク例で、AlexaTM XNUMXB をゼロショット学習と少数ショット学習でコンテキスト内学習に使用する方法を示します。
- SageMaker の公平な線形学習者 – 最近、既存の人間の偏見を模倣した結果として、ML アルゴリズムに偏りが生じることが懸念されています。 このノートブックは、公平性の概念を適用して、モデルの予測を適切に調整します。
- SageMaker Search を使用して ML 実験を管理する – Amazon SageMaker Search を使用すると、潜在的に数百、数千の SageMaker モデルトレーニングジョブから最も関連性の高いモデルトレーニング実行をすばやく見つけて評価できます。
- SageMaker ニューラルトピックモデル – SageMaker Neural Topic Model (NTM) は、監視されていない学習アルゴリズムであり、一連の観測を異なるカテゴリの混合として記述しようとします。
- 走行速度違反の予測 – SageMaker DeepAR アルゴリズムを使用して、複数の道路のモデルを同時にトレーニングし、複数の道路カメラの違反を予測できます。
- 乳がんの予測 – このノートブックは、UCI の乳がん診断データセットを使用して、乳房の腫瘤画像が良性または悪性の腫瘍を示すかどうかの予測モデルを構築します。
- 複数のモデルからのアンサンブル予測 – 複数のソースとモデルからの予測を組み合わせたり平均したりすることで、通常、予測が改善されます。 このノートブックは、この概念を示しています。
- SageMaker 非同期推論 – 非同期推論は、ほぼリアルタイムの推論のニーズに対応する新しい推論オプションです。 リクエストの処理には最大 15 分かかり、ペイロード サイズは最大 1 GB です。
- TensorFlow は独自のモデルを持ち込みます – TensorFlow モデルをローカルでトレーニングし、このノートブックを使用して SageMaker にデプロイする方法を学びます。
- scikit-learn で独自のモデルを導入 – このノートブックは、事前トレーニング済みの Scikit-learn モデルを SageMaker Scikit-learn コンテナで使用して、そのモデルのホストされたエンドポイントをすばやく作成する方法を示しています。
前提条件
これらのノートブックを使用するには、SageMaker 機能を実行できる実行ロールで Studio にアクセスできることを確認してください。 以下の短いビデオは、JumpStart ノートブックに移動するのに役立ちます。
次のセクションでは、10 個の新しいソリューションをそれぞれ紹介し、興味深い詳細について説明します。
AlexaTM 20B によるコンテキスト内学習
AlexaTM 20B は、ノイズ除去と因果言語モデリング (CLM) タスクを使用して、Common Crawl (mC2) と 4 の言語にわたるウィキペディア データの混合でトレーニングされた、マルチタスク、多言語、大規模なシーケンス間 (seq12seq) モデルです。 ワンショット要約やワンショット機械翻訳などの一般的なインコンテキスト言語タスクで最先端のパフォーマンスを達成し、3 倍以上の Open AI の GPTXNUMX や Google の PaLM などのデコーダーのみのモデルよりも優れています。
インコンテキスト学習とも呼ばれる 促しは、NLP モデルを微調整せずに新しいタスクで使用する方法を指します。 いくつかのタスクの例は、推論入力の一部としてのみモデルに提供されます。 数ショットインコンテキスト学習. 場合によっては、トレーニング データがまったくなくても、何を予測すべきかを説明するだけで、モデルが適切に機能することがあります。 これは ゼロショットインコンテキスト学習.
このノートブックは、JumpStart API を介して AlexaTM 20B をデプロイし、推論を実行する方法を示しています。 また、テキスト要約、自然言語生成、機械翻訳、抽出的質問応答、自然言語推論と分類の 20 つのタスク例を使用して、AlexaTM XNUMXB をインコンテキスト学習に使用する方法を示します。
このノートブックは、次のことを示しています。
- これらのタスクごとに XNUMX つのトレーニング例を使用した、ワンショット テキスト要約、自然言語生成、および機械翻訳
- トレーニング例を提供する必要なく、モデルをそのまま使用してゼロショット質問応答と自然言語推論と分類を行います。
このモデルに対して独自のテキストを実行してみて、テキストの要約、Q&A の抽出、またはある言語から別の言語への翻訳がどのように行われるかを確認してください。
SageMaker の公正線形学習器
最近、既存の人間の偏見を模倣した結果として、ML アルゴリズムに偏りが生じることが懸念されています。 現在、いくつかの ML 手法は、銀行融資、保険料率、または広告の予測に使用されるなど、強い社会的影響を持っています。 残念ながら、過去のデータから学習するアルゴリズムは、過去のバイアスを自然に継承します。 このノートブックは、線形学習者のコンテキストで SageMaker と公平なアルゴリズムを使用して、この問題を克服する方法を示しています。
公平性の背後にあるいくつかの概念と数学を紹介することから始めて、データをダウンロードし、モデルをトレーニングし、最後に公平性の概念を適用してモデル予測を適切に調整します。
このノートブックは、次のことを示しています。
- UCI の Adult データセットで標準線形モデルを実行します。
- モデル予測の不公平を示す
- データを修正してバイアスを取り除く
- モデルの再トレーニング
このコード例を使用して独自のデータを実行してみて、偏りがあるかどうかを検出してください。 その後、このサンプル ノートブックで提供されている関数を使用して、データセットに偏りがある場合は削除してみてください。
SageMaker Search を使用して ML 実験を管理する
SageMaker Search を使用すると、潜在的に数百、数千の SageMaker モデルトレーニングジョブから最も関連性の高いモデルトレーニング実行をすばやく見つけて評価できます。 ML モデルの開発には、継続的な実験、新しい学習アルゴリズムの試行、ハイパーパラメーターの調整が必要であり、その一方で、そのような変更がモデルのパフォーマンスと精度に与える影響を観察する必要があります。 この反復作業は、何百ものモデル トレーニング実験とモデル バージョンの急増につながることが多く、収束と成功モデルの発見が遅くなります。 さらに、情報の急増により、モデルのバージョンの系譜をたどることが非常に困難になります。これは、モデルを最初に作成したデータセット、アルゴリズム、パラメーターの独自の組み合わせです。
このノートブックは、SageMaker Search を使用して、SageMaker でモデルトレーニングジョブをすばやく簡単に整理、追跡、評価する方法を示しています。 使用された学習アルゴリズム、ハイパーパラメータ設定、使用されたトレーニング データセット、さらにはモデル トレーニング ジョブに追加したタグから、すべての定義属性を検索できます。 また、トレーニングの損失や検証の精度などのパフォーマンス メトリックに基づいてトレーニングの実行をすばやく比較およびランク付けすることもできます。これにより、本番環境にデプロイできる勝者モデルを特定するためのリーダーボードが作成されます。 SageMaker Search は、モデルのトレーニングと検証で使用されるデータセットまで、ライブ環境にデプロイされたモデル バージョンの完全な系統をすばやく追跡できます。
このノートブックは、次のことを示しています。
- 線形モデルを XNUMX 回トレーニングする
- SageMaker Search を使用してこれらの実験を整理および評価する
- リーダーボードでの結果の視覚化
- エンドポイントへのモデルのデプロイ
- エンドポイントから始まるモデルの系統の追跡
予測モデルの独自の開発では、いくつかの実験を実行している場合があります。 このような実験で SageMaker Search を使用してみて、複数の方法でどのように役立つかを体験してください。
SageMaker ニューラルトピックモデル
SageMaker Neural Topic Model (NTM) は、監視されていない学習アルゴリズムであり、一連の観測を異なるカテゴリの混合として記述しようとします。 NTM は、テキスト コーパス内のドキュメントが共有する、ユーザーが指定した数のトピックを検出するために最も一般的に使用されます。 ここで、各観測値はドキュメント、特徴は各単語の存在 (または出現回数)、カテゴリはトピックです。 この方法は監視されていないため、トピックは事前に指定されておらず、人間が自然にドキュメントを分類する方法と一致することが保証されていません。 トピックは、各ドキュメントに出現する単語の確率分布として学習されます。 各ドキュメントは、トピックの混合物として説明されています。
このノートブックは、SageMaker NTM アルゴリズムを使用して、20NewsGroups データセットでモデルをトレーニングします。 このデータセットは、トピック モデリングのベンチマークとして広く使用されています。
このノートブックは、次のことを示しています。
- データセットで SageMaker トレーニング ジョブを作成して NTM モデルを作成する
- モデルを使用して SageMaker エンドポイントで推論を実行する
- トレーニング済みモデルの探索と学習トピックの視覚化
このノートブックを簡単に変更して、テキスト ドキュメントで実行し、それらをさまざまなトピックに分割できます。
運転速度違反を予測する
このノートブックは、シカゴ市のスピード カメラ違反データセットを分析することにより、SageMaker DeepAR アルゴリズムを使用した時系列予測を示しています。 このデータセットは Data.gov によってホストされ、米国一般調達局、Technology Transformation Service によって管理されています。
これらの違反はカメラ システムによってキャプチャされ、シカゴ市のデータ ポータルを通じて市民の生活を改善するために利用できます。 Speed Camera Violation データセットを使用して、データのパターンを識別し、意味のある洞察を得ることができます。
データセットには、複数のカメラの位置と毎日の違反数が含まれています。 カメラの XNUMX 日あたりの違反数は、個別の時系列と見なすことができます。 SageMaker DeepAR アルゴリズムを使用して、複数の道路のモデルを同時にトレーニングし、複数の道路カメラの違反を予測できます。
このノートブックは、次のことを示しています。
- スポットインスタンスを使用して時系列データセットで SageMaker DeepAR アルゴリズムをトレーニングする
- トレーニング済みモデルを推論して交通違反を予測する
このノートブックを使用すると、SageMaker の DeepAR アルゴリズムを使用して時系列の問題を解決する方法を学び、それを独自の時系列データセットに適用してみることができます。
乳がんの予測
このノートブックは、UCI の乳がん診断データセットを使用した乳がん予測の例です。 このデータセットを使用して、乳房の腫瘤画像が良性または悪性の腫瘍を示すかどうかの予測モデルを構築します。
このノートブックは、次のことを示しています。
- SageMaker を使用するための基本設定
- データセットを SageMaker アルゴリズムで使用される Protobuf 形式に変換し、にアップロードする Amazon シンプル ストレージ サービス (Amazon S3)
- データセットで SageMaker 線形学習者モデルをトレーニングする
- トレーニング済みモデルのホスティング
- トレーニング済みモデルを使用したスコアリング
このノートブックを読んで、SageMaker を使用してビジネス上の問題を解決する方法を学び、モデルのトレーニングとホスティングに必要な手順を理解できます。
複数のモデルからのアンサンブル予測
予測タスクでの ML の実際の適用では、多くの場合、XNUMX つのモデルでは十分ではありません。 ほとんどの予測コンテストでは、通常、複数のソースからの予測を組み合わせて予測を改善する必要があります。 複数のソースまたはモデルからの予測を結合または平均化することにより、通常、予測が改善されます。 これは、モデルの選択にかなりの不確実性があり、多くの実際のアプリケーションで真のモデルが XNUMX つ存在しないために発生します。 したがって、異なるモデルからの予測を組み合わせることが有益です。 ベイジアンの文献では、このアイデアはベイジアン モデルの平均化と呼ばれ、XNUMX つのモデルを選択するよりもはるかにうまく機能することが示されています。
このノートブックは、学歴、職歴、性別などの情報に基づいて、年収が 50,000 ドルを超えるかどうかを予測するための例を示しています。
このノートブックは、次のことを示しています。
- SageMaker ノートブックの準備
- SageMaker を使用して Amazon S3 からデータセットをロードする
- SageMaker アルゴリズムにフィードできるように、データを調査して変換する
- SageMaker XGBoost (Extreme Gradient Boosting) アルゴリズムを使用したモデルの推定
- SageMaker でモデルをホストして進行中の予測を行う
- SageMaker 線形学習者法を使用して XNUMX 番目のモデルを推定する
- 両方のモデルからの予測を組み合わせて、組み合わせた予測を評価する
- テスト データセットで最終的な予測を生成する
データセットでこのノートブックを実行し、複数のアルゴリズムを使用してみてください。 SageMaker と JumpStart が提供するモデルのさまざまな組み合わせを試してみて、モデル アンサンブルのどの組み合わせが独自のデータで最良の結果をもたらすかを確認してください。
SageMaker 非同期推論
SageMaker 非同期推論は、着信リクエストをキューに入れ、非同期的に処理する SageMaker の新しい機能です。 SageMaker は現在、お客様が ML モデルをデプロイするための 6 つの推論オプションを提供しています。60 つは低レイテンシ ワークロード用のリアルタイム オプション、もう XNUMX つはバッチ変換です。これは、事前に利用可能なデータのバッチで推論リクエストを処理するオフライン オプションです。 リアルタイム推論は、ペイロード サイズが XNUMX MB 未満のワークロードに適しており、推論リクエストを XNUMX 秒以内に処理する必要があります。 バッチ変換は、データのバッチに対するオフライン推論に適しています。
非同期推論は、ほぼリアルタイムの推論のニーズに対応する新しい推論オプションです。 リクエストの処理には最大 15 分かかり、ペイロード サイズは最大 1 GB です。 非同期推論は、5 秒未満の待機時間の要件がなく、待機時間の要件が緩和されているワークロードに適しています。 たとえば、数 MB の大きなイメージの推論を XNUMX 分以内に処理する必要がある場合があります。 さらに、非同期推論エンドポイントを使用すると、アイドル状態のエンドポイント インスタンス数をゼロにスケールダウンすることでコストを制御できるため、エンドポイントがリクエストを処理しているときにのみ料金が発生します。
このノートブックは、次のことを示しています。
- SageMaker モデルの作成
- このモデルと非同期推論構成を使用してエンドポイントを作成する
- この非同期エンドポイントに対して予測を行う
このノートブックは、SageMaker モデルの非同期エンドポイントをまとめる実際の例を示しています。
TensorFlow は独自のモデルを持ち込みます
TensorFlow モデルは、このノートブックが実行されている分類タスクでローカルにトレーニングされます。 次に、SageMaker エンドポイントにデプロイされます。
このノートブックは、次のことを示しています。
- IRIS データセットでローカルに TensorFlow モデルをトレーニングする
- そのモデルを SageMaker にインポートする
- エンドポイントでのホスティング
自分で開発した TensorFlow モデルがある場合、このサンプル ノートブックは、モデルを SageMaker マネージド エンドポイントでホストするのに役立ちます。
scikit-learn 独自のモデルを導入
SageMaker には、ホストされたノートブック環境、分散型のサーバーレス トレーニング、およびリアルタイム ホスティングをサポートする機能が含まれています。 これら XNUMX つのサービスをすべて一緒に使用すると最適に機能しますが、個別に使用することもできます。 一部のユースケースでは、ホスティングのみが必要になる場合があります。 モデルは、SageMaker が存在する前に別のサービスでトレーニングされた可能性があります。
このノートブックは、次のことを示しています。
- SageMaker Scikit-learn コンテナで事前トレーニング済みの Scikit-learn モデルを使用して、そのモデルのホストされたエンドポイントをすばやく作成する
自分で開発した Scikit-learn モデルがある場合、このサンプル ノートブックは、SageMaker マネージド エンドポイントでモデルをホストするのに役立ちます。
リソースをクリーンアップする
JumpStart でノートブックの実行が完了したら、必ず次のことを行ってください。 すべてのリソースを削除する プロセスで作成したすべてのリソースが削除され、請求が停止されます。 通常、これらのノートブックの最後のセルは、作成されたエンドポイントを削除します。
まとめ
この投稿では、最近 JumpStart に追加された 10 個の新しいサンプル ノートブックについて説明しました。 この投稿では、これら 10 個の新しいノートブックに焦点を当てましたが、この記事の執筆時点では合計 56 個のノートブックが利用可能です。 Studio にログインして、JumpStart ノートブックを自分で調べて、それらからすぐに価値を引き出し始めることをお勧めします。 詳細については、次を参照してください。 Amazon SageMakerスタジオ & SageMaker ジャンプスタート.
著者について
ラジュ・ペンマッチャ博士 AWS の AI プラットフォームの AI/ML スペシャリスト ソリューション アーキテクトです。 スタンフォード大学で博士号を取得。 彼は、お客様が機械学習モデルとソリューションを簡単に構築してデプロイできるようにする SageMaker のローコード/ノーコード スイート サービスに密接に取り組んでいます。