Библиотека на базе PyTorch для квантования, разреженных моделей и обучения в формате float8 — для обучения моделей и инференса.
microsoft/Olive
Инструментарий на Python для объединения тонкой настройки, конвертации и квантования моделей и создания оптимизированных ONNX-моделей для CPU, GPU и NPU.
- Звёзды
- 2,409
- Форки
- 326
- Открытые issues
- 87
- Последний коммит
- вчера
Что это?
Olive — это инструментарий для оптимизации AI-моделей на базе ONNX Runtime. Он принимает модель и целевую аппаратную платформу, последовательно применяет методы оптимизации, например квантование и оптимизацию графа, и стремится получить эффективные ONNX-модели для инференса в облаке или на периферийных устройствах с учётом таких ограничений, как точность и задержка.
В проект входит CLI-команда `olive optimize`: она принимает название модели на Hugging Face и целевую точность, например int4, а затем выполняет весь конвейер — скачивает модель, квантирует её с помощью GPTQ, экспортирует граф ONNX вместе с весами и оптимизирует этот граф. Популярные архитектуры, включая Llama, Phi, Qwen и Gemma, поддерживаются из коробки; для работы с другими архитектурами достаточно описать их входы и выходы.
Модели, созданные с помощью Olive, предназначены для запуска в ONNX Runtime, у которого есть биндинги для Python, C/C++, C#, Java и JavaScript. В последних релизах упоминаются поддержка NPU и дополнительные алгоритмы квантования.
Ключевые возможности
- 01Автоматический конвейер оптимизации, запускаемый одной командой `olive optimize`.
- 02Квантование до низкой точности, например int4, с помощью GPTQ.
- 03Экспорт моделей Hugging Face в графы ONNX с отдельными файлами весов.
- 04Поддержка CPU, GPU и NPU через ONNX Runtime.
- 05Поддержка тонкой настройки и конвертации наряду с оптимизацией.
Сценарии использования
- Конвертация небольшой языковой модели в формат ONNX с int4 для инференса на устройстве.
- Подготовка LLM с Hugging Face к развёртыванию с ONNX Runtime на Windows или периферийном оборудовании.
- Эксперименты с настройками квантования для баланса между размером модели, точностью и задержкой.
Быстрый старт
- 1
Установить Olive с помощью pip
pip install olive-ai - 2
Установить transformers и onnxruntime-genai
pip install transformers onnxruntime-genai - 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.
- Для некоторых функций оптимизации нужны дополнительные необязательные extras и зависимости.
Темы
Частые вопросы
- Что такое Olive?
- Инструментарий на Python для объединения тонкой настройки, конвертации и квантования моделей и создания оптимизированных ONNX-моделей для CPU, GPU и NPU. Olive — это инструментарий для оптимизации AI-моделей на базе ONNX Runtime. Он принимает модель и целевую аппаратную платформу, последовательно применяет методы оптимизации, например квантование и оптимизацию графа, и стремится получить эффективные ONNX-модели для инференса в облаке или на периферийных устройствах с учётом таких ограничений, как точность и задержка.
- Olive можно использовать бесплатно? Какая у него лицензия?
- Olive распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- Olive всё ещё поддерживается?
- Активно поддерживается. Последний коммит в Olive — 6 нояб. 2026 г..
- Для чего можно использовать Olive?
- Конвертация небольшой языковой модели в формат ONNX с int4 для инференса на устройстве. Подготовка LLM с Hugging Face к развёртыванию с ONNX Runtime на Windows или периферийном оборудовании. Эксперименты с настройками квантования для баланса между размером модели, точностью и задержкой.
- Как установить Olive?
- Установить Olive с помощью pip: 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
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Открытые компоненты NVIDIA TensorRT — SDK для высокопроизводительного инференса моделей глубокого обучения на GPU NVIDIA: плагины, ONNX-парсер и примеры.
Python-инструментарий для оптимизации моделей ONNX: сокращает число операторов, стремясь сохранить точность и ускорить инференс.
PyTorch-движок инференса для Diffusion Transformers (DiT), который ускоряет работу Diffusers за счёт кэширования, параллелизма, квантования и выгрузки на CPU.
Python-фреймворк для сжатия нейросетей с помощью квантования, прореживания и разреживания, ускоряющий инференс в OpenVINO, PyTorch и ONNX.
Библиотека C/C++ с привязками для Python, C# и Java, которая запускает генеративные AI-модели на ONNX Runtime и обрабатывает весь цикл генерации LLM.