A IA do amanhã
PT

← Voltar ao caderno

Aprofundamento · Folio IV

Calcular com menos bits

Cada número de um modelo é guardado com uma certa precisão, como uma régua graduada em milímetros ou em centímetros. Durante anos, os modelos usaram 16 ou 32 bits por número. Descobre-se que muitas vezes bastam 8, 4 ou até menos de 2.

Promissor atualizado em

I

A ideia, de forma simples

Os pesos de um modelo são números. Guardá-los com menos bits é como arredondar: se perde algum detalhe, mas cada número ocupa menos espaço, se lê mais depressa e se multiplica com circuitos menores.

O verdadeiro ganho está menos no cálculo do que no movimento: como mostra a figura da energia na página principal, ler um número da memória custa centenas de vezes mais do que calcular com ele. Dividir os bits por dois divide essa fatura por dois.

II

Como funciona

O truque é a escala por blocos: os números são agrupados em pequenos pacotes que partilham uma escala comum, de modo que poucos bits bastam para descrever cada um em relação aos vizinhos. As partes mais sensíveis (primeiras e últimas camadas, somas) ficam em precisão mais alta.

Há dois caminhos: comprimir depois do treinamento (rápido, mas a qualidade cai em precisão muito baixa) ou treinar diretamente em baixa precisão, para que o modelo aprenda a viver com o arredondamento desde o início.

Fonte: Horowitz, Computing's Energy Problem (ISSCC 2014)

Fig. I — O mesmo modelo, menos bits

Memória necessária para guardar 1 bilhão de pesos

  1. 32 bits4 GB
  2. 16 bits2 GB
  3. 8 bits1 GB
  4. 4 bits0,5 GB
  5. 1,58 bits≈ 0,2 GB

Com três valores, a multiplicação desaparece:

+1somar o número0ignorá-lo−1subtraí-lo

Esquema ilustrativo: mostra a ideia, não medições.

Cada vez que a precisão cai pela metade, a memória a ser lida também cai pela metade, e portanto a energia gasta para movê-la. Só com −1, 0 ou +1, uma multiplicação se torna uma soma, uma subtração ou nada.
III

Três degraus para baixo

Comprovado

8 bits: DeepSeek-V3 (2024)

Primeira validação do treinamento em 8 bits num modelo gigante: a maior parte dos cálculos matriciais do DeepSeek-V3 é feita em FP8, com uma escala fina. O erro de treinamento fica a menos de 0,25 % da referência em 16 bits. É uma das razões dseu baixo custo de treinamento.

Fonte: DeepSeek-AI, DeepSeek-V3 Technical Report (2024)

Promissor

4 bits: NVFP4 (2025)

A NVIDIA treinamentou um modelo de 12 bilhões de parâmetros com 10 trilhões de palavras em 4 bits, o treinamento mais longo deste tipo publicado. No MMLU-Pro: 62,58 % contra 62,62 % em 8 bits. Nos chips recentes, os 4 bits calculam 2 a 3 vezes mais depressa do que os 8 bits com metade da memória. Cerca de 16 % das camadas ficam em precisão mais alta, e o código sai um pouco pior.

Fonte: NVIDIA, Pretraining Large Language Models with NVFP4 (2025)

Promissor

1,58 bits: BitNet b1.58 (2024)

Cada peso vale −1, 0 ou +1. A partir de 3 bilhões de parâmetros, iguala um modelo de 16 bits treinado com os mesmos dados, sendo 2,71 vezes mais rápido e usando 3,55 vezes menos memória; com 70 bilhões, 4,1 vezes mais rápido. Energia de cálculo estimada para os produtos de matrizes: 71 vezes menos.

Fonte: Ma et al., The Era of 1-bit LLMs: BitNet b1.58 (2024)

IV

Os limites

Não há atalho para os modelos existentes: os pesos ternários precisam ser aprendidos desde o início; arredondar tanto um modelo existente o estraga. O hardware está atrasado: os ganhos do BitNet só são plenamente reais em chips concebidos para ele. Tarefas frágeis: o código e o cálculo preciso sofrem primeiro. E quanto mais dados um modelo viu, mais detalhes finos seus pesos levam, o que deixa menos margem para arredondar.

VI

O que gostaríamos de testar

Pegar um mesmo modelo aberto em 16, 8 e 4 bits e fazer às três versões as mesmas perguntas sobre artigos da OrigoTech. A nossa aposta: os fatos (datas, números) se degradam antes do raciocínio. Se assim for, é um argumento para guardar os fatos fora dos pesos.

Voltar ao topo