SageMaker Unified Studio の JumpStart で Llama 3.3 70B をデプロイしてみる
こんにちは、森田です。
以下のアップデートで Amazon SageMaker JumpStart で Llama 3.3 70B が利用可能となりました。
本記事では、SageMaker JumpStart で Llama 3.3 70B をデプロイしてみます。
また、JumpStart については、SageMaker Unified Studio から行ってみます。
やってみた
前提条件
SageMaker Unified Studio のドメインは作成済みとします。

プロジェクトの作成
Unified Studio 内でプロジェクトを作成します。
今回はモデル開発を行うため、プロファイルに「Data analytics and AI-ML model development」を選択して、作成を行います。

以下のようにステータスがアクティブになるまで待機します。

JumpStart からモデルをデプロイ
作成したプロジェクトを選択して、Jumpstart modelsを開きます。

Llama 3.3 70Bを選択します。

右上の「Depoly」をクリックします。

今回はインスタンスタイプは、ml.p4d.24xlargeを選択して「Deploy」をクリックします。

ちなみに、当初は、ml.g5.48xlargeを選択して「Deploy」してましたが、以下のようにエラーが発生しました。

Deploy後は、Status が InService になるまで待機します。

エンドポイントからのモデルの呼び出し
「Test inference」をクリックすると、モデル呼び出し用のサンプルコードが用意されています。
今回は JupyterLab を使ってモデル呼び出しを行います。

サンプルコードが記載されたノートブックが開きます。

注意点として、デフォルトでインストールされているsagemakerのままではバージョンが対応していないため、以下のエラーが発生します。
KeyError: "Unable to find model manifest for
'meta-textgeneration-llama-3-3-70b-instruct' with version '1.2.0' compatible with your SageMaker version ('2.227.0').
Consider upgrading your SageMaker library to at least version '2.232.1'
so you can use version '1.2.0' of 'meta-textgeneration-llama-3-3-70b-instruct'."
一度以下のコマンドを実行してバージョンを最新化します。
!pip install -U sagemaker
バージョン変更後、以下のコードを実行します。
from sagemaker.predictor import retrieve_default
endpoint_name = "エンドポイント名"
predictor = retrieve_default(endpoint_name)
payload = {
"inputs": "<|begin_of_text|><|start_header_id|>user<|end_header_id|>\n\nあなたのお名前は何ですか?<|eot_id|><|start_header_id|>assistant<|end_header_id|>\n\n",
"parameters": {
"max_new_tokens": 256,
"top_p": 0.9,
"temperature": 0.6
}
}
response = predictor.predict(payload)
print(response)
{'generated_text': '私はAIです。名前は「LLaMA」です。Llamaは、Large Language Model Meta AIの略です。'}
問題なく動作していますね!
さいごに
SageMaker Unified Studio は、従来の JumpStart とほとんど同じ感覚で使えました。
また、作成されたモデルをすぐに試すためのTest inferenceも用意されていて、開発体験が良いです。
このモデルを使ってBedrockにもインポートできそうな気がするので、またの機会に試してみたいと思います。










