多租使用者和 Azure OpenAI 服務
Azure OpenAI 可讓您存取 OpenAI 的強大語言模型。 本文說明 Azure OpenAI 對於多租使用者解決方案有説明的主要功能。 檢閱建議的資源,以協助您規劃方法並使用 Azure OpenAI。
隔離模型
當您擁有使用 Azure OpenAI 服務的多租用戶系統時,您必須決定租使用者所需的隔離等級。 您應該根據下列因素來判斷隔離模型:
- 您計劃有多少租用戶?
- 您的租使用者是否具有需要網路或基礎結構隔離的合規性需求?
- 您的租使用者是否需要對其自己的數據進行微調的模型?
- 您的租使用者是否需要不同的模型版本或模型生命週期?
下表摘要說明您在多租用戶系統中使用 Azure OpenAI 服務時可以使用的部署方法:
考量 | 專用 Azure OpenAI 服務 | 共用 Azure OpenAI 服務,每個租使用者專用的模型部署 | 共用 Azure OpenAI 服務、共用模型部署 | 租使用者提供的 Azure OpenAI 服務 |
---|---|---|---|---|
資料隔離 | 高 | 中 | 低 | 高 |
效能隔離 | 高 | 高 | 低中,視每個租使用者的令牌每分鐘 (TPM) 使用量而定。 | 高 |
部署複雜度 | 低中,視租用戶數目而定。 | 中,需要管理部署名稱和配額。 | 低 | 不適用,由客戶管理。 |
操作複雜度 | 低 | 中 | 高 | 提供者的低,租使用者較高。 |
範例案例 | 需要與其他租用戶隔離網路的單一租使用者部署。 | 具有特定模型生命週期或微調需求的租使用者。 | 具有共用應用層的大型多租用戶解決方案。 | 具有特定合規性或微調需求的租使用者。 |
專用 Azure OpenAI 服務
如果您是服務提供者,請考慮為 Azure 訂用帳戶中的每個租使用者部署 Azure OpenAI 實例。 此方法會為每個租使用者提供數據隔離。 當您增加租用戶數目時,需要部署和管理越來越多的 Azure OpenAI 資源。
如果您有每個租用戶的個別應用程式部署,或需要規避限制,例如我們每分鐘配額或要求,請使用此方法。 如需詳細資訊,請參閱 Azure OpenAI 配額和限制。
下圖說明提供者訂用帳戶中每個租使用者的 Azure OpenAI 模型。
共用 Azure OpenAI 服務
您可以選擇在多個租用戶之間共用 Azure OpenAI 的實例。 Azure OpenAI 資源會部署在您的 (服務提供者) Azure 訂用帳戶中。 您負責管理它。 此解決方案最容易實作,但它提供最少的數據隔離和效能隔離。
共用 Azure OpenAI 資源不會為每個模型部署提供安全性分割。 租使用者可能可以使用他們未獲授權使用的模型。 基於這個理由,當您使用微調的模型時,請避免共用 Azure OpenAI 實例,因為您可能會公開敏感性資訊並允許未經授權的租使用者特定數據或資源存取。
在多個租用戶之間共用 Azure OpenAI 的實例,也會導致 Noisy Neighbor 問題。 這可能會導致某些租用戶的延遲較高。 您也需要讓應用程式程式代碼多租使用者感知。 例如,如果您想要向客戶收取共用 Azure OpenAI 實例的耗用量成本,請實作邏輯,以追蹤應用程式中每個租使用者的令牌總數。
您也可以部署多個共用的 Azure OpenAI 實例。 例如,如果您遵循 部署戳記模式,請在每個戳記中部署共用的 Azure OpenAI 實例。 如果您部署多區域解決方案,您應該在每個區域中部署 Azure OpenAI,以:
- 避免跨區域流量延遲。
- 支持數據落地需求。
- 允許在其他需要相同區域部署的服務中使用區域 Azure OpenAI。
當您有共用的 Azure OpenAI 實例時,請務必考慮其限制和管理配額。
下圖說明共用的 Azure OpenAI 模型。
當您部署共用的 Azure OpenAI 服務時,您可以決定服務內的模型部署是否也共用,或是否專用於特定客戶。
租用戶之間的共用模型部署
在租用戶之間共用模型部署可簡化您的作業負擔,因為您擁有較少的部署來管理,以及追蹤模型版本。如果可以的話,請規劃使用共用模型部署,並只建立專用的模型部署,如果您需要它們提供的功能。
每個租用戶的專用模型部署
您可以為每個租使用者建立模型部署,或針對具有無法使用共用模型部署之特殊需求的租使用者建立模型部署。 針對租使用者使用專用模型部署的常見原因包括:
配額和成本管理: 它藉由追蹤每個模型所使用的令牌數目來加速租使用者特定的 TPM 配置,這可讓您精確地配置和管理每個租使用者的使用量。 如果您使用 布建的輸送量單位 (PTU),您可以將 PTU 指派給特定客戶,併為其他客戶使用其他計費模型。
內容篩選原則: 有時候,特定租使用者可能需要唯一的內容篩選原則,例如不允許字組的租使用者特定封鎖清單。 您可以在模型部署的範圍指定內容篩選原則。
模型類型和版本: 您可能需要針對不同的租使用者使用不同的模型或模型版本。 租使用者可能也需要自己的模型生命週期管理程式。
租使用者特定的微調: 如果您為每個租使用者建立不同的微調模型,您必須為每個微調的模型建立個別的模型部署。
請記住,大部分使用案例不需要微調。 通常,最好使用 Azure OpenAI On Your Data 或另一個擷取增強的世代 (RAG) 方法來建立模型。
數據落地: 此方法支援不同的數據落地需求。 例如,您可以為具有嚴格數據落地需求的租使用者提供區域模型部署,並針對沒有嚴格需求的其他租使用者使用全域模型部署。
每個模型部署都有自己的不同 URL,但請務必記住基礎模型與其他 Azure 客戶共用。 它們也會使用共用的 Azure 基礎結構。
Azure OpenAI 不會針對每個模型部署強制執行訪問控制,因此您的應用程式必須控制哪些租使用者可以連線到哪個模型部署。
租使用者提供的 Azure OpenAI 資源
在某些情況下,您的租使用者可能會在自己的 Azure 訂用帳戶中建立 Azure OpenAI 實例,並將應用程式的存取權授與它。 在下列情況下,此方法可能適用:
- 租使用者具有來自Microsoft的特定配額和許可權,例如存取不同的模型、特定內容篩選原則,或使用布建的輸送量。
- 租使用者有微調的模型,他們需要從您的解決方案使用。
- 他們要求其環境中的元件透過客戶管理的 Azure OpenAI 實例來處理和傳送數據,以進行處理。
若要存取租用戶訂用帳戶中的 Azure OpenAI 實例,租用戶必須提供您的應用程式存取權。 您的應用程式必須透過其Microsoft Entra 實例進行驗證。 一種方法是發布多租用戶 Microsoft Entra 應用程式。 下列工作流程概述此方法的步驟:
- 租使用者會在自己的 Microsoft Entra 租用戶中註冊多租使用者Microsoft Entra 應用程式。
- 租使用者會將多租使用者Microsoft Entra 應用程式授與其 Azure OpenAI 資源的適當存取層級。 例如,租使用者可能會使用角色型訪問控制 (RBAC) 將應用程式指派給 Azure AI 服務使用者 角色。
- 租使用者會提供其建立之 Azure OpenAI 資源的資源識別碼。
- 您的應用程式程式代碼可以使用與您自己Microsoft Entra 實例中多租使用者Microsoft Entra 應用程式相關聯的服務主體來存取租使用者的 Azure OpenAI 實例。
或者,您可以要求每個租用戶為您的服務建立一個服務主體,並提供其認證給您。 這種方法需要您安全地儲存和管理每個租用戶的認證,這是潛在的安全性責任。
如果您的租使用者在其 Azure OpenAI 實例上設定網路訪問控制,請確定您可以存取它們。
下圖說明租用戶訂用帳戶中每個租使用者的 Azure OpenAI 模型。
支援多租使用者的 Azure OpenAI 服務功能
小幫手 API
小幫手 API 會將功能新增至您的 Azure OpenAI 服務,使其適合用來建立 AI 助理。 它包含呼叫工具和 API 的能力,以及搜尋檔案,以將模型產生的答案停在地上。 它可讓服務管理持續性對話線程,而且可以在沙箱化環境中產生和執行程序代碼。 若要支持這些功能,助理 API 必須儲存一些數據。
當您在多租用戶解決方案中使用 Assistants API 時,您可以選擇建立專用於單一租使用者的助理,或者您可以在多個租使用者之間共用助理。 請務必考慮儲存所有數據的租用戶隔離,尤其是共用助理。 例如,您應該確保每個租用戶分別儲存交談式線程。
Assistants API 支援函式調用,其會傳送函式的指示,以叫用函式並包含自變數。 請確定您進行的任何函式呼叫都是多租使用者感知,例如在下游系統的呼叫中包含租使用者標識碼。 確認應用程式內的租使用者標識碼,且不依賴語言模型來為您傳播租用戶標識碼。
Azure OpenAI On Your Data
Azure OpenAI On Your Data 可讓大型語言模型直接查詢知識來源,例如索引和資料庫,作為從語言模型產生回應的一部分。
提出要求時,您可以指定應查詢的數據源。 在多租用戶解決方案中,請確定您的數據源具有多租使用者感知,而且您可以在要求上指定租用戶篩選器。 適當地將租用戶標識碼傳播至數據源。 例如,假設您正在查詢 Azure AI 搜尋。 如果您有單一索引中多個租用戶的數據,請指定篩選條件,將擷取的結果限制為目前租用戶的標識符。 或者,如果您已為每個租使用者建立索引,請確定您為目前租使用者指定正確的索引。
參與者
本文由 Microsoft 維護。 原始投稿人如下。
主要作者:
- 索非亞費雷拉 |軟體工程師 ISV 和 DN CoE
其他投稿人:
- John Downs | 主任軟體工程師
- 蘭登·皮爾斯 |客戶工程師ISV和 DN CoE
- Paolo Salvatori |ISV 和 DN CoE 的主要客戶工程師
- 丹尼爾·斯科特-倫斯福德 |合作夥伴解決方案架構師
- 阿森·弗拉基米爾斯基 | ISV 和 DN CoE 的主要客戶工程師
若要查看非公開的 LinkedIn 設定檔,請登入 LinkedIn。