共用方式為


將模型部署為無伺服器 API 端點

在本文中,您將了解如何將模型目錄中的模型部署為隨用隨付權杖型計費的無伺服器 API。

模型目錄中的某些模型可以部署為隨用隨付計費方案的無伺服器 API。 這種部署可讓您以 API 的形式取用模型,而不必在您的訂用帳戶上裝載模型,同時讓組織保持所需的企業安全性和合規性。 此部署選項不需要您的訂用帳戶提供配額。

本文使用 Meta Llama 模型部署進行說明。 不過,您可以使用相同的步驟部署任何一個模型目錄中可用於無伺服器 API 部署的模型 (英文)。

必要條件

  • 具有有效付款方式的 Azure 訂用帳戶。 免費版或試用版 Azure 訂用帳戶將無法運作。 如果您沒有 Azure 訂用帳戶,請建立付費 Azure 帳戶以開始。

  • Azure Machine Learning 工作區

  • Azure 角色型存取控制 (Azure RBAC) 可用來授與 Azure Machine Learning 作業的存取權。 若要執行本文中的步驟,您的使用者帳戶必須獲指派資源群組上的 Azure AI 開發人員角色。 如需權限的詳細資訊,請參閱 Azure Machine Learning 中的角色型存取控制

  • 您必須安裝下列軟體,才能使用 Azure Machine Learning:

    您可以使用任何相容的網頁瀏覽器來瀏覽 Azure Machine Learning

在模型目錄中尋找您的模型和模型識別碼

  1. 登入 Azure Machine Learning 工作室

  2. 針對透過 Azure Marketplace 提供的模型,請確定您的帳戶具有資源群組的 Azure AI 開發人員角色權限,或您符合訂閱模型供應項目的必要權限

    非 Microsoft 提供者所提供的模型 (例如 Llama 和 Mistral 模型) 會透過 Azure Marketplace 計費。 針對這類模型,您必須將工作區訂閱特定的模型供應項目。 Microsoft 所提供的模型 (例如 Phi-3 模型) 沒有這項需求,因為計費方式不同。 如需模型目錄中無伺服器部署模型計費的詳細資訊,請參閱無伺服器 API 的計費

  3. 移至工作區。 若要使用無伺服器 API 模型部署供應項目,您的工作區必須屬於您所要部署特定模型其中一個支援無伺服器部署的區域

  4. 從左側資訊看板選取 [模型目錄],並尋找您要部署模型的模型卡片。 在本文中,您會選取 Meta-Llama-3-8B-Instruct 模型。

    1. 如果您要使用 Azure CLI、Python SDK 或 ARM 部署模型,請複製模型識別碼

    重要

    複製模型識別碼時,請勿包含版本。 無伺服器 API 端點一律會部署模型最新可用的版本。 例如,針對模型識別碼 azureml://registries/azureml-meta/models/Meta-Llama-3-8B-Instruct/versions/3,複製 azureml://registries/azureml-meta/models/Meta-Llama-3-8B-Instruct

    此螢幕擷取畫面顯示模型的詳細資料頁面。

下一節涵蓋將工作區訂閱模型供應項目的步驟。 如果您要部署 Microsoft 模型,您可以略過本節,並移至將模型部署至無伺服器 API 端點

為工作區訂閱模型供應項目

無伺服器 API 端點可以部署 Microsoft 和非 Microsoft 所提供的模型。 若是 Microsoft 模型 (例如 Phi-3 模型),您不需要建立 Azure Marketplace 訂用帳戶,而且您可以直接將模型部署至無伺服器 API 端點以取用其預測。 若是非 Microsoft 模型,您必須先建立訂用帳戶。 如果這是您第一次在工作區中部署模型,您必須從 Azure Marketplace 為工作區訂閱特定模型供應項目。 每個工作區都有自己對模型特定 Azure Marketplace 供應項目的訂用帳戶,可讓您控制及監視支出。

注意

