Biblioteca nativa do PyTorch para quantização, esparsidade e treinamento em float8, abrangendo treinamento de modelos e inferência em produção.
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
Instalar Olive com pip
pip install olive-ai - 2
Instalar transformers e onnxruntime-genai
pip install transformers onnxruntime-genai - 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
Componentes de código aberto do TensorRT da NVIDIA, um SDK para inferência de deep learning de alto desempenho em GPUs NVIDIA, incluindo plugins, o parser de ONNX e exemplos.
Toolkit em Python que otimiza modelos ONNX reduzindo o número de operadores sem comprometer a precisão, para acelerar a inferência.
Um mecanismo de inferência PyTorch para Diffusion Transformers (DiTs) que adiciona cache, paralelismo, quantização e offload para CPU ao Diffusers.
Framework Python para comprimir redes neurais com quantização, pruning e esparsidade, acelerando a inferência no OpenVINO, PyTorch e ONNX.
Biblioteca C/C++ com bindings para Python, C# e Java que executa modelos de IA generativa no ONNX Runtime e gerencia todo o ciclo de geração de LLMs.