model-deployment について
SageMaker Serverless Model CustomizationでLoRAファインチューニングしたNovaおよびOSSモデル向けに、デプロイ経路を選び、コード生成を支援するスキルです。トレーニングジョブを確認し、SageMakerまたはBedrockの選択肢を提示して、要所でユーザーの確認を求めます。
主な機能
- 01トレーニングジョブ情報とモデル種別の確認
- 02対象となるLoRA調整済みNova・OSSモデルのサポート
- 03SageMakerまたはBedrockの選択支援
- 04デプロイ前のモデルライセンス提示
- 05デプロイ概要と削除方法の案内
活用シーン
- 01対応するファインチューニング済みモデルの配置先選び
- 02SageMakerトレーニングジョブ情報からのデプロイ手順作成
- 03デプロイ前の対応状況とライセンス確認
MCP 対応
AWS MCPツールを使ってトレーニングジョブの情報とタグを取得します。MCPサーバーを提供するとの説明はありません。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ awslabs/ agent-plugins --skill model-deploymentインストール後、Claude Code で/model-deploymentを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
code_templates/deploy-nova-bedrock.pydeploy-nova-sagemaker.pydeploy-oss-bedrock.pydeploy-oss-sagemaker.pyreferences/code_output_guide.mddeploy-nova-bedrock.mddeploy-nova-sagemaker.mddeploy-oss-bedrock.mddeploy-oss-sagemaker.mdmodel-licenses.md詳細
モデルのデプロイ
モデルの特性に基づいて適切なデプロイ方法を特定し、デプロイコードを生成します。
対象範囲
このスキルがサポートするのは、SageMaker Serverless Model Customization を通じてファインチューニングされた Nova モデルと OSS モデルのデプロイのみです。
サポート対象外:
- ベースモデル(ファインチューニングされていないモデル)
- 他のプロセスを通じてファインチューニングされたモデル
- Full Fine-Tuning(FFT)— LoRA でファインチューニングされたモデルのみサポートされます
前提条件
- SDK 環境が確認済みであること(SDK のバージョン、リージョン、実行ロール)。未確認の場合は、先に
sdk-getting-startedスキルを有効にしてください。
原則
- 一度に一つのことだけ進めます。 各応答で進めるのは、判断事項一つだけです。
- 次に進む前に確認します。 先に進む前に、ユーザーの同意を待ちます。ただし、会話ですでに回答済みの質問は再度尋ねず、把握している情報を使います。
- 必要になるまでファイルを読みません。 デプロイ方法が確定してから、その方法に関する資料だけを読みます。
- 把握している情報を活用します。 会話の履歴や成果物ですでに質問への回答が得られる場合は、再度尋ねるのではなく、認識が正しいか確認します。
ワークフロー
ステップ 1:トレーニングジョブを特定する
トレーニングジョブ名または ARN が必要です。まず会話の履歴を確認してください。ユーザーがすでに言及している場合や、ワークフローの前のステップ(ファインチューニングなど)で取得できる場合があります。見つからない場合は、ユーザーに尋ねてください。
トレーニングジョブ名または ARN を取得したら、AWS MCP ツールを使って検索します。
- AWS MCP ツール
describe-training-jobを使用し、以下を抽出します。- S3 出力パス(
ModelArtifacts.S3ModelArtifactsまたはOutputDataConfig.S3OutputPathから) - IAM ロール ARN(
RoleArnから) - リージョン
- S3 出力パス(
- トレーニングジョブ ARN に対して AWS MCP ツール
list-tagsを使用し、以下を抽出します。sagemaker-studio:jumpstart-model-idタグからモデル ID
- モデル ID からモデルタイプを判定します。
- 「nova」を含む(nova-micro、nova-lite、nova-pro)→ Nova
- Llama、Mistral、Qwen、GPT-OSS、DeepSeek など → OSS
サポート対象外のモデル: このスキルがサポートするのは、SageMaker Serverless Model Customization を通じて LoRA でファインチューニングされた OSS モデルと Nova モデルのみです。モデルが該当しない場合は、このスキルでは対応できないことをユーザーに伝え、ファインチューニングスキルを案内してください。
ステップ 2:デプロイ先として選択可能な対象を判定する
以下の表を使用します。
| モデルタイプ | 選択可能な対象 |
|---|---|
| OSS | SageMaker, Bedrock |
| Nova | SageMaker, Bedrock |
選択可能な対象が一つだけの場合は、ユーザーに確認してください。ステップ 5 の情報を使用します。
選択可能な対象が複数ある場合は、ユーザーの選択を支援してください。ステップ 5 の情報を使用します。
選択可能な対象がない場合は、その旨と理由をユーザーに伝えてください。
ステップ 3:ユーザーにデプロイ先を選んでもらう
選択可能な対象をユーザーに提示します。SageMaker と Bedrock の両方が選択肢にある場合は、決定に役立つよう、以下の情報を提示してください。
SageMaker エンドポイント:
- 安定したパフォーマンスを実現する専用のコンピューティングリソース
- インスタンスタイプとスケーリングを制御可能
- レイテンシー要件が明確な予測可能なワークロードに最適
Bedrock:
- フルマネージドのサーバーレス推論
- 容量計画不要で即座に自動スケーリング
- リクエストごとの従量課金
- 需要の変動があるワークロードに最適
推奨してはいけません。ユーザーに選んでもらってください。
ユーザーから求められない限り、マージ済み/未マージの重み、参照ファイル、API などの技術的な詳細には触れないでください。
⏸ ユーザーがデプロイ先を選択するまで待ちます。
ステップ 4: ライセンス契約の表示
デプロイに進む前に、モデルのライセンスまたは利用規約をユーザーに表示します。
references/model-licenses.mdを読み込み、モデル ID (ステップ 1 で決定) でモデルを検索します。- Notes 列の指示に従います — 提供されている正確な文言を使用してください。
- モデル ID が表に見つからない場合は、そのモデルのライセンス情報が見つからなかったことをユーザーに警告し、進める前にライセンスを独自に確認するよう推奨します。
⏸ 進める前に、ユーザーが確認するまで待機します。
ステップ 5: パスウェイワークフローの実行
選択したパスウェイの参照ファイルを読み込み、その指示に従います。
| モデルタイプ | デプロイ先 | 参照 |
|---|---|---|
| OSS | SageMaker | references/deploy-oss-sagemaker.md |
| OSS | Bedrock | references/deploy-oss-bedrock.md |
| Nova | SageMaker | references/deploy-nova-sagemaker.md |
| Nova | Bedrock | references/deploy-nova-bedrock.md |
ステップ 6: デプロイ後の概要
デプロイが完了したら、ユーザーに概要を提供します。ステップ 5 で従ったパスウェイ参照ドキュメントの詳細を使用して、以下のトピックを網羅してください。
- デプロイされた内容 — エンドポイントまたはモデル名、ARN、ステータス
- 使用方法 — 特定のデプロイ先向けのサンプル呼び出しコード
- コスト — 課金モデル (インスタンスベースかリクエストごとの従量課金か) と予想される内容
- クリーンアップ — 完了時にエンドポイントまたはモデルを削除する方法
トラブルシューティング
モデルが LoRA または FFT でファインチューニングされたかどうかを確認する方法
デプロイが予期せず失敗した場合、モデルは LoRA ではなくフルファインチューニング (FFT) されている可能性があります。確認するには、トレーニングジョブの hydra 設定を S3 出力パスの .hydra/config.yaml からダウンロードします:
peft_configが設定されている (r、alpha、dropout など) → LoRA (サポート対象)peft_config: null→ FFT (このスキルではサポート対象外)