Repolode
microsoft

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. 1

    Instalar Olive con pip

    pip install olive-ai
  2. 2

    Instalar transformers y onnxruntime-genai

    pip install transformers onnxruntime-genai
  3. 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