翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
SDK で基盤モデルを使用する SageMaker Python
すべての JumpStart 基盤モデルは、 Python SDK を使用して SageMakerプログラムでデプロイできます。公開されているテキスト生成基盤モデルは、 のモデル ID を使用してデプロイできます公開されているテキスト生成モデルテーブル。独自モデルは、 AWS Marketplaceでモデルをサブスクライブした後に、モデルパッケージ情報を使用してデプロイする必要があります。
以下のセクションでは、 JumpStartEstimator
クラスを使用して基盤モデルを微調整する方法と、 JumpStartModel
クラスを使用してモデルをデプロイする方法と、追加の Python SDK ユーティリティについて説明します。
重要
一部の基盤モデルでは、エンドユーザー使用ライセンス契約 (EULA) に明示的に同意する必要があります。詳細については、「SDK での EULA の SageMaker Python承諾」を参照してください。
公開されているすべての基盤モデルで使用可能なモデル IDs を参照するには、「事前トレーニング済みのモデルテーブルを備えた組み込みアルゴリズム
JumpStartEstimator
クラスで公開されている基盤モデルを微調整する
SDK を使用すると SageMaker Python、組み込みアルゴリズムまたは事前トレーニング済みモデルをわずか数行のコードで微調整できます。
まず、選択したモデルのモデル 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
クラスを使用して公開されている基盤モデルをデプロイする
SDK を使用すると、組み込みアルゴリズムまたは事前トレーニング済みのモデルを SageMakerわずか数行のコードでエンドポイントに SageMaker Pythonデプロイできます。
まず、選択したモデルのモデル 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
SDK で独自の基盤モデルを使用する SageMaker Python
独自モデルは、 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 で基盤モデルを使用する」を参照してください。SDK の詳細については、 SageMaker Python「」を参照してくださいModelPackage