Biblioteca nativa de PyTorch para cuantización, sparsity y entrenamiento float8, tanto para entrenar modelos como para servir inferencias.
microsoft/Olive
Kit de herramientas de Python que combina ajuste fino, conversión y cuantización de modelos para generar modelos ONNX optimizados para CPU, GPU y NPU.
- Estrellas
- 2,409
- Forks
- 326
- Issues abiertos
- 87
- Último commit
- hace 20 horas
¿Qué es?
Olive es un kit de herramientas para optimizar modelos de IA basado en ONNX Runtime. A partir de un modelo y una plataforma de hardware de destino, encadena técnicas de optimización como la cuantización y la optimización de grafos. Su objetivo es generar modelos ONNX eficientes para inferencias en la nube o en dispositivos edge, respetando restricciones como la precisión y la latencia.
El proyecto ofrece el comando de línea de comandos `olive optimize`, que recibe el nombre de un modelo de Hugging Face y una precisión de destino —por ejemplo, int4— y ejecuta todo el flujo de trabajo: descarga el modelo, lo cuantiza con GPTQ, exporta el grafo ONNX con sus pesos y lo optimiza. Incluye compatibilidad con arquitecturas populares como Llama, Phi, Qwen y Gemma; también permite trabajar con otras arquitecturas si se describen sus entradas y salidas.
Los modelos que genera Olive están pensados para ejecutarse con ONNX Runtime, que cuenta con bindings para Python, C/C++, C#, Java y JavaScript. Las versiones recientes mencionan compatibilidad con NPU y algoritmos de cuantización adicionales.
Funciones clave
- 01Flujo de optimización automático que se ejecuta con un único comando: `olive optimize`.
- 02Cuantización a precisiones bajas, como int4, mediante GPTQ.
- 03Exportación de modelos de Hugging Face a grafos ONNX con archivos de pesos separados.
- 04Compatibilidad con CPU, GPU y NPU mediante ONNX Runtime.
- 05Compatibilidad con pasos de ajuste fino y conversión, además de la optimización.
Casos de uso
- Convertir un modelo de lenguaje pequeño al formato ONNX int4 para inferencias en el dispositivo.
- Preparar LLM de Hugging Face para implementarlos con ONNX Runtime en Windows o en hardware edge.
- Probar configuraciones de cuantización para equilibrar el tamaño del modelo, la precisión y la latencia.
Inicio rápido
- 1
Instalar Olive con pip
pip install olive-ai - 2
Instalar transformers y onnxruntime-genai
pip install transformers onnxruntime-genai - 3
Optimizar automáticamente Qwen2.5-0.5B-Instruct a int4
olive optimize --model_name_or_path Qwen/Qwen2.5-0.5B-Instruct --precision int4 --output_path models/qwen
Antes de usarlo
- Se necesita un entorno de Python y descargar los modelos desde Hugging Face.
- Algunas funciones de optimización requieren extras opcionales y dependencias adicionales.
Temas
Preguntas frecuentes
- ¿Qué es Olive?
- Kit de herramientas de Python que combina ajuste fino, conversión y cuantización de modelos para generar modelos ONNX optimizados para CPU, GPU y NPU. Olive es un kit de herramientas para optimizar modelos de IA basado en ONNX Runtime. A partir de un modelo y una plataforma de hardware de destino, encadena técnicas de optimización como la cuantización y la optimización de grafos. Su objetivo es generar modelos ONNX eficientes para inferencias en la nube o en dispositivos edge, respetando restricciones como la precisión y la latencia.
- ¿Olive es gratuito? ¿Qué licencia tiene?
- Olive es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿Olive sigue mantenido?
- Mantenimiento activo. El último commit de Olive fue el 7 nov 2026.
- ¿Para qué puedo usar Olive?
- Convertir un modelo de lenguaje pequeño al formato ONNX int4 para inferencias en el dispositivo. Preparar LLM de Hugging Face para implementarlos con ONNX Runtime en Windows o en hardware edge. Probar configuraciones de cuantización para equilibrar el tamaño del modelo, la precisión y la latencia.
- ¿Cómo se instala Olive?
- Instalar Olive con pip: pip install olive-ai Instalar transformers y onnxruntime-genai: pip install transformers onnxruntime-genai Optimizar automáticamente Qwen2.5-0.5B-Instruct a int4: olive optimize --model_name_or_path Qwen/Qwen2.5-0.5B-Instruct --precision int4 --output_path models/qwen
- ¿Dónde consigo Olive?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/microsoft/Olive
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Componentes de código abierto de TensorRT de NVIDIA, un SDK para inferencia de deep learning de alto rendimiento en GPU NVIDIA, que incluye plugins, el parser de ONNX y ejemplos.
Un toolkit de Python que optimiza modelos ONNX reduciendo el número de operadores y manteniendo la precisión, con el objetivo de acelerar la inferencia.
Motor de inferencia para PyTorch de Diffusion Transformers (DiTs) que añade caching, paralelismo, cuantización y descarga a CPU sobre Diffusers.
Framework de Python para comprimir redes neuronales mediante cuantización, pruning y sparsity, y acelerar la inferencia en OpenVINO, PyTorch y ONNX.
Biblioteca C/C++ con bindings para Python, C# y Java que ejecuta modelos de IA generativa en ONNX Runtime y gestiona todo el ciclo de generación de LLM.