Repolode
microsoft

microsoft/Olive

Toolkit em Python que combina etapas de fine-tuning, conversão e quantização para gerar modelos ONNX otimizados para CPUs, GPUs e NPUs.

Estrelas
2,409
Forks
326
Issues abertas
87
Último commit
anteontem

O que é?

Olive é um toolkit de otimização de modelos de IA baseado no ONNX Runtime. Com um modelo e uma plataforma de hardware como entrada, ele encadeia técnicas de otimização, como quantização e otimização de grafos, para gerar modelos ONNX eficientes para inferência em dispositivos de nuvem ou de borda, respeitando restrições como precisão e latência.

O projeto oferece o comando `olive optimize`, que recebe o nome de um modelo do Hugging Face e uma precisão de destino, como int4, e executa todo o pipeline: baixa o modelo, quantiza-o com GPTQ, exporta o grafo ONNX com os pesos e otimiza esse grafo. Arquiteturas populares, como Llama, Phi, Qwen e Gemma, são compatíveis por padrão; outras podem ser usadas descrevendo suas entradas e saídas.

Os modelos gerados pelo Olive foram feitos para rodar no ONNX Runtime, que oferece bindings para Python, C/C++, C#, Java e JavaScript. Versões recentes mencionam suporte a NPU e algoritmos adicionais de quantização.

Recursos principais

  • 01Pipeline de otimização automático, acionado por um único comando `olive optimize`.
  • 02Quantização para precisões baixas, como int4, usando GPTQ.
  • 03Exporta modelos do Hugging Face para grafos ONNX com arquivos de pesos separados.
  • 04Tem como alvo CPUs, GPUs e NPUs por meio do ONNX Runtime.
  • 05Oferece suporte a etapas de fine-tuning e conversão, além da otimização.

Casos de uso

  • Converter um modelo de linguagem pequeno para o formato ONNX int4 para inferência no dispositivo.
  • Preparar LLMs do Hugging Face para implantação com ONNX Runtime no Windows ou em hardware de borda.
  • Experimentar configurações de quantização para equilibrar o tamanho do modelo, a precisão e a latência.

Início rápido

  1. 1

    Instalar Olive com pip

    pip install olive-ai
  2. 2

    Instalar transformers e onnxruntime-genai

    pip install transformers onnxruntime-genai
  3. 3

    Otimizar automaticamente Qwen2.5-0.5B-Instruct para int4

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

Antes de usar

  • É necessário ter um ambiente Python e baixar os modelos do Hugging Face.
  • Alguns recursos de otimização exigem extras opcionais e dependências adicionais.

Tópicos

Perguntas frequentes

O que é Olive?
Toolkit em Python que combina etapas de fine-tuning, conversão e quantização para gerar modelos ONNX otimizados para CPUs, GPUs e NPUs. Olive é um toolkit de otimização de modelos de IA baseado no ONNX Runtime. Com um modelo e uma plataforma de hardware como entrada, ele encadeia técnicas de otimização, como quantização e otimização de grafos, para gerar modelos ONNX eficientes para inferência em dispositivos de nuvem ou de borda, respeitando restrições como precisão e latência.
Olive é gratuito? Qual é a licença?
Olive é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
Olive ainda é mantido?
Manutenção ativa. O último commit de Olive foi em 5 de nov. de 2026.
Para que posso usar Olive?
Converter um modelo de linguagem pequeno para o formato ONNX int4 para inferência no dispositivo. Preparar LLMs do Hugging Face para implantação com ONNX Runtime no Windows ou em hardware de borda. Experimentar configurações de quantização para equilibrar o tamanho do modelo, a precisão e a latência.
Como instalar Olive?
Instalar Olive com pip: pip install olive-ai Instalar transformers e onnxruntime-genai: pip install transformers onnxruntime-genai Otimizar automaticamente Qwen2.5-0.5B-Instruct para int4: olive optimize --model_name_or_path Qwen/Qwen2.5-0.5B-Instruct --precision int4 --output_path models/qwen
Onde consigo Olive?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/microsoft/Olive

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados