Amazon SageMaker JumpStart を使用して機械学習プロジェクトをすばやく始める

入門ガイド

概要

このチュートリアルでは、 Amazon SageMaker JumpStart が提供する事前トレーニング済みモデルおよび構築済みソリューションを使用して、機械学習 (ML) プロジェクトをすばやく進展させる方法を学びます。その後、Amazon SageMaker Studio ノートブックを使用して選択したモデルをデプロイします。

Amazon SageMaker JumpStart は、機械学習 (ML) をすばやく簡単に開始するのに役立ちます。SageMaker JumpStart では、すばやく始められるように、ユーザーインターフェイスを介し、人気のモデルハブから事前トレーニング済みモデルを含む何百もの組み込みアルゴリズムへのアクセスを提供します。SageMaker Python SDK を使用すると、モデルズーから事前構築済みのモデルを選択して、カスタムデータでトレーニングしたり、SageMaker のエンドポイントにデプロイして推論を行ったりすることができます。容易に開始するために、SageMaker JumpStart は、最も一般的なユースケース向けの一連のソリューションを提供し、数回クリックするだけで簡単にデプロイできます。ソリューションは完全にカスタマイズ可能であり、AWS CloudFormation テンプレートとリファレンスアーキテクチャの使用を紹介しているため、ML の導入を加速できます。

学習内容

このガイドでは、以下のことを行います。

  • SageMaker JumpStart で事前トレーニング済みモデルをデプロイする
  • SageMaker JumpStart からデプロイされたエンドポイントを使用して推論を実行する

前提条件

本ガイドを開始する前に、以下のものが必要です。

  • AWS アカウント: まだお持ちでない場合は、環境の設定入門ガイドに従って簡単な概要を確認してください。

 AWS の使用経験

初心者

 所要時間

15 分

 完了までのコスト

このチュートリアルにかかるコストの見積もりは、SageMaker の料金を参照してください。

 次のことが求められます

AWS アカウントにログインしている必要があります。

 使用するサービス

Amazon SageMaker JumpStart

 最終更新日

2022 年 6 月 28 日

ユースケース

このチュートリアルでは、ウィキペディアを使用して英語のテキストで事前にトレーニングされ、テキスト分類のユースケースで良好な性能を示す「BERT Based Cased」と呼ばれるモデルをデプロイします。

 

ステップ 1: Amazon SageMaker Studio ドメインを設定する

AWS アカウントは、1 つの AWS リージョンにつき 1 つの SageMaker Studio ドメインのみを持つことができます。米国東部 (バージニア北部) リージョンに SageMaker Studio ドメインを既にお持ちの場合は、SageMaker Studio 設定ガイドに従って必要な AWS IAM ポリシーを SageMaker Studio アカウントにアタッチし、ステップ 1 をスキップして直接ステップ 2 に進みます。 

既存の SageMaker Studio ドメインがない場合は、ステップ 1 に進み、SageMaker Studio ドメインを作成し、このチュートリアルの残りの部分に必要なアクセス許可を追加する AWS CloudFormation テンプレートを実行します。

AWS CloudFormation スタックリンクを選択します。このリンクから AWS CloudFormation コンソールが開き、SageMaker Studio ドメインと studio-user というユーザーが作成されます。また、SageMaker Studio アカウントに必要なアクセス許可を追加します。CloudFormation コンソールで、右上に表示される [リージョン] が [米国東部 (バージニア北部)] であることを確認します。[スタック名] は [CFN-SM-IM-Lambda-Catalog] とし、変更しないようにします。このスタックは、すべてのリソースを作成するのに 10 分ほどかかります。

このスタックは、アカウントに既にパブリック VPC が設定されていることを想定しています。パブリック VPC がない場合、パブリック VPC の作成方法については、単一のパブリックサブネットを持つ VPC を参照してください。

[I acknowledge that AWS CloudFormation might create IAM resources] (私は、AWS CloudFormation が IAM リソースを作成する可能性があることを認めます) を選択し、[Create stack] (スタックの作成) を選択します。

ステップ 1: Amazon SageMaker Studio ドメインを設定する

[CloudFormation] ペインで、[スタック] を選択します。スタックが作成されると、スタックのステータスが [CREATE_IN_PROGRESS] から [CREATE_COMPLETE] に変更されるはずです。

ステップ 1: Amazon SageMaker Studio ドメインを設定する

CloudFormation コンソールの検索バーに [SageMaker Studio] と入力し、[SageMaker Studio] を選択します。

SageMaker コンソール右上にあるリージョンのドロップダウンリストから、[米国東部 (バージニア北部)] を選択します。[Launch app] (アプリケーションの起動) で [Studio] を選択し、studio-user プロファイルを使用して SageMaker Studio を開きます。

ステップ 2: 新しいランチャーウインドウを作成し、JumpStart を起動する

機械学習を始めることは、どのモデルがどのユースケースに適しているかを知ることから、どこから始めればよいかを知ることまで、困難な場合があります。Amazon SageMaker JumpStart は、最も一般的なユースケース向けの一連のソリューションを提供し、数回クリックするだけで簡単にデプロイできるようにすることで、この問題を解決します。トレーニング済みのモデルやソリューションは、本番環境対応のデプロイエンドポイントから数分のところにあります。

始めるには、ファイルウィンドウビューの上部にある [+] アイコンをクリックして、新しいランチャーウィンドウを開く必要があります。

