Azure OpenAIの各デプロイメントタイプ
はじめに
Azure OpenAIでは、モデルをデプロイするときに5つのデプロイメントタイプを選択することができます。
この記事では、Azure OpenAIのそれぞれのデプロイメントタイプについて紹介します。
Azure OpenAI のデプロイメントタイプ
Azure Open AIでは、以下の5つのデプロイメントタイプが存在します。
- Standard
- Provisioned
- Global Standard
- Global Provisioned
- Global Batch
Azure公式ドキュメント: Azure OpenAI デプロイメントタイプ
Standard
Standardは、Azure OpenAIのサービス開始当初からあるデプロイメントタイプです。
モデルのデプロイ時に設定したTPM(1分当たりのトークン数)を処理上限として、APIのコール時に使用したトークン数に応じて従量課金される形式になっています。
データを処理するリージョンは、作成したAzure OpenAIリソースのリージョンで固定されるため、データを処理する所在地の指定があるリージョンでの利用に適しています。
Azure公式ドキュメント: Azure OpenAI デプロイメントタイプ
Provisioned
Provisionedは、月間または、年間通して使用するスループット(PTU: Provisioned Throughput)を事前予約することができるデプロイメントタイプ。
事前にモデルの処理可能量にあたるPTUを購入することで、以下のメリットが得られます。
Azure公式ドキュメント: Azure OpenAI Provisioned Throughput
- 一貫したレイテンシ: レートリミットによる429エラーの発生が抑止され、応答時間が安定する
- コストの削減: 月間または、年間通しての利用により従量課金よりも安いコストでOpenAIを利用できる
デメリットとしては、
- 未使用時のコストの増加: 事前にPTUを購入するため、使用量が少ない場合にもコストが発生する
Azure OpenAIのモデルバージョンごとに、購入できるPTUの単位や、PTU当たりの処理能力(単位時間当たりで何トークン処理できるかなど)は異なります。
PTU当たりの処理能力や、PTU当たりの料金はドキュメントに記載がないが、Azure OpenAI Studioのモデルのデプロイの画面から、
プロンプトトークン、生成トークン、1分当たりのピーク時のリクエスト数から必要な推定PTUを算出と価格の確認が可能です。
Global Standard/Provisioned
Globalデプロイメントは、Azure基盤側でAzure Open AIへの各リクエストを最も可用性の高いリージョンのデータセンターにルーティングすることで、 通常のデプロイメントタイプよりも高い可用性を提供するデプロイメントタイプ。
・1分当たりのトークンレート上限が標準タイプより高い(gpt-4o:150K → 450K) ・標準タイプと同様に従量課金で利用可能 ・データを処理するリージョンの指定がない本番アプリケーションでの利用に適する
Globalデプロイメントにも、StandardとProvisionedの2種類があります。
Azure公式ドキュメント: Azure OpenAI デプロイメントタイプ
Global Batch
Global Batchは、大量のテキストデータを非同期で処理するためのデプロイメントタイプ。
Azure OpenAI Batch APIを使用して、複数のリクエストが記載されたファイルのリクエストを、非同期で同時に処理することができる。
- 大量データ処理: 数百万件のレコードを含む大規模なデータセットの処理が可能
- 低コスト: Global Standardと比較して50%のコスト削減
- ユースケース
- リアルタイム性が要求されない大規模データ処理で使用を想定
- 大量テキストコンテンツ生成: 商品説明や記事などの大量のテキスト生成。
- 長文文書の処理: 長文の文書のレビューおよび要約を自動化。
- カスタマーサポート自動化: 多数のクエリを同時に処理し、迅速な応答を提供。
- データ抽出および分析: 大量の非構造化データから情報を抽出および分析。
- 大規模自然言語処理タスク: 大規模データから感情分析や翻訳などのタスクを実行。
- リアルタイム性が要求されない大規模データ処理で使用を想定
Azure公式ドキュメント: Azure Batchの使用方法
グローバルバッチのクォーターは以下の通り。
モデル | エンタープライズ契約 | デフォルト | 月額クレジットカードベースのサブスクリプション | MSDN サブスクリプション | Azure for Students、無料試用版 |
---|---|---|---|---|---|
gpt-4o | 5 B | 50 M | 1.35 M | 90 K | - |
gpt-4o-mini | 5 B | 50 M | 1.35 M | 90 K | - |
gpt-4-turbo | 300 M | 40 M | 1.35 M | 90 K | - |
gpt-4 | 150 M | 5 M | 200 K | 100 K | - |
gpt-35-turbo | 10 B | 100 M | 5 M | 2 M | 50 K |
Azure公式ドキュメント: Azure OpenAI Batch deploymentのクォーター
Batch APIは以下のように処理を行う。
- JSONL形式で行ごとにリクエストが記載された単一の入力ファイルを読込、非同期で複数同時リクエストの送信が可能
- 通常に24時間以内に処理が完了、グローバルスタンダードデプロイメントの半額のコストでリクエストを処理。
- 結果は別ファイルに出力される、後からDL可能
Batch APIの入力ファイルは以下のような形式で記載される。
{"custom_id": "task-0", "method": "POST", "url": "/chat/completions", "body": {"model": "REPLACE-WITH-MODEL-DEPLOYMENT-NAME", "messages": [{"role": "system", "content": "You are an AI assistant that helps people find information."}, {"role": "user", "content": "When was Microsoft founded?"}]}}
{"custom_id": "task-1", "method": "POST", "url": "/chat/completions", "body": {"model": "REPLACE-WITH-MODEL-DEPLOYMENT-NAME", "messages": [{"role": "system", "content": "You are an AI assistant that helps people find information."}, {"role": "user", "content": "When was the first XBOX released?"}]}}
{"custom_id": "task-2", "method": "POST", "url": "/chat/completions", "body": {"model": "REPLACE-WITH-MODEL-DEPLOYMENT-NAME", "messages": [{"role": "system", "content": "You are an AI assistant that helps people find information."}, {"role": "user", "content": "What is Altair Basic?"}]}}
おわりに
この記事では、Azure OpenAIの各デプロイメントタイプについて紹介しました。
この記事が、Azure OpenAIを利用されている方の参考になれば幸いです。