Amazon SageMaker AI JumpStart で発生する一般的な問題をトラブルシューティングしたいです。
解決策
SageMaker 基盤モデルが表示されない
SageMaker AI 基盤モデルが SageMaker AI コンソールまたは SageMaker AI Studio に表示されない場合、次のいずれかのエラーが発生する可能性があります。
There's been an error with your request.Please retry and contact support.
Something went wrong: Please ensure that your account is authorized to read from Amazon S3 (お使いのアカウントが Amazon S3 からの読み取りを許可されていることを確認してください)
これらのエラーは、aws-marketplace ポリシーに対する AWS Identity and Access Management (IAM) アクセス許可がない場合や、Amazon Simple Storage Service (Amazon S3) に対する読み取りまたは書き込みアクセス許可がない場合に発生します。
SageMaker AI 基盤モデルにアクセスするには、マネージドポリシー AmazonSageMakerFullAccess を使用してください。このポリシーにアクセスできない場合は、SageMaker AI 基盤モデルのハブに必要なアクセス許可を含むスコープダウンポリシーを使用してください。
SageMaker AI コンソールでエラーが発生した場合は、IAM のランタイムロールに次のポリシーを追加します。
{
"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": "arn:aws:s3:::example-bucket/*",
"Condition": {
"StringEqualsIgnoreCase": {
"s3:ExistingObjectTag/SageMaker": "true"
}
}
},
{
"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": "arn:aws:s3:::example-bucket/*",
"Condition": {
"StringEquals": {
"s3:ExistingObjectTag/servicecatalog:provisioning": "true"
}
}
}
注: example-bucket は、お使いの Amazon S3 バケットに置き換えます。
SageMaker AI Studio でエラーが発生した場合は、ドメインのランタイムロールに次のポリシーを追加します。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sagemaker:InvokePlaygroundEndpoint",
"aws-marketplace:Subscribe",
"aws-marketplace:ViewSubscriptions"
],
"Resource": [
"*"
]
},
{
"Effect": "Allow",
"Action": [
"lambda:InvokeFunction"
],
"Resource": [
"arn:aws:lambda:*:*:function:SageMakerFoundationHubAppConfigLambdaFunction"
]
}
]
}
HeadObject operation: Not Found エラーが発生する
モデルの最新バージョンを使用する際に SageMaker AI Studio ノートブックの model_version 属性を * に設定すると、次のエラーメッセージが表示される場合があります。
An error occurred (404) when calling the HeadObject operation: Not Found
このエラーは、SageMaker がすべてのモデルを更新して非圧縮モデルアーティファクトを使用する場合に発生します。この問題を解決するには、ノートブックの model_version 属性を正確なモデルバージョンに設定します。
Your invocation timed out エラーが発生する
呼び出しを処理するのに、指定した秒数よりも時間がかかる場合、呼び出しタイムアウトが発生します。その結果、次のエラーメッセージが表示されます。
Error: Your invocation timed out while waiting for a response from container primary. (コンテナプライマリからの応答を待っている間に呼び出しがタイムアウトしました)Review the latency metrics for each container in Amazon CloudWatch, resolve the issue, and try again. (Amazon CloudWatch の各コンテナで遅延に関するメトリクスを確認し、問題を解決してから再試行してください)
この問題を解決するには、処理時間を安全なしきい値に設定します。
呼び出しのタイムアウトを回避するには、次のベストプラクティスを実施します。
- 処理時間を指定したしきい値未満に抑えるには、生成するトークンの数を制限します。
- 必要に応じて、入力を複数の呼び出しに分割します。さらに、応答を組み合わせることでコンテキストを指定します。
- ストリーミングレスポンスを使用します。
- 並列リクエストやマルチテナント環境が遅くなった場合は、最大トークンの安全しきい値を増加させます。
タイムアウトが複数回連続する原因となる boto3 クライアントの自動再試行を無効にすることもおすすめします。
import botocore; config=botocore.config.Config(retries=dict(max_attempts=0))
トラブルシューティングを続行するには、Amazon Bedrock または SageMaker AI 推論エンドポイントの Amazon CloudWatch メトリクスを確認してください。
関連情報
カスタム IAM 実行ロールで Amazon SageMaker JumpStart を有効にする
事前トレーニング済みのモデルテーブルを備えた組み込みアルゴリズム (GitHub のウェブサイト)
JumpStart の紹介 - Text to Image (GitHub のウェブサイト)