[](https://pypi.org/project/olive-ai/)
[](https://microsoft.github.io/Olive/)
## 面向 ONNX Runtime 的 AI 模型优化工具包
给定一个模型和指定的硬件,Olive(Onnx LIVE 的缩写)会组合出最合适的优化技术,输出最高效的 ONNX 模型,用于云端或边缘端的推理,并同时兼顾准确率和延迟等约束条件。
以下是一些近期的视频、博客文章和实验室项目,重点介绍了 Olive:
要查看完整的新闻和博客列表,请阅读新闻存档。
如果您更喜欢直接使用命令行而不是 Jupyter notebooks,我们在此处概述了快速启动命令。
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 仅抑制警告。
- 在 Windows 上启用开发者模式(一次性设置),详见 Microsoft 开发者工具文档。
- 在使用 Olive 和 huggingface_hub 库时,以管理员身份运行 Python。
- 重新配置缓存存储位置。此限制不仅限于将缓存存储在默认位置。
- 使用
HF_HUB_DISABLE_SYMLINKS_WARNING=1来抑制警告并接受额外的磁盘使用。关于这些选项,您需要根据您的环境(例如公司策略)以及最适合您的方式来决定。
huggingface_hub 库的此限制也记录在 Hub 客户端库文档 中。
在此快速入门中,您将优化 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
自动优化器将:
int4。Olive 可以开箱即用地自动优化 Llama、Phi、Qwen、Gemma 等流行的模型架构 - 在此处查看详细列表。此外,您可以通过提供模型输入/输出的详细信息(io_config)来优化其他模型架构。
ONNX Runtime (ORT) 是一个快速、轻量级的跨平台推理引擎,具有 Python、C/C++、C#、Java、JavaScript 等流行编程语言的绑定。ORT 使您能够将 AI 模型融入到您的应用程序中,从而在设备上进行推理处理。
要运行的示例聊天应用是 onnxruntime-genai Github 仓库中的 model-chat.py。
此项目的分发版可能会收集使用数据并将其发送给 Microsoft,以帮助改进我们的产品和服务。有关详细信息,请参阅隐私声明。
版权所有 (c) Microsoft Corporation。保留所有权利。
根据 MIT 许可证许可。