Vertex AI の Llama モデルは、API としてフルマネージド モデルとサーバーレス モデルを提供します。Vertex AI で Llama モデルを使用するには、Vertex AI API エンドポイントにリクエストを直接送信します。Llama モデルはマネージド API を使用します。インフラストラクチャをプロビジョニングしたり、管理する必要はありません。
レスポンスをストリーミングして、エンドユーザーのレイテンシを軽減できます。ストリーミング レスポンスでは、サーバー送信イベント(SSE)を使用してレスポンスを段階的にストリーミングします。
プレビュー期間中は無料でご利用いただけます。プロダクション レディなサービスが必要な場合は、セルフホストの Llama モデルを使用します。
使用可能な Llama 3.1 モデル
Llama 3.1 は、最適化された Transformer アーキテクチャを使用する自動回帰言語モデルです。チューニング済みのバージョンでは、教師ありファインチューニング(SFT)と人間からのフィードバックを用いた強化学習(RLHF)を使用して、人間の好みに合わせて有用性と安全性を調整します。
Vertex AI で使用できる Meta の Llama モデルは次のとおりです。Llama モデルにアクセスするには、Model Garden のモデルカードに移動します。
Llama 3.1 405B
Llama 3.1 405B は、Meta のこれまでで最も強力で汎用性の高いモデルです。一般公開されている基盤モデルとして最大のもので、合成データの生成からモデルの抽出、制御可能性、数学、ツールの使用、多言語翻訳などに利用できます。詳細については、Meta の Llama 3.1 サイトをご覧ください。
Llama 3.1 405B は、次のユースケース向けに最適化されています。
- エンタープライズ レベルのアプリケーション
- 研究開発(R&D)
- 合成データの生成とモデルの抽出
Llama モデルを使用する
Llama のモデルを使用するリクエストを送信する場合は、次のモデル名を使用します。
- Llama 3.1 405B の場合は
llama3-405b-instruct-mass
を使用します。
モデル バージョンの違いが考えられるため、@
記号で始まる接尾辞を含むモデル バージョンを使用することをおすすめします。モデルのバージョンを指定しないと、常に最新バージョンが使用されます。モデルのバージョンが変更されたときに、ワークフローに影響が及ぶ可能性があります。
始める前に
Vertex AI で Llama モデルを使用するには、次の操作を行う必要があります。Vertex AI を使用するには、Vertex AI API(aiplatform.googleapis.com
)を有効にする必要があります。既存のプロジェクトで Vertex AI API が有効になっている場合は、新しいプロジェクトを作成する代わりに、そのプロジェクトを使用できます。
パートナー モデルを有効にして使用するために必要な権限があることを確認します。詳細については、必要な権限を付与するをご覧ください。
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
- 次のいずれかの Model Garden モデルカードに移動し、[有効にする] をクリックします。
Llama モデルにストリーミング呼び出しを行う
次のサンプルでは、Llama モデルに対してストリーミング呼び出しを行います。
REST
環境をセットアップしたら、REST を使用してテキスト プロンプトをテストできます。次のサンプルは、パブリッシャー モデルのエンドポイントにリクエストを送信します。
リクエストのデータを使用する前に、次のように置き換えます。
- LOCATION: Llama モデルをサポートするリージョン。
- MODEL: 使用するモデル名。
- ROLE: メッセージに関連付けられたロール。
user
またはassistant
を指定できます。最初のメッセージでは、user
ロールを使用する必要があります。Claude モデルはuser
とassistant
のターンを交互に操作します。最後のメッセージがassistant
ロールを使用する場合、そのメッセージのコンテンツの直後にレスポンス コンテンツが続きます。これを使用して、モデルのレスポンスの一部を制限できます。 - CONTENT:
user
またはassistant
のメッセージの内容(テキストなど)。 - MAX_OUTPUT_TOKENS: レスポンスで生成できるトークンの最大数。1 トークンは約 4 文字です。100 トークンは約 60~80 語に相当します。
レスポンスを短くしたい場合は小さい値を、長くしたい場合は大きい値を指定します。
- STREAM: レスポンスがストリーミングされるかどうかを指定するブール値。レスポンスのストリーミングを行うことで、エンドユーザーが認識するレイテンシを短縮できます。レスポンスをストリーミングする場合は
true
、すべてのレスポンスを一度に戻すにはfalse
に設定します。
HTTP メソッドと URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions
リクエストの本文(JSON):
{ "model": "meta/MODEL", "messages": [ { "role": "ROLE", "content": "CONTENT" } ], "max_tokens": MAX_OUTPUT_TOKENS, "stream": true }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
Llama モデルに単一呼び出しを行う
次のサンプルでは、Llama モデルに対して単一呼び出しを行います。
REST
環境をセットアップしたら、REST を使用してテキスト プロンプトをテストできます。次のサンプルは、パブリッシャー モデルのエンドポイントにリクエストを送信します。
リクエストのデータを使用する前に、次のように置き換えます。
- LOCATION: Llama モデルをサポートするリージョン。
- MODEL: 使用するモデル名。
- ROLE: メッセージに関連付けられたロール。
user
またはassistant
を指定できます。最初のメッセージでは、user
ロールを使用する必要があります。Claude モデルはuser
とassistant
のターンを交互に操作します。最後のメッセージがassistant
ロールを使用する場合、そのメッセージのコンテンツの直後にレスポンス コンテンツが続きます。これを使用して、モデルのレスポンスの一部を制限できます。 - CONTENT:
user
またはassistant
のメッセージの内容(テキストなど)。 - MAX_OUTPUT_TOKENS: レスポンスで生成できるトークンの最大数。1 トークンは約 4 文字です。100 トークンは約 60~80 語に相当します。
レスポンスを短くしたい場合は小さい値を、長くしたい場合は大きい値を指定します。
- STREAM: レスポンスがストリーミングされるかどうかを指定するブール値。レスポンスのストリーミングを行うことで、エンドユーザーが認識するレイテンシを短縮できます。レスポンスをストリーミングする場合は
true
、すべてのレスポンスを一度に戻すにはfalse
に設定します。
HTTP メソッドと URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions
リクエストの本文(JSON):
{ "model": "meta/MODEL", "messages": [ { "role": "ROLE", "content": "CONTENT" } ], "max_tokens": MAX_OUTPUT_TOKENS, "stream": false }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
例
Llama モデルの使用例を確認するには、次のノートブックを実行します。
説明 | 開始 |
---|---|
Llama Guard を使用して LLM の入力と出力を保護します。 |
Colab GitHub Vertex AI Workbench |
Automatic side-by-side(AutoSxS)評価を使用して Llama 3.1 モデルを評価します。 |
Colab GitHub Vertex AI Workbench |
Llama モデルで利用可能なリージョンと割り当て
Llama モデルの場合、モデルが使用可能なリージョンごとに割り当てが適用されます。割り当ては、1 分あたりのクエリ数(QPM)で指定されます。
次の表に、各 Llama モデルのサポートされているリージョン、デフォルトの割り当て、最大コンテキスト長を示します。
Llama 3.1 405B
リージョン | 割り当てシステム | サポートされているコンテキストの長さ |
---|---|---|
us-central1 |
60 QPM | 32,000 トークン |
Vertex AI の生成 AI の割り当てを引き上げる場合は、Google Cloud コンソールから割り当ての増加をリクエストできます。割り当ての詳細については、割り当てを操作するをご覧ください。