你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

将模型部署为无服务器 API 终结点

本文介绍如何将模型目录中的模型部署为无服务器 API,并采用基于即用即付令牌的计费方式。

模型目录中的某些模型可以部署为即用即付的无服务器 API。 这种部署可以将模型作为 API 使用,而无需将它们托管在自己的订阅上,同时保持组织所需的企业安全性和合规性。 此部署选项不需要来自订阅的配额。

本文使用 Meta Llama 模型部署进行说明。 但是,可以使用相同的步骤部署模型目录中任何可用于无服务器 API 部署的模型

先决条件

  • 具有有效付款方式的 Azure 订阅。 不能使用免费或试用 Azure 订阅。 如果没有 Azure 订阅,请先创建一个付费的 Azure 帐户

  • 一个 Azure 机器学习工作区

  • Azure 基于角色的访问控制 (Azure RBAC) 用于授予对 Azure 机器学习中的操作的访问权限。 若要执行本文中的步骤,必须为用户帐户分配资源组的“Azure AI 开发人员”角色。 有关权限详细信息,请参阅 Azure 机器学习中基于角色的访问控制

  • 需要安装以下软件才能使用 Azure 机器学习:

    可以使用任何兼容的 Web 浏览器来导航 Azure 机器学习

在模型目录中查找模型和模型 ID

  1. 登录到 Azure 机器学习工作室

  2. 对于通过 Azure 市场提供的模型,请确保你的帐户对资源组具有“Azure AI 开发人员”角色权限,或者你满足订阅模型产品所需的权限

    非 Microsoft 提供商提供的模型(例如 Llama 和 Mistral 模型)通过 Azure 市场计费。 对于此类模型,需要将工作区订阅到特定的模型产品/服务。 Microsoft 提供的模型(例如 Phi-3 模型)没有此要求,因为计费方式不同。 有关模型目录中无服务器模型部署的计费的详细信息,请参阅无服务器 API 的计费

  3. 转到你的工作区。 若要使用无服务器 API 模型部署产品/服务,工作区必须属于支持对要部署的特定模型进行无服务器部署的区域之一。

  4. 从左侧边栏中选择“模型目录”,然后找到要部署的模型的模型卡。 在本文中,请选择“Meta-Llama-3-8B-Instruct”模型

    1. 如果使用 Azure CLI、Python SDK 或 ARM 部署模型,请复制“模型 ID”

    重要

    复制“模型 ID”时不要包括版本。 无服务器 API 终结点始终部署模型的最新可用版本。 例如,对于模型 ID 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 市场订阅,并且可以将其直接部署到无服务器 API 终结点以使用其预测。 对于非 Microsoft 模型,首先需要创建订阅。 如果这是你首次在工作区中部署模型,则必须从 Azure 市场订阅工作区以获取特定模型产品/服务。 每个工作区都有自己的订阅,以访问特定 Azure 市场中的模型产品/服务,可用于控制和监视支出。

注意

