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

在 Azure 容器应用中使用无服务器 GPU

使用 Azure 容器应用,可以按需访问 GPU,而无需管理底层基础结构。 借助这一项无服务器功能,你只需为使用的 GPU 付费。 启用此功能后,应用所使用的 GPU 数量会根据应用程序的负载需求而增减。 通过无服务器 GPU,你可以使用自动缩放、优化的冷启动、按秒计费来无缝运行工作负载,并在不使用时缩减到零,从而减少运营开销。

无服务器 GPU 仅适用于消耗工作负载配置文件。 仅消耗环境不支持此功能。

注意

只有在请求 GPU 配额后,才能访问 GPU。 可以通过客户支持案例提交 GPU 配额请求。

好处

使用 GPU 时,无服务器 GPU 可让你专注于核心 AI 代码,减少对基础结构的管理,从而加速 AI 开发。 此功能在 Azure AI 模型目录的无服务器 API 和托管计算上的托管模型之间提供了一个中间层选项。

容器应用的无服务器 GPU 支持提供了全面的数据管理,因为数据始终保留在容器的边界内,同时仍然提供一个托管的无服务器平台,用于构建你的应用程序。

在容器应用中使用无服务器 GPU 时,应用将获得以下功能:

  • 缩放到零的 GPU:支持 NVIDIA A100 和 NVIDIA T4 GPU 的自动无服务器缩放。

  • 按秒计费:仅为使用的 GPU 计算付费。

  • 内置的数据管理:数据始终保留在容器边界内。

  • 灵活的计算选项:可以在 NVIDIA A100 或 T4 GPU 类型之间进行选择。

  • 用于 AI 开发的中间层:在托管的无服务器计算平台上使用自带模型。

常见应用场景

以下场景虽然不够详尽,但描述了无服务器 GPU 的常见用例。

  • 实时和批量推理:使用具有快速启动时间、自动缩放和按秒计费模型特征的自定义开源模型。 无服务器 GPU 非常适用于动态应用程序。 只需为使用的计算付费,应用会自动横向扩展和缩减以满足需求。

  • 机器学习场景:显著加速实现了微调自定义生成式 AI 模型、深度学习、神经网络或大规模数据分析的应用程序。

  • 高性能计算 (HPC):需要复杂计算和模拟的应用程序(如科学计算、金融建模或天气预报)使用 GPU 作为资源来满足高计算需求。

  • 渲染和可视化:涉及 3D 渲染、图像处理或视频转码的应用程序通常使用 GPU 来加速渲染过程并实现实时可视化。

  • 大数据分析:GPU 可以加速大规模数据集中的数据处理和分析。

注意事项

在使用无服务器 GPU 时,请注意以下事项:

  • CUDA 版本:无服务器 GPU 支持最新的 CUDA 版本

  • 支持限制:

    • 应用中一次只能有一个容器使用 GPU。 如果应用中有多个容器,则第一个容器可以访问 GPU。
    • 多个应用可以共享同一个 GPU 工作负载配置文件,但每个应用都需要自己的副本。
    • 不支持多 GPU 副本和部分 GPU 副本。
    • 应用程序中的第一个容器将获得对 GPU 的访问权限。
  • IP 地址:当你将无服务器 GPU 与自己的虚拟网络集成时,每个副本使用一个 IP 地址。

请求无服务器 GPU 配额

只有在具有无服务器 GPU 配额后,才能访问此功能。 可以通过客户支持案例提交 GPU 配额请求。 打开 GPU 配额请求的支持案例时,请选择问题类型“技术”。

注意

默认情况下,具有企业协议和即用即付客户的客户已启用 A100 和 T4 配额。

支持的区域

无服务器 GPU 在美国 西部 3澳大利亚东部瑞典中部 区域提供。

使用无服务器 GPU

通过 Azure 门户创建容器应用时,可以将容器设置为使用 GPU 资源。

在创建过程的“容器”选项卡中,进行以下设置:

  1. 在“容器资源分配”部分下,选中“GPU”复选框。

  2. 对于 GPU 类型,请选择 NVIDIA A100 或 NVIDIA T4 选项。

管理无服务器 GPU 工作负载配置文件

无服务器 GPU 在消耗 GPU 工作负载配置文件上运行。 可以像管理任何其他工作负载配置文件一样管理消耗 GPU 工作负载配置文件。 可以使用 CLIAzure 门户来管理工作负载配置文件。

改进 GPU 冷启动

可以通过在存储装载中启用工件流式处理和查找大型文件(如大型语言模型)来显著改善冷启动时间。

  • 工件流式处理:Azure 容器注册表提供映像流式处理,可以显著加快映像启动速度。 要使用项目流式处理,容器映像必须托管在高级 Azure 容器注册表中。

  • 存储装载:通过将大型文件存储在与容器应用关联的 Azure 存储帐户中来减少网络延迟的影响。

将 Foundry 模型部署到无服务器 GPU (预览版)

Azure 容器应用无服务器 GPU 现在支持公共预览版中的 Azure AI Foundry 模型。 Azure AI Foundry 模型有两个部署选项:

Azure 容器应用无服务器 GPU 提供无服务器 API 与托管计算之间的均衡部署选项,用于部署 Foundry 模型。 此选项是按需的,无服务器缩放在未使用且符合数据驻留需求时可缩减为零。 利用无服务器 GPU,Foundry 模型为您提供灵活性,让您可以运行任何受支持的模型。它支持自动扩展、按秒计费、全面的数据治理,以及开箱即用的企业级网络和安全支持。

支持该类型 MLFLOW 的语言模型。 若要查看模型列表 MLFLOW ,请转到 azureml 注册表中可用的模型列表。 若要查找模型,请使用以下步骤为 MLFLOW 模型添加筛选器:

  1. 选择筛选器

  2. 选择“添加筛选器”。

  3. 对于筛选器规则,请输入 Type = MLFLOW

对于 Azure 容器应用存储库中列出的模型,可以直接将它们部署到无服务器 GPU,而无需使用以下 CLI 命令生成自己的映像:

az containerapp up \
  --name <CONTAINER_APP_NAME> \
  --___location <LOCATION> \
  --resource-group <RESOURCE_GROUP_NAME> \
  --model-registry <MODEL_REGISTRY_NAME> \
  --model-name <MODEL_NAME> \
  --model-version <MODEL_VERSION>

对于不在此列表中的任何模型,需要:

  1. Azure 容器应用存储库下载模型映像的 github 模板。

  2. 修改 score.py 文件以匹配模型类型。 评分脚本(命名 为 score.py)定义如何与模型交互。 以下示例演示如何 使用自定义 score.py 文件

  3. 生成映像并将其部署到容器注册表。

  4. 使用以前的 CLI 命令将模型部署到无服务器 GPU,但指定 --image。 通过使用--model-registry--model-name--model-version参数,可以设置关键环境变量,以便优化应用的冷启动。

提交反馈

将问题提交到 Azure 容器应用 GitHub 存储库

后续步骤