Biblioteca e servidor rápidos e eficientes em memória para executar e servir modelos de linguagem grandes com uma API compatível com a OpenAI.
pytorch/ao
Biblioteca nativa do PyTorch para quantização, esparsidade e treinamento em float8, abrangendo treinamento de modelos e inferência em produção.
- Estrelas
- 3,013
- Forks
- 655
- Issues abertas
- 819
- Último commit
- anteontem
O que é?
TorchAO é uma biblioteca de quantização e otimização de modelos criada diretamente sobre o PyTorch. Ela oferece quantização apenas de pesos e dinâmica (incluindo int4, int8 e float8), treinamento com consciência de quantização (QAT), receitas de treinamento em float8 e MXFP8, esparsidade e otimizadores quantizados que reduzem o uso de memória do otimizador.
A biblioteca foi projetada para funcionar com torch.compile e FSDP2 na maioria dos modelos PyTorch do Hugging Face. É possível gerar modelos quantizados com uma API quantize_ ou pelas integrações com transformers e diffusers, e servi-los com backends como vLLM e SGLang, ou implantá-los em dispositivos de borda via ExecuTorch.
Entre os projetos que a utilizam estão TorchTitan, para pré-treinamento em float8; TorchTune, para receitas de QLoRA e QAT; e Unsloth e Axolotl, para ajuste fino com QAT.
Recursos principais
- 01Quantização de pesos e ativações em int4, int8 e float8 para inferência.
- 02Receitas de treinamento com consciência de quantização (QAT) que recuperam a precisão perdida após a quantização.
- 03Suporte a treinamento em float8 e MXFP8 compatível com torch.compile e FSDP2.
- 04Otimizadores quantizados (AdamW de 8 bits, 4 bits e fp8) e offloading para CPU em uma única GPU para reduzir o uso de memória.
- 05Integrações com Hugging Face transformers, diffusers, vLLM, SGLang e ExecuTorch.
Casos de uso
- Servir um modelo de linguagem grande com pesos int4 ou float8 para reduzir o uso de memória da GPU e a latência.
- Ajustar um modelo quantizado com QAT para limitar a perda de precisão na inferência de baixa precisão.
- Executar o pré-treinamento em float8 de grandes modelos transformer em clusters com várias GPUs.
- Implantar um modelo quantizado em um dispositivo móvel ou de borda por meio do ExecuTorch.
Início rápido
- 1
Instale a versão estável mais recente do TorchAO pelo PyPI
pip install torchao - 2
Quantize os pesos do modelo para int4 usando quantize_ (substitua model pelo seu modelo PyTorch)
quantize_(model, Int4WeightOnlyConfig(group_size=32, int4_packing_format="tile_packed_to_4d", int4_choose_qparams_algorithm="hqq"))
Antes de usar
- Alguns kernels opcionais e recursos de treinamento precisam de pacotes adicionais e builds específicos do CUDA.
- Os recursos de treinamento Float8 e MoE dependem de hardware de GPU específico.
Tópicos
Perguntas frequentes
- O que é ao?
- Biblioteca nativa do PyTorch para quantização, esparsidade e treinamento em float8, abrangendo treinamento de modelos e inferência em produção. TorchAO é uma biblioteca de quantização e otimização de modelos criada diretamente sobre o PyTorch. Ela oferece quantização apenas de pesos e dinâmica (incluindo int4, int8 e float8), treinamento com consciência de quantização (QAT), receitas de treinamento em float8 e MXFP8, esparsidade e otimizadores quantizados que reduzem o uso de memória do otimizador.
- ao é gratuito? Qual é a licença?
- ao é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
- ao ainda é mantido?
- Manutenção ativa. O último commit de ao foi em 19 de out. de 2026.
- Para que posso usar ao?
- Servir um modelo de linguagem grande com pesos int4 ou float8 para reduzir o uso de memória da GPU e a latência. Ajustar um modelo quantizado com QAT para limitar a perda de precisão na inferência de baixa precisão. Executar o pré-treinamento em float8 de grandes modelos transformer em clusters com várias GPUs. Implantar um modelo quantizado em um dispositivo móvel ou de borda por meio do ExecuTorch.
- Como instalar ao?
- Instale a versão estável mais recente do TorchAO pelo PyPI: pip install torchao Quantize os pesos do modelo para int4 usando quantize_ (substitua model pelo seu modelo PyTorch): quantize_(model, Int4WeightOnlyConfig(group_size=32, int4_packing_format="tile_packed_to_4d", int4_choose_qparams_algorithm="hqq"))
- Onde consigo ao?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/pytorch/ao
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Biblioteca Python que executa LLMs grandes camada por camada, permitindo inferência com modelos da classe 70B em uma única GPU de 4 GB, sem quantização.
Engine de inferência de LLM em Rust, com APIs compatíveis com OpenAI e Anthropic, quantização, modelos multimodais e ferramentas para agentes.
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.
Um livro aberto com métodos, scripts e guias passo a passo para treinar, fazer fine-tuning e executar inferência em modelos de linguagem grandes e multimodais.