Formatos de quantização de LLM: GGUF, AWQ, GPTQ, FP8 e NF4

Tradução automática Este artigo foi traduzido automaticamente a partir da versão original em inglês.

GGUF, AWQ, GPTQ, FP8 e NF4 não são cinco formatos de ficheiro intercambiáveis. GGUF é um formato de contentor e de metadados normalmente utilizado pelo llama.cpp. AWQ e GPTQ são métodos de quantização pós-treino. FP8 é um formato numérico utilizado por aceleradores e kernels de serving compatíveis. NF4 é um tipo de dados de quatro bits concebido para pesos com distribuição normal e habitualmente utilizado em treino QLoRA.

Escolha primeiro o runtime e o hardware. Em seguida, escolha uma representação suportada pelo runtime fixado para a arquitetura exata. Faça benchmark da qualidade nas tarefas, da memória, do tempo até ao primeiro token, do débito e da concorrência antes de aceitar o artefacto mais pequeno.

Última revisão: 2026-08-10. A comparação privilegia a compatibilidade com o runtime, os kernels de hardware, treino versus serving, a proveniência do artefacto, a memória, a latência e a perda de qualidade medida.

Tabela de decisão

ObjetivoMelhor ponto de partidaVerificar antes de utilizar
Inferência local em CPU, Metal ou llama.cpp portátilGGUF com uma quantização documentadaSuporte da arquitetura, chat template, comportamento do contexto, receita de quantização e revisão da origem.
Inferência em GPU com quantização calibrada dos pesosAWQ ou GPTQO serving engine, a GPU, a largura em bits, o group size, os kernels e a arquitetura do modelo.
Serving em GPU de data center compatívelFP8Capacidade do hardware, implementação no runtime, modo de calibração e qualidade de ponta a ponta.
Treino eficiente em parâmetros com pesos congelados de 4 bitsNF4 através de bitsandbytesCompute dtype, nested quantization, memória do optimizer e o artefacto final merged ou adapter.
Protótipo mais simples com Transformersbitsandbytes de 8 ou 4 bitsSuporte do backend e se o percurso do protótipo corresponde ao servidor de produção.

GGUF não especifica uma única quantização

Uma extensão .gguf indica como os tensores e os metadados são empacotados, não a precisão de todos os tensores. Nomes como Q4_K_M identificam receitas de quantização do llama.cpp, e essas receitas podem tratar grupos de tensores de forma diferente. Registe o checkpoint original, a revisão da conversão, o comando de quantização, a matriz de importância, caso seja utilizada, e os hashes.

AWQ e GPTQ precisam de um percurso de serving compatível

Os artefactos AWQ e GPTQ utilizam normalmente Safetensors, juntamente com uma configuração específica do método. Um modelo pode ser descarregado com sucesso e, ainda assim, recorrer a um kernel lento ou falhar numa arquitetura não suportada. Consulte a matriz de suporte atual do Transformers, do vLLM ou da versão efetiva do servidor antes de selecionar o artefacto.

FP8 e NF4 resolvem problemas diferentes

FP8 é uma opção atrativa quando o acelerador e a stack de serving a implementam de forma eficiente. NF4 está principalmente associado ao treino de adapters com eficiência de memória através de workflows ao estilo QLoRA. Nenhum dos rótulos garante a mesma qualidade, velocidade ou utilização de memória em diferentes modelos e hardware.

Checklist de avaliação

  • compare o mesmo checkpoint de origem e o mesmo conjunto de prompts
  • inclua contexto longo e pedidos concorrentes
  • meça a correção de schema e de tool calls, além da perplexidade
  • registe a memória máxima do dispositivo e do host
  • verifique o tempo até ao primeiro token e o débito de geração
  • analise slices de qualidade raros ou de elevado custo
  • mantenha a licença, a revisão da origem, o conversor, a receita e o hash associados ao artefacto

Leitura aprofundada

Referências