翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
次のコードサンプルは、基本的なデータセットの準備、アクセス許可の設定、カスタムモデルの作成、出力ファイルの表示、モデルのスループットの購入、モデルの推論の実行の方法を示しています。これらのコードスニペットは、特定のユースケースに変更できます。
-
トレーニングデータセットを準備します。
-
次の 1 行を含むトレーニングデータセットファイルを作成し、そのファイルに
train.jsonl
という名前を付けます。{"prompt": "what is AWS", "completion": "it's Amazon Web Services"}
-
トレーニングデータ用に S3 バケットを作成し、出力データ用に別のバケットを作成します (名前は一意である必要があります)。
-
train.jsonl
をトレーニングデータバケットにアップロードします。
-
-
トレーニングにアクセスするためのポリシーを作成し、Amazon Bedrock の信頼関係を持つ IAM ロールにアタッチします。任意の方法のタブを選択し、ステップに従います。
-
S3 ポリシーを作成します。
-
IAM コンソール (https://console.aws.amazon.com/iam
) に移動し、左側のナビゲーションペインで [ポリシー] を選択します。 -
[ポリシーの作成] を選択し、[JSON] を選択して [ポリシーエディタ] を開きます。
-
次のポリシーを貼り付け、
${training-bucket}
および${output-bucket}
をバケット名に置き換えたら、[次へ] を選択します。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::
${training-bucket}
", "arn:aws:s3:::${training-bucket}
/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::${output-bucket}
", "arn:aws:s3:::${output-bucket}
/*" ] } ] } -
ポリシーに
MyFineTuningDataAccess
と名前を付け、[ポリシーを作成] を選択します。
-
-
IAM ロールを作成して、ポリシーをアタッチします。
-
左側のナビゲーションペインで [ロール] > [ロールの作成] の順に選択します。
-
[カスタム信頼ポリシー] を選択し、以下のポリシーを貼り付けて、[次へ] を選択します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
作成した
MyFineTuningDataAccess
ポリシーを検索し、チェックボックスをオンにして、[次へ] を選択します。 -
MyCustomizationRole
ロールに名前を付け、[ロールを作成]
を選択します。
-
-
言語を選択すると、model customization API オペレーションを呼び出すコードサンプルが表示されます。
まず、FineTuningData.json
という名前のテキストファイルを作成します。以下から JSON コードをテキストファイルにコピーし、${training-bucket}
と ${output-bucket}
を S3 バケット名に置き換えます。
{
"trainingDataConfig": {
"s3Uri": "s3://${training-bucket}
/train.jsonl"
},
"outputDataConfig": {
"s3Uri": "s3://${output-bucket}
"
}
}
モデルカスタムジョブを送信するには、ターミナルで FineTuningData.json
を含むフォルダに移動し、コマンドラインで次のコマンドを実行し、${your-customization-role-arn}
を設定したモデルカスタマイズロールに置き換えます。
aws bedrock create-model-customization-job \ --customization-type FINE_TUNING \ --base-model-identifier arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-text-express-v1 \ --role-arn
${your-customization-role-arn}
\ --job-name MyFineTuningJob \ --custom-model-name MyCustomModel \ --hyper-parameters epochCount=1,batchSize=1,learningRate=.0001,learningRateWarmupSteps=0 \ --cli-input-json file://FineTuningData.json
レスポンスは jobArn
を返します。ジョブが完了するまで待機します。次のコマンドを使用して、状態を確認します。
aws bedrock get-model-customization-job \
--job-identifier "jobArn
"
status
がCOMPLETE
の場合、レスポンスに trainingMetrics
が表示されます。次のコマンドを実行して、aet.et-bucket
を出力バケット名に置き換え、jobId
をカスタムジョブの ID (jobArn
の最後のスラッシュの後のシーケンス) に置き換えることで、アーティファクトを現在のフォルダにダウンロードできます。
aws s3 cp s3://
${output-bucket}
/model-customization-job-jobId
. --recursive
次のコマンドを使用して、カスタムモデルのコミットなしのプロビジョンドスループットを購入します。
注記
この購入は時間単位で課金されます。コンソールを使用して、さまざまなオプションの料金見積りを表示します。
aws bedrock create-provisioned-model-throughput \ --model-id MyCustomModel \ --provisioned-model-name MyProvisionedCustomModel \ --model-units 1
レスポンスは provisionedModelArn
を返します。プロビジョンドスループットが作成されるまで待機します。状態を確認するには、次のコマンドで、プロビジョニングされたモデルの名前または ARN を provisioned-model-id
として指定します。
aws bedrock get-provisioned-model-throughput \ --provisioned-model-id
${provisioned-model-arn}
status
が InService
の場合、次のコマンドを使用すると、カスタムモデルで推論を実行できます。プロビジョニングされたモデルの ARN を model-id
として指定する必要があります。出力は、現在のフォルダの output.txt
という名前のファイルに書き込まれます。
aws bedrock-runtime invoke-model \
--model-id ${provisioned-model-arn}
\
--body '{"inputText": "What is AWS?", "textGenerationConfig": {"temperature": 0.5}}' \
--cli-binary-format raw-in-base64-out \
output.txt