Repolode
pytorch

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

    Instale a versão estável mais recente do TorchAO pelo PyPI

    pip install torchao
  2. 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