管理 Azure OpenAI 服務配額

配額可讓您彈性地管理訂用帳戶內各個部署的速率限制配置。 本文將逐步解說管理 Azure OpenAI 配額的流程。

必要條件

重要

檢視配額和部署模型需要 認知服務使用方式讀取者 角色。 此角色提供在 Azure 訂用帳戶中檢視配額使用量所需的最小存取權。 若要深入了解此角色和您需要存取 Azure OpenAI 的其他角色,請參閱 Azure 角色型存取 (Azure RBAC) 指南

您可以在 Azure 入口網站中 [訂用帳戶]>[存取控制 (IAM)]>[新增角色指派]>下,搜尋 [認知服務使用方式讀取者] 以找到此角色。此角色必須在訂用帳戶層級套用,它不存在於資源層級。

如果您不想使用此角色,訂用帳戶 讀取者 角色會提供對等的存取權,但它也會授與檢視配額和模型部署所需範圍以外的讀取權限。

配額簡介

Azure OpenAI 的配額功能可讓您將速率限制指派給您的部署,最多可指派稱為「配額」的全域限制。 配額會以 每分鐘權杖 (TPM) 為單位,以每個區域、每個模型為基礎指派給您的訂用帳戶。 當您將訂用帳戶上線至 Azure OpenAI 時,您會收到大部分可用模型的預設配額。 然後,您會在建立 TPM 時,將 TPM 指派給每個部署,而該模型的可用配額將會減少指派的數量。 您可以繼續建立部署並指派 TPM 給部署,直到達到配額限制為止。 一旦達到配額,您只能藉由減少指派給相同模型其他部署的 TPM (藉此釋放 TPM 以供使用) 來建立該模型的新部署,或要求並核准在所需區域中增加模型配額。

注意

在美國東部 GPT-35-Turbo 配額為 240,000 TPM 的情況下,客戶可以在美國東部建立 240K TPM 的單一部署、2 個各 120K TPM 的部署,或一或多個 Azure OpenAI 資源中任何數目的部署,只要其 TPM 的總和少於該區域的 240K 總計即可。

建立部署時,指派的 TPM 會直接對應至在其推斷要求上強制執行的每分鐘權杖速率限制。 也會強制執行 每分鐘要求 (RPM) 速率限制,其值會依下列比例設定為 TPM 指派:

每 1000 TPM 6 RPM。

在訂用帳戶和區域內全域散發 TPM 的彈性,使得 Azure OpenAI 服務放寬了其他限制:

  • 每個區域的資源上限會增加到 30。
  • 已移除在資源中建立不超過一個相同模型部署的限制。

指派配額

當您建立模型部署時,您可以選擇將每分鐘權杖 (TPM) 指派給該部署。 TPM 可以以 1,000 遞增進行修改,並對應至在部署上強制執行的 TPM 和 RPM 速率限制,如上所述。

若要從 Azure AI Studio 的 [管理] 内建立新的部署,請選取 [部署]>[建立新的部署]

設定 TPM 的選項位於 [進階選項] 下拉式清單底下:

Screenshot of the deployment UI of Azure AI Studio

部署後,您可以選取 Azure AI Studio 中 [管理]>[部署] 下的 [編輯部署],以調整 TPM 配置。 您也可以在 [管理]>[配額] 下的新配額管理體驗中修改此選取項目。

重要

配額和限制可能會變更,如需最新資訊,請參閱我們的 配額和限制一文

模型特定設定

不同的模型部署也稱為模型類別有唯一 TPM 值上限,而您現在可以控制它。 這代表可配置給指定區域中該類型模型部署的 TPM 數量上限。 雖然每個模型類型都代表自己的唯一模型類別,但只有特定模型類別目前的最大 TPM 值不同:

  • GPT-4
  • GPT-4-32K
  • Text-davinci-003

所有其他模型類別都有通用的最大 TPM 值。

注意

配額每分鐘權杖 (TPM) 配置與模型的輸入權杖上限無關。 模型輸入權杖限制是在模型資料表中定義,而且不會受 TPM 變更的影響。

檢視和要求配額

如需指定區域中各個部署之間配額配置的所有檢視,請選取 Azure AI Studio 中的 [管理]>[配額]:

Screenshot of the quota UI of Azure AI Studio

  • 配額名稱: 每個模型類型的每個區域都有一個配額值。 配額涵蓋該模型的所有版本。 配額名稱可以在使用者介面中展開,以顯示使用配額的部署。
  • 部署: 模型部署除以模型類別。
  • 使用量/限制: 針對配額名稱,這會顯示部署所使用的配額,以及針對此訂用帳戶和區域核准的總配額。 使用的配額數量也會在橫條圖中表示。
  • 要求配額: 此欄位中的圖示會瀏覽至可提交增加配額要求的表單。

正在移轉現有的部署

在轉換至新的配額系統和 TPM 型配置的過程中,所有現有的 Azure OpenAI 模型部署都已自動移轉為使用配額。 如果現有的 TPM/RPM 配置因為先前的自訂速率限制增加而超過預設值,則相等的 TPM 會指派給受影響的部署。

了解速率限制

將 TPM 指派給部署,會為部署設定每分鐘權杖 (TPM) 和每分鐘要求 (RPM) 速率限制,如上所述。 TPM 速率限制是根據收到要求時,要求預估要處理的權杖數目上限。 它與用於計費的權杖計數不同,那會在完成所有處理之後計算。