ランチャービューの左上で、[JumpStart モデル、アルゴリズム、およびソリューション] ボタンをクリックします。これで SageMaker JumpStart が起動し、さまざまな特集コンテンツ、ソリューション、モデル、問題タイプなどを含む新しいウィンドウが表示されます。このチュートリアルでは、BERT Base Cased Text の事前トレーニング済みモデルを実行します。

 

ステップ 2: 新しいランチャーウインドウを作成し、JumpStart を起動する

事前トレーニング済みモデルを見つけるには、右上の検索バーを使い、[BERT] と入力します。BERT のモデルが表示されます。[BERT Base Cased Text - テキストの分類] というタイトルのモデルをクリックします。または、利用可能なモデルをブラウズして、正しいモデルを見つけることができます。

BERT モデルには、事前トレーニング済みモデルをそのままデプロイするか、モデルを再トレーニングするかのオプションを含みます。このチュートリアルでは、事前トレーニング済みモデルをそのままデプロイします。開始するには、[デプロイ設定] の隣にあるドロップダウンをクリックします。次に、ドロップダウンの [SageMaker ホスティングインスタンス] をクリックします。エンドポイントをホストするために使用されるリソースに対応する、いくつかのインスタンスタイプが表示されます。[ml.m5.large] を選択します。2 つ目のボックスは、エンドポイント名に対応します。デフォルト値のままにしておき、必要に応じてエンドポイント名を変更することができることに注意してください。

[セキュリティ設定] というラベルの付いた次のドロップダウンの矢印をクリックします。実行ロール、VPC 接続、および暗号化を設定することができます。このチュートリアルでは、これらのステップは必要ありませんが、これらのオプションが存在し、本番環境でのデプロイでは変更する可能性があることに注意してください。[デプロイ] オプションをクリックして、モデルのエンドポイントの設定を開始します。

次に、モデルのデプロイステータスを示すダイアログが表示されます。このプロセスには 5~10 分ほどかかることがあります。ダイアログは、プロセスの進行に応じて、モデルタイプ、タスク、エンドポイント識別子、エンドポイント名、インスタンスタイプ、インスタンス数、およびモデルデータの場所に関するメタデータを表示するように変更されます。エンドポイントデプロイが完了すると、サービスステータスが [In Service] (サービス中) に更新されます。

ステップ 3: 提供されたデモノートブックを使用して、新しい JumpStart エンドポイントをクエリする

モデルエンドポイントがデプロイされたので、それに対して推論を実行し、予測を取得することができます。このチュートリアルでは、前のステップで作成したエンドポイントにクエリを実行するための簡単なノートブックを実行します。

このステップでは、提供されたデモノートブックを使用して、エンドポイントをテストします。[ノートブックを開く] ボタンをクリックして、ノートブックを開きます。このノートブックには、エンドポイントを介して 2 つのテキスト例を実行し、モデルの出力を表示する Python コードが含まれています。このモデルは、センチメントスコアの確率と予測されるラベルを予測します。

ステップ 3: 提供されたデモノートブックを使用して、新しい JumpStart エンドポイントをクエリする

ノートブック内を進めるには、スクリーンショットにあるように、[再生] アイコンをクリックします。別の方法として、[シフト] を押しながら、[リターン] を押して、セルを進めることもできます。予測されたラベルと関連する確率は、セルの下部に出力されます。

ステップ 3: 提供されたデモノートブックを使用して、新しい JumpStart エンドポイントをクエリする
ステップ 3: 提供されたデモノートブックを使用して、新しい JumpStart エンドポイントをクエリする

これで、最小限の手動作業で、事前トレーニング済みの BERT Base Cased Text - テキストの分類モデルを使用するモデルエンドポイントをデプロイできました。おめでとうございます。

ステップ 4: AWS リソースをクリーンアップする

意図しない料金が発生しないように、使用しなくなったリソースは削除することがベストプラクティスです。

ステップ 1 で既存の SageMaker Studio ドメインを使用した場合は、ステップ 6 の残りをスキップして、結論のセクションに直接進んでください。 

ステップ 1 で CloudFormation テンプレートを実行して新しい SageMaker Studio ドメインを作成した場合は、次のステップに進み、CloudFormation テンプレートで作成したドメイン、ユーザー、リソースを削除してください。

CloudFormation コンソールを開くには、AWS コンソールの検索バーに [CloudFormation] と入力し、検索結果から [CloudFormation] を選択します。

ステップ 4: AWS リソースをクリーンアップする

[CloudFormation] ペインで、[スタック] を選択します。ステータスドロップダウンリストから、[アクティブ] を選択します。スタック名で、[CFN-SM-IM-Lambda-Catalog] を選択し、スタックの詳細ページを開きます。

ステップ 4: AWS リソースをクリーンアップする

CFN-SM-IM-Lambda-Catalog スタックの詳細ページで、[削除] を選択して、ステップ 1 で作成したリソースと一緒にスタックを削除します。

ステップ 4: AWS リソースをクリーンアップする

まとめ

おめでとうございます。 これで、「 Amazon SageMaker JumpStart を使用して機械学習プロジェクトをすばやく始める」チュートリアルが完了しました。
 
Amazon SageMaker JumpStart の事前トレーニング済みモデルを選択してデプロイし、予測を行う方法を学びました。

このページは役に立ちましたか?

次のステップ