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

Foundry Local 体系结构

重要

  • Foundry Local 以预览版提供。 公共预览版提供对活动部署中的功能的早期访问。
  • 正式发布 (GA) 之前,功能、方法和流程可能会发生更改或具有受限的功能。

Foundry Local 可直接在设备上实现高效、安全且可缩放的 AI 模型推理。 本文介绍 Foundry Local 的核心组件以及它们如何协同工作以提供 AI 功能。

Foundry Local 的主要优势包括:

  • 低延迟:在本地运行模型以最大程度地缩短处理时间并提供更快的结果。
  • 数据隐私:在本地处理敏感数据而不将其发送到云,从而帮助满足数据保护要求。
  • 灵活性:支持多种硬件配置,使你可以根据需要选择最佳设置。
  • 可伸缩性:跨各种设备(从笔记本电脑到服务器)进行部署,以适应不同的用例。
  • 成本效益:降低云计算成本,尤其是对于大容量应用程序。
  • 脱机作:在远程或断开连接的环境中在没有 Internet 连接的情况下工作。
  • 无缝集成:轻松融入现有开发工作流,以便顺利采用。

关键组件

Foundry Local 体系结构包含以下主要组件:

Foundry 本地体系结构示意图。

Foundry Local 服务

Foundry 本地服务包括一个与 OpenAI 兼容的 REST 服务器,该服务器提供用于处理推理引擎的标准接口。 还可以通过 REST 管理模型。 开发人员使用此 API 以编程方式发送请求、运行模型和获取结果。

  • 终结点:在服务启动时 动态分配 终结点。 可以通过运行 foundry service status 命令找到终结点。 在应用程序中使用 Foundry Local 时,我们建议使用自动处理终结点的 SDK。 有关如何使用 Foundry Local SDK 的更多详细信息,请阅读 带 Foundry Local 的集成推理 SDK 一文。
  • 用例:
    • 将 Foundry Local 连接到自定义应用程序
    • 通过 HTTP 请求执行模型

ONNX 运行时

ONNX 运行时是执行 AI 模型的核心组件。 它在本地硬件(如 CPU、GPU 或 NPU)上高效运行优化的 ONNX 模型。

功能

  • 支持多个硬件供应商(如 NVIDIA、AMD、Intel、Qualcomm)和设备类型(如 NPU、CPU、GPU 等)
  • 提供一致的接口,用于跨模型运行不同的硬件
  • 提供一流的性能
  • 支持量化模型以加快推理速度

模型管理

Foundry Local 提供了可靠的工具来管理 AI 模型,确保它们随时可供推理和易于维护。 模型管理通过 模型缓存Command-Line 接口(CLI)进行处理。

模型缓存

模型缓存将下载的 AI 模型存储在设备上本地,这可确保模型已准备好进行推理,而无需反复下载它们。 可以使用 Foundry CLI 或 REST API 管理缓存。

  • 目的:通过确保模型在本地可用来提高模型推理速度
  • 键命令
    • foundry cache list:显示本地缓存中的所有模型
    • foundry cache remove <model-name>:从缓存中删除特定模型
    • foundry cache cd <path>:更改缓存模型的存储位置

模型生命周期

  1. 下载:从 Azure AI Foundry 模型目录下载模型并将其保存到本地磁盘。
  2. 加载:将模型加载到 Foundry 本地服务内存中供推理。 设置 TTL(生存时间)以控制模型在内存中停留的时间(默认值:10 分钟)。
  3. 运行:为请求执行模型推理。
  4. 卸载:从内存中删除模型,以在不再需要资源时释放资源。
  5. 删除:从本地缓存中删除模型以回收磁盘空间。

使用 Olive 编译模型

在模型可与 Foundry Local 一起使用之前,必须以 ONNX 格式编译和优化模型。 Microsoft在 Azure AI Foundry 模型目录中提供已发布的模型,这些模型已针对 Foundry Local 进行了优化。 不过,通过使用 Olive,你并不局限于这些模型。 Olive 是一个强大的框架,用于准备 AI 模型以高效推理。 它将模型转换为 ONNX 格式,优化其图形结构,并应用量化等技术来提高本地硬件的性能。

小窍门

若要详细了解如何为 Foundry Local 编译模型,请阅读 如何编译 Hugging Face 模型以在 Foundry Local 上运行

硬件抽象层

硬件抽象层通过抽象基础硬件来确保 Foundry Local 可以在各种设备上运行。 为了基于可用硬件优化性能,Foundry Local 支持:

  • 多个 执行提供程序,例如 NVIDIA CUDA、AMD、Qualcomm、Intel。
  • 多个 设备类型,例如 CPU、GPU、NPU。

开发人员体验

Foundry Local 体系结构旨在提供无缝的开发人员体验,实现与 AI 模型的轻松集成和交互。 开发人员可以从各种接口中进行选择,以便与系统交互,包括:

命令行接口 (CLI)

Foundry CLI 是用于管理模型、推理引擎和本地缓存的强大工具。

示例

  • foundry model list:列出本地缓存中的所有可用模型。
  • foundry model run <model-name>:运行模型。
  • foundry service status:检查服务的状态。

小窍门

若要了解有关 CLI 命令的详细信息,请阅读 Foundry 本地 CLI 参考

推理 SDK 集成

Foundry Local 支持与大多数语言(如 OpenAI SDK)的各种 SDK 集成,使开发人员能够使用熟悉的编程接口与本地推理引擎交互。

小窍门

若要了解有关与推理 SDK 集成的详细信息,请阅读 将推理 SDK 与 Foundry Local 集成

适用于 Visual Studio Code 的 AI 工具包

AI Toolkit for Visual Studio Code 为开发人员提供了一个用户友好的界面,用于与 Foundry Local 交互。 它允许用户运行模型、管理本地缓存,并在 IDE 中直接可视化结果。

  • 功能
    • 模型管理:从 IDE 中下载、加载和运行模型。
    • 交互式控制台:实时发送请求和查看响应。
    • 可视化工具:模型性能和结果的图形表示形式。

后续步骤