您可以將透過 Azure Marketplace 提供的模型部署至特定區域中的無伺服器 API 端點。 檢查無伺服器 API 端點中模型的區域可用性,以驗證哪些模型和區域可用。 如果未列出您需要的模型和區域,您可以部署到支援區域中的工作區,然後從不同的工作區取用無伺服器 API 端點

  1. 建立模型的市集訂用帳戶。 當您建立訂用帳戶時,您必須接受與模型供應項目相關聯的條款及條件。 請記住,您不必針對 Microsoft 提供的模型 (如 Phi-3) 執行此步驟。

    1. 在模型的 [詳細資料] 頁面上,選取 [部署]。 [部署選項] 視窗隨即開啟,提供您在無伺服器 API 部署和使用受控計算進行部署之間進行選擇。

      注意

      對於只能透過無伺服器 API 部署進行部署的模型,您在模型的詳細資料頁面選取 [部署] 之後,就會立即開啟無伺服器 API 部署精靈。

    2. 選取 [具有 Azure AI 內容安全的無伺服器 API (預覽)],開啟無伺服器 API 部署精靈。

    3. 選取核取方塊以確認 Microsoft 購買原則。

      顯示如何以無伺服器 API 選項部署模型的螢幕擷取畫面。

    4. 如果您看到提示您已經有此工作區的 Azure Marketplace 訂用帳戶,則不需要建立訂用帳戶,因為您已經有訂用帳戶了。 您可以繼續將模型部署至無伺服器 API 端點

    5. 在部署精靈上,選取 [Azure Marketplace 條款] 的連結,以深入了解使用規定。 您也可以選取 [價格及使用規定] 索引標籤以了解所選模型的價格。

    6. 在部署精靈上,選取 [Azure Marketplace 條款] 的連結,以深入了解使用規定。 您也可以選取 [Marketplace 供應項目詳細資料] 索引標籤,以了解所選模型的價格。

    7. 選取 [訂閱並部署]

  2. 當您為工作區訂閱特定 Azure Marketplace 供應項目之後,就不需要再次訂閱相同工作區中的相同供應項目的後續部署。

  3. 您可以隨時檢視工作區目前訂閱的模型供應項目:

    1. 移至 Azure 入口網站

    2. 瀏覽至工作區所屬的資源群組。

    3. 在 [類型] 篩選中,選取 [SaaS]

    4. 您會看到目前訂閱的所有供應項目。

    5. 選取任何資源以查看詳細資料。

將模型部署至無伺服器 API 端點

建立非 Microsoft 模型的訂用帳戶之後,您可以將相關聯的模型部署到無伺服器 API 端點。 針對 Microsoft 模型 (例如 Phi-3 模型),您不需要建立訂用帳戶。

無伺服器 API 端點可讓您以 API 的形式取用模型,而不必在您的訂用帳戶上裝載模型,同時讓組織保持所需的企業安全性和合規性。 此部署選項不需要您的訂用帳戶提供配額。

在本節中,您會建立名稱為 meta-llama3-8b-qwerty 的端點。

  1. 建立無伺服器端點

    1. 若要部署不需要訂閱模型供應項目的 Microsoft 模型,請選取 [部署],然後選取 [使用 Azure AI 內容安全的無伺服器 API (預覽)],以開啟部署精靈。

    2. 或者,對於需要模型訂用帳戶的非 Microsoft 模型,如果您剛將工作區訂閱上一節中的模型供應項目,請繼續選取 [部署]。 或者,選取 [繼續部署] (如果您的部署精靈有 [您已有此工作區的 Azure Marketplace 訂用帳戶] 備註)。

      顯示已經訂閱供應項目的工作區之螢幕擷取畫面。

    3. 為部署指定名稱。 此名稱會成為部署 API URL 的一部分。 此 URL 在每個 Azure 區域中都必須是唯一的。

      此螢幕擷取畫面顯示如何指定要建立的部署名稱。

      提示

      [內容篩選器 (預覽)] 選項預設為啟用。 保留服務的預設設定以偵測有害的內容,例如仇恨、自我傷害、性與暴力內容。 如需內容篩選的詳細資訊(預覽),請參閱 透過無伺服器 API 部署之模型的內容安全性。

    4. 選取部署。 待部署準備就緒後,系統會將您重新導向至 [部署] 頁面。

  2. 您隨時可以查看部署至工作區的端點:

    1. 移至工作區。

    2. 選取端點

    3. 選取 [無伺服器端點] 索引標籤以顯示無伺服器 API 端點。

  3. 建立的端點會使用金鑰驗證進行授權。 使用下列步驟來取得與指定端點相關聯的金鑰。

    1. 若要返回到部署頁面,請從無伺服器端點清單中選取端點的名稱。
    2. 注意端點的目標 URI金鑰。 使用它們來呼叫部署並產生預測。

    注意

    使用 Azure 入口網站時,預設不會在資源群組上顯示無伺服器 API 端點。 使用 [顯示隱藏類型] 選項,在資源群組上顯示它們。

  4. 此時,您的端點已可供使用。

  5. 如果您需要從不同的工作區取用此部署,或計劃使用提示流程來建置智慧型應用程式,則必須建立無伺服器 API 部署的連線。 若要了解如何在新工作區或中樞上設定現有的無伺服器 API 端點,請參閱從不同工作區或從提示流程取用已部署的無伺服器 API 端點

    提示

    如果您在部署所在的相同工作區中使用提示流程,您還需要建立連線。

