Azure OpenAI Service の クォータ管理
はじめに
Azrue OpenAI Service に クォータ管理が追加されました。Azure OpenAI Service を含むアーキテクチャー検討にも影響する重要な機能追加ですので情報をまとめました。
クォータ管理でできること
クォータ管理を使うと、ユーザーのサブスクリプション・リージョンごとに与えられた Tokens Per Minute (TPM) のクォータを、各デプロイに対してユーザー任意の値 (1K 単位) で割り当てることができます。これにより、独自にスロットリングを実装しなくてもワークロードごとに利用できる TPM に制限をかけることができるようになりました。
なお、Requests Per Minute (RPM) に関しては、今後は 1K TPM あたり 6 RPM という値が自動的に適用されるようです。
デプロイが作成されると、割り当てられた TPM は、推論要求で適用される TPM (Tokens-per-Minute) のレート制限に直接マップされます。 1 分あたりの要求 (RPM) レート制限も適用され、その値は次の比率を使用して TPM 割り当てに比例して設定されます。
1000 TPM あたり 6 RPM。
参考
図解
文章では説明しづらいため図解します。
クォータの概念
TPM クォータはユーザーのサブスクリプション内でリージョンごとに割り当てられていて、リージョンをまたいでの割り当ては出来ません。リージョンごとにクォータのバケツが存在していて、その中から各デプロイにクォータを分けていくイメージです。また、このバケツはモデルごとに存在しています。
-
gpt-35-turbo
の例。 -
gpt-35-turbo
が利用可能な 4 リージョン (執筆時点) すべてで利用申請が承認されている状況を想定。
参考
例
East US リージョン内でのクォータ割り当てを考えます。執筆時点で gpt-35-turbo
にはリージョンごとにデフォルトで 240K TPM のクォータが与えられています。
ここでは、新規作成したデプロイに 120K TPM のクォータを割り当てています。これにより、East US リージョンの gpt-35-turbo
の自由な残りクォータは 120K TPM になります。
再び、新規デプロイを作成して 120K TPM のクォータを割り当てます。これにより、East US リージョンの gpt-35-turbo
の自由な残りクォータは 0 TPM になります。
リージョンの自由なクォータが残っていない場合、それ以上のデプロイを作成できなくなります。新規デプロイを作成したい場合は、既存デプロイのクォータを変更したり、もしくはデプロイ自体を削除したりして、クォータをリージョンのバケツに戻す必要があります。
クォータ割り当てと確認
割り当て
新規デプロイ時に Advanced options
を開いて割り当てる TPM を指定します。その際、そのリージョンで未割り当て (自由な) クォータの値と、設定した TPM に対応する RPM の値 (1K TPM あたり 6 RPM) が表示されます。
確認
デプロイの詳細画面からクォータの割り当てを確認できます。また、Edit deployment
からクォータを変更することもできます。
Azrue OpenAI Studio の Quotas
タブからは、クォータ割り当ての一覧を確認することができます。
この画面からはクォータ引き上げ申請を行うこともできます。ただし、執筆時点でクォータ引き上げ申請に関してはドキュメントに以下のような記述が存在します。
クォータの増加要求は、Azure OpenAI Studio の [クォータ] ページから送信できます。 現在、需要が多いため、新しいクォータ増加要求は承認されません。 要求は、後で処理できるようになるまでキューに入れられます。
参考
おわりに
以上です。🍵
Discussion