OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  代码  ›  Olive — 微软推出的模型优化与部署流水线工具

Olive — 微软推出的模型优化与部署流水线工具

 
  sunflower ·  2026-05-14 11:00:25 · 11 次点击  · 0 条评论  
olive text [![PyPI release](https://img.shields.io/pypi/v/olive-ai)](https://pypi.org/project/olive-ai/) [![Documentation](https://img.shields.io/website/https/microsoft.github.io/Olive?down_color=red&down_message=offline&up_message=online)](https://microsoft.github.io/Olive/) ## 面向 ONNX Runtime 的 AI 模型优化工具包

给定一个模型和指定的硬件,Olive(Onnx LIVE 的缩写)会组合出最合适的优化技术,输出最高效的 ONNX 模型,用于云端或边缘端的推理,并同时兼顾准确率和延迟等约束条件。

📰 新闻动态

以下是一些近期的视频、博客文章和实验室项目,重点介绍了 Olive:

要查看完整的新闻和博客列表,请阅读新闻存档

🚀 快速开始

✨ 快速入门

如果您更喜欢直接使用命令行而不是 Jupyter notebooks,我们在此处概述了快速启动命令。

1. 安装 Olive CLI

我们建议在虚拟环境conda 环境中安装 Olive。

pip install olive-ai
pip install transformers onnxruntime-genai

[!NOTE]
Olive 具有可选依赖项,可以安装以启用其他功能。请参阅 Olive 包配置 以获取额外功能的列表及其依赖项。

[!NOTE]
对于 Windows 用户:为避免出现 HF_HUB_DISABLE_SYMLINKS_WARNING

如果您从 huggingface_hub 下载模型,Olive 会依赖该库。在 Windows 上,您会收到如下警告:

UserWarning: `huggingface_hub` cache-system uses symlinks by default to efficiently store duplicated files but your machine does not support them in C:\Users\name\.cache\huggingface\hub\model-name. Caching files will still work but in a degraded version that might require more space on your disk. This warning can be disabled by setting the `HF_HUB_DISABLE_SYMLINKS_WARNING` environment variable. For more details, see https://huggingface.co/docs/huggingface_hub/how-to-cache#limitations.

您可以使用以下四种选项之一来解决此警告。请注意,选项 1、2 和 3 可以节省磁盘空间,而选项 4 仅抑制警告。

  1. 在 Windows 上启用开发者模式(一次性设置),详见 Microsoft 开发者工具文档
  2. 在使用 Olive 和 huggingface_hub 库时,以管理员身份运行 Python。
  3. 重新配置缓存存储位置。此限制不仅限于将缓存存储在默认位置。
  4. 使用 HF_HUB_DISABLE_SYMLINKS_WARNING=1 来抑制警告并接受额外的磁盘使用。

关于这些选项,您需要根据您的环境(例如公司策略)以及最适合您的方式来决定。

huggingface_hub 库的此限制也记录在 Hub 客户端库文档 中。

2. 自动优化器

在此快速入门中,您将优化 Qwen/Qwen2.5-0.5B-Instruct,它在 Hugging Face 仓库中有许多不同精度的模型文件,而这些文件并非 Olive 所必需。

运行自动优化:

olive optimize \
    --model_name_or_path Qwen/Qwen2.5-0.5B-Instruct \
    --precision int4 \
    --output_path models/qwen

[!TIP]


PowerShell 用户
Bash 和 PowerShell 之间的行续行符是不可互换的。如果您使用的是 PowerShell,则可以复制粘贴以下使用兼容行续行符的命令。

powershell olive optimize ` --model_name_or_path Qwen/Qwen2.5-0.5B-Instruct ` --output_path models/qwen ` --precision int4



自动优化器将:

  1. 从 Hugging Face 模型仓库获取模型。
  2. 使用 GPTQ 将模型量化至 int4
  3. 捕获 ONNX 图并将权重存储在 ONNX 数据文件中。
  4. 优化 ONNX 图。

Olive 可以开箱即用地自动优化 Llama、Phi、Qwen、Gemma 等流行的模型架构 - 在此处查看详细列表。此外,您可以通过提供模型输入/输出的详细信息(io_config)来优化其他模型架构。

3. 在 ONNX Runtime 上进行推理

ONNX Runtime (ORT) 是一个快速、轻量级的跨平台推理引擎,具有 Python、C/C++、C#、Java、JavaScript 等流行编程语言的绑定。ORT 使您能够将 AI 模型融入到您的应用程序中,从而在设备上进行推理处理。

要运行的示例聊天应用是 onnxruntime-genai Github 仓库中的 model-chat.py

🎓 了解更多

数据/遥测

此项目的分发版可能会收集使用数据并将其发送给 Microsoft,以帮助改进我们的产品和服务。有关详细信息,请参阅隐私声明

🤝 贡献与反馈

  • 我们欢迎贡献!请阅读贡献指南,了解有关如何为 Olive 项目做出贡献的更多详细信息。
  • 对于功能请求或错误报告,请提交 GitHub Issue
  • 对于一般性讨论或问题,请使用 GitHub Discussions

⚖️ 许可证

版权所有 (c) Microsoft Corporation。保留所有权利。

根据 MIT 许可证许可。

流水线状态

Build Status
Build Status

11 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私 ·  条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 14 ms
Developed with Cursor