使用無伺服器 API 端點

部署在 Azure Machine Learning 中的模型和無伺服器 API 端點中的 Azure AI Studio 都支援 Azure AI 模型推斷 API,其會公開基礎模型的一組常見功能,且開發人員可以使用此 API,以統一且一致的方式取用各種模型集合的預測。

深入了解此 API 的功能,以及如何在建置應用程式時加以使用

刪除端點和訂用帳戶

您可以刪除模型訂用帳戶和端點。 刪除模型訂用帳戶會使任何相關聯的端點變成狀況不良且無法使用。

若要刪除無伺服器 API 端點:

  1. 移至 [Azure Machine Learning 工作室]

  2. 從左側資訊看板選取 [端點]

  3. 選取 [無伺服器端點] 索引標籤以顯示無伺服器 API 端點。

  4. 開啟您要刪除的端點。

  5. 選取 [刪除]

若要刪除相關聯的模型訂用帳戶:

  1. 移至 Azure 入口網站

  2. 瀏覽至工作區所屬的資源群組。

  3. 在 [類型] 篩選中,選取 [SaaS]

  4. 選取您要刪除的訂用帳戶。

  5. 選取 [刪除]

部署為無伺服器 API 端點的模型成本和配額考量

配額會根據每個部署管理。 每個部署的速率限制為每分鐘 200,000 個權杖,每分鐘 1,000 個 API 要求。 然而,我們目前限制每個工作區每個模型進行一次部署。 如果目前的速率限制無法滿足您的情節,請連絡 Microsoft Azure 支援。

Microsoft 模型的成本

您可以在部署 Microsoft 模型 (例如 Phi-3 模型) 做為無伺服器 API 端點時,於部署精靈的 [價格及使用規定] 索引標籤上找到價格資訊。

非 Microsoft 模型的成本

部署為無伺服器 API 端點的非 Microsoft 模型是透過 Azure Marketplace 提供,並與 Azure AI Studio 整合以供使用。 您可以在部署或微調這些模型時,找到 Azure Marketplace 價格。

每次工作區從 Azure Marketplace 訂閱指定供應項目時,都會建立新資源來追蹤與其使用量相關的成本。 會使用相同的資源來追蹤與推斷和微調相關聯的成本;不過,可以使用多個計量獨立追蹤每個情節。

如需如何追蹤成本的詳細資訊,請參閱監視透過 Azure Marketplace 提供的模型成本 (部分機器翻譯)。

此螢幕擷取畫面顯示對應至不同模型供應項目的資源及其相關聯的計量。

訂閱模型供應項目的必要權限

Azure 角色型存取控制 (Azure RBAC) 可用來授與 Azure Machine Learning 作業的存取權。 若要執行本文中的步驟,您的使用者帳戶必須獲指派 Azure 訂用帳戶的擁有者參與者Azure AI 開發人員角色。 或者,可以為您的帳戶指派具有下列權限的自訂角色:

  • 在 Azure 訂用帳戶上 - 以為工作區訂閱 Azure Marketplace 供應項目的權限,需針對每個供應項目為每個工作區執行一次:

    • Microsoft.MarketplaceOrdering/agreements/offers/plans/read
    • Microsoft.MarketplaceOrdering/agreements/offers/plans/sign/action
    • Microsoft.MarketplaceOrdering/offerTypes/publishers/offers/plans/agreements/read
    • Microsoft.Marketplace/offerTypes/publishers/offers/plans/agreements/read
    • Microsoft.SaaS/register/action
  • 在資源群組上 - 以建立及使用 SaaS 資源:

    • Microsoft.SaaS/resources/read
    • Microsoft.SaaS/resources/write
  • 在工作區上 - 以部署端點 (Azure Machine Learning 資料科學家角色已經包含這些權限):

    • Microsoft.MachineLearningServices/workspaces/marketplaceModelSubscriptions/*
    • Microsoft.MachineLearningServices/workspaces/serverlessEndpoints/*

如需關於權限的詳細資訊,請參閱管理對 Azure Machine Learning 工作區的存取