翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
で基盤モデルを使用する SageMaker Python SDK
すべての JumpStart 基盤モデルは、 Python を使用して SageMakerプログラムでデプロイできますSDK。公開されているテキスト生成基盤モデルは、 のモデル ID を使用してデプロイできます公開されているテキスト生成モデルテーブル。独自モデルは、 AWS Marketplaceでモデルをサブスクライブした後に、モデルパッケージ情報を使用してデプロイする必要があります。
以下のセクションでは、 JumpStartEstimator
クラスを使用して基盤モデルを微調整する方法と、 JumpStartModel
クラスを使用してモデルをデプロイする方法と、追加のPythonSDKユーティリティについて説明します。
重要
一部の基盤モデルでは、エンドユーザーライセンス契約 () の明示的な承諾が必要ですEULA。詳細については、「EULA による承認 SageMaker Python SDK」を参照してください。
公開されているすべての基盤モデルIDsで利用可能なモデルを参照するには、「事前トレーニング済みのモデルテーブルを備えた組み込みアルゴリズム
JumpStartEstimator
クラスで公開されている基盤モデルを微調整する
を使用して SageMaker Python、組み込みアルゴリズムまたは事前トレーニング済みモデルを数行のコードで微調整できますSDK。
まず、選択したモデルのモデル ID を、事前トレーニング済みのモデルテーブル を備えた組み込みアルゴリズム
で見つけます。 モデル ID を使用して、トレーニングジョブを JumpStart 推定器として定義します。
from sagemaker.jumpstart.estimator import JumpStartEstimator model_id =
"huggingface-textgeneration1-gpt-j-6b"
estimator = JumpStartEstimator(model_id=model_id)微調整に使用するトレーニングデータをポイントして、モデル
estimator.fit()
で を実行します。estimator.fit( {"train":
training_dataset_s3_path
, "validation":validation_dataset_s3_path
} )次に、
deploy
メソッドを使用して、推論用にモデルを自動的にデプロイします。この例では、 の GPT-J 6B モデルを使用しますHugging Face。predictor = estimator.deploy()
その後、
predict
メソッドを使用して、デプロイされたモデルで推論を実行できます。question =
"What is Southern California often abbreviated as?"
response = predictor.predict(question) print(response)
注記
この例では、基盤モデル GPT-J 6B を使用しています。これは、質問への回答、名前付きエンティティ認識、要約など、幅広いテキスト生成のユースケースに適しています。モデルのユースケースの詳細については、「」を参照してください最新の基盤モデルの詳細。
の作成時に、オプションでモデルバージョンまたはインスタンスタイプを指定できますJumpStartEstimator
。JumpStartEstimator
クラスとそのパラメータの詳細については、「」を参照してくださいJumpStartEstimator
デフォルトのインスタンスタイプを確認する
JumpStartEstimator
クラスを使用して事前トレーニング済みモデルを微調整する場合は、オプションで特定のモデルバージョンまたはインスタンスタイプを含めることができます。すべての JumpStart モデルにはデフォルトのインスタンスタイプがあります。次のコードを使用して、デフォルトのトレーニングインスタンスタイプを取得します。
from sagemaker import instance_types instance_type = instance_types.retrieve_default( model_id=model_id, model_version=model_version, scope=
"training"
) print(instance_type)
instance_types.retrieve()
メソッドを使用すると、特定の JumpStart モデルでサポートされているすべてのインスタンスタイプを表示できます。
デフォルトのハイパーパラメータを確認する
トレーニングに使用されるデフォルトのハイパーパラメータを確認するには、 hyperparameters
クラスから retrieve_default()
メソッドを使用できます。
from sagemaker import hyperparameters my_hyperparameters = hyperparameters.retrieve_default(model_id=model_id, model_version=model_version) print(my_hyperparameters) # Optionally override default hyperparameters for fine-tuning my_hyperparameters["epoch"] = "3" my_hyperparameters["per_device_train_batch_size"] = "4" # Optionally validate hyperparameters for the model hyperparameters.validate(model_id=model_id, model_version=model_version, hyperparameters=my_hyperparameters)
使用可能なハイパーパラメータの詳細については、「」を参照してください一般的にサポートされている微調整ハイパーパラメータ。
デフォルトのメトリクス定義を確認する
デフォルトのメトリクス定義を確認することもできます。
print(metric_definitions.retrieve_default(model_id=model_id, model_version=model_version))
クラスを使用して公開されている基盤モデルをデプロイする JumpStartModel
組み込みアルゴリズムまたは事前トレーニング済みモデルを、 SageMaker を使用してわずか数行のコードでエンドポイントに SageMaker PythonデプロイできますSDK。
まず、選択したモデルのモデル ID を、事前トレーニング済みのモデルテーブル を備えた組み込みアルゴリズム
で見つけます。 モデル ID を使用して、モデルを JumpStart モデルとして定義します。
from sagemaker.jumpstart.model import JumpStartModel model_id =
"huggingface-text2text-flan-t5-xl"
my_model = JumpStartModel(model_id=model_id)deploy
メソッドを使用して、推論用にモデルを自動的にデプロイします。この例では、 の FLAN-T5 XL モデルを使用しますHugging Face。predictor = my_model.deploy()
その後、
predict
メソッドを使用して、デプロイされたモデルで推論を実行できます。question =
"What is Southern California often abbreviated as?"
response = predictor.predict(question) print(response)
注記
この例では、基盤モデル FLAN-T5 XL を使用しています。これは、質問への回答、要約、チャットボットの作成など、幅広いテキスト生成のユースケースに適しています。モデルのユースケースの詳細については、「」を参照してください最新の基盤モデルの詳細。
JumpStartModel
クラスとそのパラメータの詳細については、「」を参照してくださいJumpStartModel
デフォルトのインスタンスタイプを確認する
JumpStartModel
クラスを使用して事前トレーニング済みモデルをデプロイする場合は、オプションで特定のモデルバージョンまたはインスタンスタイプを含めることができます。すべての JumpStart モデルにはデフォルトのインスタンスタイプがあります。次のコードを使用して、デフォルトのデプロイインスタンスタイプを取得します。
from sagemaker import instance_types instance_type = instance_types.retrieve_default( model_id=model_id, model_version=model_version, scope=
"inference"
) print(instance_type)
instance_types.retrieve()
メソッドを使用して、特定の JumpStart モデルでサポートされているすべてのインスタンスタイプを表示します。
推論コンポーネントを使用して複数のモデルを共有エンドポイントにデプロイする
推論コンポーネントは、柔軟性とスケーラビリティを高めるために、1 つ以上のモデルをエンドポイントにデプロイするために使用できる SageMaker ホスティングオブジェクトです。 JumpStart モデルendpoint_type
をデフォルトのモデルベースのエンドポイント inference-component-based ではなく に変更する必要があります。
predictor = my_model.deploy( endpoint_name =
'jumpstart-model-id-123456789012'
, endpoint_type =EndpointType.INFERENCE_COMPONENT_BASED
)
推論コンポーネントを使用したエンドポイントの作成と SageMaker モデルのデプロイの詳細については、「」を参照してください複数のモデルで共有リソース使用率。
有効な入出力推論形式を確認する
有効なデータ入力形式と出力形式を推論で確認するには、 Serializers
および Deserializers
クラスから retrieve_options()
メソッドを使用できます。
print(sagemaker.serializers.retrieve_options(model_id=model_id, model_version=model_version)) print(sagemaker.deserializers.retrieve_options(model_id=model_id, model_version=model_version))
サポートされているコンテンツを確認し、タイプを受け入れる
同様に、 retrieve_options()
メソッドを使用して、サポートされているコンテンツを確認し、モデルのタイプを受け入れることができます。
print(sagemaker.content_types.retrieve_options(model_id=model_id, model_version=model_version)) print(sagemaker.accept_types.retrieve_options(model_id=model_id, model_version=model_version))
ユーティリティの詳細については、「ユーティリティAPIs
で独自の基盤モデルを使用する SageMaker Python SDK
独自モデルは、 AWS Marketplaceでモデルをサブスクライブした後に、モデルパッケージ情報を使用してデプロイする必要があります。 SageMaker および の詳細については AWS Marketplace、「 で Amazon SageMaker アルゴリズムとモデルを購入および販売する AWS Marketplace」を参照してください。最新の独自モデルの AWS Marketplace リンクを見つけるには、「Amazon の開始方法 SageMaker JumpStart
で選択したモデルにサブスクライブした後 AWS Marketplace、 SDKとモデルプロバイダーSDKに関連付けられた を使用して SageMaker Python基盤モデルをデプロイできます。例えば、 AI21 Labs、Cohere、 では、それぞれ "ai21[SM]"
、cohere-sagemaker
、 lightonsage
パッケージ LightOn を使用します。
例えば、 AI21 Labs の Jurassic-2 Jumbo Instruct を使用して JumpStart モデルを定義するには、次のコードを使用します。
import sagemaker import ai21 role = get_execution_role() sagemaker_session = sagemaker.Session() model_package_arn =
"arn:aws:sagemaker:us-east-1:865070037744:model-package/j2-jumbo-instruct-v1-1-43-4e47c49e61743066b9d95efed6882f35"
my_model = ModelPackage( role=role, model_package_arn=model_package_arn, sagemaker_session=sagemaker_session )
step-by-step 例えば、 SageMaker Studio Classic で選択した独自の基盤モデルに関連付けられたノートブックを検索して実行します。詳細については、「Amazon SageMaker Studio Classic で基盤モデルを使用する」を参照してください。の詳細については、 SageMaker PythonSDK「」を参照してくださいModelPackage