收到每個要求時,Azure OpenAI 會計算估計的處理權杖計數上限,其中包含下列項目:

  • 提示文字和計數
  • max_tokens 參數設定
  • best_of 參數設定

當要求進入部署端點時,估計的最大處理權杖計數會新增至每個分鐘重設之所有要求的執行中權杖計數。 如果在該分鐘期間達到了 TPM 速率限制值,則進一步的要求將會收到 429 回應碼,直到計數器重設為止。

RPM 速率限制是以一段時間收到的要求數目為基礎。 速率限制預期要求在一分鐘的期間內平均分散。 如果未維護此平均流程,則要求可能會收到 429 回應,即使在一分鐘內測量時未符合限制也一樣。 為了實作此行為,Azure OpenAI 服務會評估一小段時間內傳入要求的速率,通常是 1 或 10 秒。 如果在該時間期間收到的要求數目超過設定 RPM 限制的預期數目,則新的要求將會收到 429 回應碼,直到下一個評估期間為止。 例如,如果 Azure OpenAI 在 1 秒間隔上監視要求速率,則在每 1 秒期間收到超過 10 個要求時 (每分鐘 600 個要求 = 每秒 10 個要求),會針對 600 RPM 部署進行速率限制。

速率限制最佳做法

若要盡量減少與速率限制相關的問題,最好使用下列技術:

  • 將 max_tokens 和 best_of 設定為符合您案例需求的最小值。 例如,如果您預期回應很小,請勿設定大型 max-token 值。
  • 使用配額管理在具有高流量的部署上增加 TPM,並在具有有限需求的部署上減少 TPM。
  • 在您的應用程式中實作重試邏輯。
  • 避免工作負載急遽變化。 逐漸增加工作負載。
  • 測試不同的負載增加模式。

自動化部署

本章節包含簡短的範例範本,可協助您開始以程式設計方式建立使用配額來設定 TPM 速率限制的部署。 引進配額後,您必須針對資源管理相關活動使用 API 版本 2023-05-01。 此 API 版本僅適用於管理您的資源,且不會影響用來推斷呼叫的 API 版本,例如完成、聊天完成、內嵌、影像產生等。

部署

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/deployments/{deploymentName}?api-version=2023-05-01

路徑參數

參數 類型 是必要的嗎? 描述
accountName string 必要 Azure OpenAI 資源的名稱。
deploymentName string 必要 部署現有模型時所選擇的部署名稱,或您為新模型部署使用的名稱。
resourceGroupName string 必要 此模型部署的相關資源群組名稱。
subscriptionId string 必要 相關聯的訂用帳戶的訂用帳戶識別碼。
api-version string 必要 用於此作業的 API 版本。 這會遵循 YYYY-MM-DD 格式。

支援的版本

要求本文

這只是可用要求主體參數的子集。 如需參數的完整清單,您可以參考 REST API 參考文件

參數 類型 描述
SKU Sku 代表 SKU 的資源模型定義。
處理能力 整數 這代表您要指派給此部署的 配額 數量。 值為 1 等於每分鐘 1,000 個權杖 (TPM)。 值為 10 等於每分鐘 10,000 個權杖 (TPM)。

範例要求

curl -X PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-temp/providers/Microsoft.CognitiveServices/accounts/docs-openai-test-001/deployments/gpt-35-turbo-test-deployment?api-version=2023-05-01 \
  -H "Content-Type: application/json" \
  -H 'Authorization: Bearer YOUR_AUTH_TOKEN' \
  -d '{"sku":{"name":"Standard","capacity":10},"properties": {"model": {"format": "OpenAI","name": "gpt-35-turbo","version": "0613"}}}'

注意

有多種方式可以產生授權權杖。 初始測試最簡單的方法是從 Azure 入口網站啟動Cloud Shell。 接著,執行 az account get-access-token。 您可以使用此權杖作為 API 測試的暫時授權權杖。

如需詳細資訊,請參閱 REST API 參考文件以取得 使用方式部署

使用方式

若要針對特定訂用帳戶查詢指定區域中的配額使用量

GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/usages?api-version=2023-05-01

路徑參數

參數 類型 是必要的嗎? 描述
subscriptionId string 必要 相關聯的訂用帳戶的訂用帳戶識別碼。
location string 必要 檢視使用量的位置,例如: eastus
api-version string 必要 用於此作業的 API 版本。 這會遵循 YYYY-MM-DD 格式。

支援的版本

範例要求

curl -X GET https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CognitiveServices/locations/eastus/usages?api-version=2023-05-01 \
  -H "Content-Type: application/json" \
  -H 'Authorization: Bearer YOUR_AUTH_TOKEN' 

資源刪除

嘗試從 Azure 入口網站刪除 Azure OpenAI 資源時,如果有任何部署仍然存在,會封鎖刪除直到刪除相關聯的部署為止。 刪除部署會先允許適當釋放配額配置,以便在新的部署上使用。

不過,如果您使用 REST API 或其他程式設計方法刪除資源,這會略過先刪除部署的需求。 發生這種情況時,在 48 小時内,相關聯的配額配置將無法指派給新的部署,直到清除資源為止。 若要觸發已刪除資源的立即清除以釋出配額,請遵循 清除已刪除的資源指示

下一步