💱

Azure OpenAI のデプロイ選択(GlobalStandard/Standard/PTU)について考える

2024/08/14に公開

やりたいこと

Azure OpenAIを使うにあたり、モデル選択、レート制限、リージョンなどを決める必要があり、
それらは、コスト、性能要件、セキュリティ(データ的にリージョンの制約があったり)などで決まるかなと。

現在、AOAIのデプロイ選択には下記の4つの選択があります。
Global-Batch / グローバル標準 / Standard / プロビジョニング済み

https://learn.microsoft.com/ja-jp/azure/ai-services/openai/how-to/deployment-types

そこで、GlobalStandardとStandardの違いと、PTUを選択する必要がある場合について簡単にメモします。

GlobalStandardとStandardの違い

まず、公式ページを見ると下記の記載があります。

Global-Standard では、Standard よりも高い既定クォータとより多くのモデルを利用できます。

データ処理の場所に関する要件がない運用アプリケーション向け。

つまり、セキュリティ的にデータ処理が許可されるリージョンが決まっているわけでない場合は、
レート制限の上限が高いGlobal-Standardを選択したら良いかと。

どのくらいレート制限が違うのか見てみると、リージョンでも少し違いがあるみたいですが、
Global-Standardのeastusだと440K、japaneastだと450Kがレート制限の上限でした。

Standardのレート制限は100Kのようです。

約4倍くらいGlobal-Standardはレート制限の上限が引き上げられるみたいです。

ちなみに、コスト的な違いはGPT-4oに関してはStandardとGlobal-Standardで違いはないのかなと。
4o-miniでは若干Global-Standardがトークンあたりのコストは安そうです。

PTUを選択する場合

PTUの説明には下記があります。

非常に高く予測可能なスループットでのリージョン アクセス。 提供されている容量計算ツールを使用して PTU あたりのスループットを決定します

つまり、性能要件でどのくらいのスループットを捌く必要があるかが定められた場合、ピーク時のリクエスト数、入力や出力(max_tokens)などのトークン消費の見積もりから、PTUを利用することで、AOAIでのスループットを確保します。

PTUのコスト見積もりはAOAI Studioでできます。

仮に、インプットのトークン数がある程度決まっていて、1分あたりのピーク時の呼び出し数を100にすると最低限のPTU:50(32)で良いとか、呼び出し数が1000だとPTU:350(320)が必要だとか計算してくれます。
※()内の数字は実際に必要なPTUだと思われます。

ちなみに、PTUのコストは以前は問い合わせでしたが、今は料金ツールに表示されてるんですね。
ただ、ボリュームディスカウントとかある気がするんだけど、その辺は不明です。

あと、PTUはリージョンに紐づくみたいなので、Global-StandardでPTUの利用はできなさそうです。

まとめ

Global-StandardとStandardの違いは明確で、PTUの計算もツールを使えば簡単でした。

ただ実際は、AOAIのスループットだけでなく色々なところがボトルネックになると思うので、負荷テストはやった方が良いのかなと。

ヘッドウォータース

Discussion