通过 Azure 市场提供的模型可部署到特定区域的无服务器 API 终结点。 检查无服务器 API 终结点中模型的区域可用性,以验证哪些模型和区域可用。 如果你需要的模型未列出,可以部署到受支持区域中的工作区,然后使用来自不同工作区的无服务器 API 终结点

  1. 创建模型的市场订阅。 创建订阅即表示你接受与模型产品/服务相关的条款和条件。 请记住,无需为 Microsoft 提供的模型(如 Phi-3)执行此步骤。

    1. 在模型的“详细信息”页上,选择“部署”。 此时会打开“部署选项”窗口,让你能够在无服务器 API 部署和使用托管计算的部署之间进行选择。

      注意

      对于只能通过无服务器 API 部署来部署的模型,在从模型的详细信息页中选择“部署”后,会立即打开无服务器 API 部署向导。

    2. 选择“具有 Azure AI 内容安全的无服务器 API (预览版)”,打开无服务器 API 部署向导。

    3. 勾选复选框,表示接受 Microsoft 购买政策。

      显示如何使用无服务器 API 选项部署模型的屏幕截图。

    4. 如果看到注释“你已拥有此工作区的 Azure 市场订阅”,则无需创建订阅,因为你已经拥有订阅。 可以继续将模型部署到无服务器 API 终结点

    5. 在部署向导中,选择“Azure 市场条款”的链接,了解有关使用条款的详细信息。 还可以选择“定价和条款”选项卡了解所选模型的定价

    6. 在部署向导中,选择“Azure 市场条款”的链接,了解有关使用条款的详细信息。 还可以选择“市场产品/服务详细信息”选项卡,了解所选模型的定价。

    7. 选择“订阅和部署”。

  2. 为工作区订阅特定 Azure 市场产品/服务后,同一工作区中同一产品/服务的后续部署不需要再次订阅。

  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 市场订阅”)

      显示已订阅到产品/服务的工作区的屏幕截图。

    3. 为部署命名。 此名称将成为部署 API URL 的一部分。 此 URL 必须在每个 Azure 区域中唯一。

      显示如何指定要创建的部署名称的屏幕截图。

      提示

      默认情况下,“内容筛选器(预览)”选项处于启用状态。 请保留该服务的默认设置,以检测有害内容,例如仇恨、自残、性和暴力内容。 有关内容筛选(预览版)的详细信息,请参阅通过无服务器 API 部署的模型的内容安全性

    4. 选择“部署”。 部署准备就绪后,你将被重定向到“部署”页面。

  2. 随时可以查看部署到工作区的终结点:

    1. 转到你的工作区。

    2. 选择“终结点”。

    3. 选择“无服务器终结点”选项卡以显示无服务器 API 终结点。

  3. 创建的终结点使用密钥身份验证进行授权。 使用以下步骤获取与给定终结点关联的密钥。

    1. 若要返回到部署的页面,请从无服务器终结点列表中选择终结点的名称。
    2. 请注意终结点“目标 URI”和“密钥”。 使用它们来调用部署并生成预测。

    注意

    使用 Azure 门户时,默认情况下,资源组上不会显示无服务器 API 终结点。 使用“显示隐藏的类型”选项可将其显示在资源组上

  4. 此时,终结点可供使用。

  5. 如果需要从不同的工作区使用此部署,或者计划使用提示流生成智能应用程序,则需要创建与无服务器 API 部署的连接。 若要了解如何在新工作区或中心配置现有无服务器 API 终结点,请参阅使用来自不同工作区或提示流的已部署无服务器 API 终结点

    提示

    如果在部署的同一工作区内使用提示流,则仍然需要创建连接。

使用无服务器 API 终结点

在无服务器 API 终结点中的 Azure 机器学习和 Azure AI Studio 中部署的模型支持 Azure AI 模型推理 API,该 API 公开了一组适用于基础模型的通用功能,可供开发人员使用,从而以统一且一致的方式使用来自不同模型集的预测。

详细了解此 API 的功能以及如何在生成应用程序时使用它

删除终结点和订阅

可以删除模型订阅和终结点。 删除模型订阅会使任何关联的终结点变得不正常且无法使用

若要删除无服务器 API 终结点,请执行以下操作:

  1. 转到 Azure 机器学习工作室

  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 市场提供,并与 Azure AI Studio 集成以供使用。 部署或微调这些模型时,可找到 Azure 市场定价。

每次工作区从 Azure 市场订阅给定产品/服务时,都会创建一个新资源来跟踪与其消耗相关的成本。 同一资源用于跟踪与推理和微调相关的成本。但是,可以使用多个计量器来独立跟踪每个方案。

有关如何跟踪成本的详细信息,请参阅监视通过 Azure 市场提供的模型的成本

显示与不同模型产品/服务及其关联计量对应的不同资源的屏幕截图。

订阅模型产品/服务所需的权限

Azure 基于角色的访问控制 (Azure RBAC) 用于授予对 Azure 机器学习中的操作的访问权限。 若要执行本文中的步骤,必须为用户帐户分配 Azure 订阅的“所有者”、“参与者”或“Azure AI 开发人员”角色。 或者,可以为帐户分配具有以下权限的自定义角色:

  • 在 Azure 订阅中,将工作区订阅到 Azure 市场产品/服务的权限,每个工作区每个产品/服务一次:

    • 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 机器学习数据科学家角色已包含这些权限):

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

有关权限的详细信息,请参阅管理对 Azure 机器学习工作区的访问权限