Métodos de Quantização para LLMs: Executando um Modelo de 70B em uma Única GPU
Este artigo explora cinco técnicas de quantização que reduzem os requisitos de memória de modelos grandes, como o de 70 bilhões de parâmetros, abordando o problema dos outliers em diferentes estágios do processo.
Métodos de Quantização para LLMs: Executando um Modelo de 70B em uma Única GPU
Um modelo de 70B em FP16 requer cerca de 140 GB apenas para os pesos. Em formato de 4 bits, esse volume reduz para 35 GB, o que cabe em uma única GPU.
No entanto, o arredondamento simples dos valores não funciona para modelos grandes. Aproximadamente 0,1% das dimensões ocultas contêm valores que podem ser até 20 vezes maiores do que outros no tensor, quebrando a grade de quantização para todos os demais parâmetros.
Cada um destes cinco métodos aborda o problema dos outliers em estágios diferentes:
RTN (Round-To-Nearest)
Ignora o problema.
Cada peso é simplesmente arredondado para o nível de quantização mais próximo sem usar dados de calibração.
É a opção mais barata, mas a mais fraca em baixa precisão.GPTQ
Corrige as consequências do arredondamento.
Quantiza camada por camada, coluna por coluna, e após cada passo ajusta os pesos restantes para compensar o erro antes de prosseguir.AWQ (Activation-aware Weight Quantization)
Protege os pesos importantes antes do arredondamento.
Identifica cerca de 1% dos canais de peso com impacto mais significativo e os escala para melhor resistir à quantização.
O modelo final ainda opera inteiramente em INT4 padrão.LLM.int8()
Isola os outliers durante a inferência.
Dimensões com outliers são executadas em FP16, enquanto os 99,9% restantes dos parâmetros operam em INT8. Os resultados são então combinados.QAT (Quantization-Aware Training)
Aborda o problema durante o treinamento.
O modelo é ajustado fino (fine-tuned) considerando a quantização: o arredondamento é incorporado em cada passagem direta (forward pass), permitindo que o modelo se adapte às perdas resultantes antes da aplicação real da quantização.
Todos os cinco métodos produzem o mesmo resultado — um modelo que opera com menor precisão de representação comparado à versão original treinada.
A diferença reside apenas em quando o problema dos outliers é tratado.
Há um excelente artigo com um estudo detalhado sobre métodos de quantização de LLMs:
Leia mais
Por que isso importa
AnáliseEsses métodos de quantização permitem reduzir significativamente os requisitos de memória de modelos grandes, tornando-os acessíveis para uso em GPUs padrão. Compreender essas abordagens é crucial para desenvolvedores que buscam otimizar seus modelos.
Debater na comunidade
Compartilhe suas dúvidas e insights com desenvolvedores