Repolode
microsoft

microsoft/Olive

Python 工具包,组合微调、转换和量化等步骤,为 CPU、GPU 和 NPU 输出优化后的 ONNX 模型。

Star
2,409
Fork
326
未关闭 Issue
87
最近提交
21小时前

这是什么?

Olive 是一个基于 ONNX Runtime 的 AI 模型优化工具包,名称取自 ONNX LIVE。给定模型和目标硬件,它会串联量化、计算图优化等多种技术,输出适合云端或边缘设备推理的高效 ONNX 模型,并兼顾精度和延迟等约束。

项目提供 `olive optimize` 命令行入口,只需指定 Hugging Face 模型名和目标精度(如 int4),即可自动完成下载模型、使用 GPTQ 量化、导出带权重的 ONNX 计算图以及图优化等全流程。Llama、Phi、Qwen、Gemma 等常见架构开箱即用,其他架构可通过描述输入输出来适配。

生成的模型运行在 ONNX Runtime 上,该运行时提供 Python、C/C++、C#、Java、JavaScript 等语言绑定。近期版本新增了 NPU 支持和更多量化算法。

核心功能

  • 01通过单条 olive optimize 命令自动完成优化流程。
  • 02支持使用 GPTQ 等方法量化到 int4 等低精度。
  • 03将 Hugging Face 模型导出为 ONNX 计算图,权重单独存储。
  • 04借助 ONNX Runtime 面向 CPU、GPU 和 NPU 运行。
  • 05除优化外还支持微调和模型转换步骤。

适用场景

  • 将小型语言模型转换为 int4 ONNX 格式,用于端侧推理。
  • 为在 Windows 或边缘设备上使用 ONNX Runtime 部署 Hugging Face 大模型做准备。
  • 调试量化配置,在模型体积、精度与延迟之间取得平衡。

快速上手

  1. 1

    使用 pip 安装 Olive

    pip install olive-ai
  2. 2

    安装 transformers 和 onnxruntime-genai

    pip install transformers onnxruntime-genai
  3. 3

    将 Qwen2.5-0.5B-Instruct 自动优化为 int4

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

使用前须知

  • 需要 Python 环境,并需从 Hugging Face 下载模型。
  • 部分优化功能需要安装可选扩展及额外依赖。

标签

常见问题

Olive 是什么?
Python 工具包,组合微调、转换和量化等步骤,为 CPU、GPU 和 NPU 输出优化后的 ONNX 模型。 Olive 是一个基于 ONNX Runtime 的 AI 模型优化工具包,名称取自 ONNX LIVE。给定模型和目标硬件,它会串联量化、计算图优化等多种技术,输出适合云端或边缘设备推理的高效 ONNX 模型,并兼顾精度和延迟等约束。
Olive 可以免费使用吗?用的什么许可证?
Olive 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
Olive 还在维护吗?
活跃维护中。Olive 最近一次提交是在 2026年11月7日。
Olive 适合用来做什么?
将小型语言模型转换为 int4 ONNX 格式,用于端侧推理。 为在 Windows 或边缘设备上使用 ONNX Runtime 部署 Hugging Face 大模型做准备。 调试量化配置,在模型体积、精度与延迟之间取得平衡。
Olive 怎么安装和运行?
使用 pip 安装 Olive: pip install olive-ai 安装 transformers 和 onnxruntime-genai: pip install transformers onnxruntime-genai 将 Qwen2.5-0.5B-Instruct 自动优化为 int4: olive optimize --model_name_or_path Qwen/Qwen2.5-0.5B-Instruct --precision int4 --output_path models/qwen
在哪里获取 Olive?
源代码和安装说明在 GitHub 上:https://github.com/microsoft/Olive

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目