Como um modelo roda em quatro bits sem desmoronar.

SRC·27 Source
Jogue fora três de cada quatro bits — ele mal percebe.

Jogue fora três de cada quatro bits — ele mal percebe.

Um modelo treinado são bilhões de números longos e exatos. A quantização arredonda cada um para uma versão muito mais grosseira — de dezesseis bits para quatro — e ele ainda responde quase igual. Como um bonsai: toda a forma de uma grande árvore, guardada numa fração da madeira. O ganho é real: um modelo que enchia um servidor agora cabe numa fração do hardware.
O custo não é pensar. É carregar os números.

O custo não é pensar. É carregar os números.

M=Pb8 bytesM = \dfrac{P \cdot b}{8}\ \text{bytes}
Para escrever cada palavra, o modelo puxa da memória cada um de seus bilhões de pesos — e de novo para a palavra seguinte. O gargalo não é a conta; é o transporte. Como carregadores subindo uma casa pela escada: o trabalho é carregar, viagem após viagem — não decidir onde cada peça vai. A conta é só quantidade vezes tamanho: sete bilhões de pesos a dezesseis bits são quatorze gigabytes; a quatro bits, três e meio.
A jogada: encaixe cada número no degrau mais próximo.

A jogada: encaixe cada número no degrau mais próximo.

q=round ⁣(xs),x^=sqq = \mathrm{round}\!\left(\dfrac{x}{s}\right), \qquad \hat{x} = s\,q
Descarte o valor liso de dezesseis bits; guarde só o degrau mais próximo de uma escada curta, salvo como um inteiro minúsculo. Como números de sapato: os pés variam por um fio, mas o estoque vem em poucos tamanhos fixos, então cada pé pega o mais próximo. Em palavras simples: divida pelo passo, arredonde para um número inteiro — esse inteiro é tudo o que você salva — depois multiplique de volta para usar.
Onde ficam os degraus? Defina-os pelo maior número.

Onde ficam os degraus? Defina-os pelo maior número.

s=maxixi2b11s = \dfrac{\max_i |x_i|}{2^{\,b-1} - 1}
Qual a largura de cada passo? Pegue o maior peso, deixe-o cair no degrau mais alto e distribua o resto por igual até zero. Como cortar uma tábua em ripas iguais: peça mais e cada ripa fica mais fina; menos, e cada uma fica mais grosseira. O custo de poucos bits é claro: quatro bits compram só sete degraus de cada lado do zero — dezesseis bits compram mais de trinta mil.
Por que sobrevive: os números se amontoam, cada um mal se move.

Por que sobrevive: os números se amontoam, cada um mal se move.

xx^s2\lvert x - \hat{x}\rvert \le \dfrac{s}{2}
Funciona porque os pesos treinados não estão espalhados — quase todos se amontoam perto do zero. Uma escada curta ajustada a esse amontoado pega quase todos, e o arredondamento move cada um no máximo meio passo. Como um cardume-isca: o cardume inteiro se aperta numa esfera densa, a água ao redor vazia — então você põe suas poucas marcas onde os peixes realmente estão. Ao longo de bilhões, os pequenos excessos e faltas se cancelam.
Um único valor atípico gigante estraga tudo para todos.

Um único valor atípico gigante estraga tudo para todos.

sg=maxigxi2b11s_g = \dfrac{\max_{i \in g} |x_i|}{2^{\,b-1} - 1}
Mas alguns pesos são monstros — bem maiores que o resto. Ajuste a escada a um desses monstros e todo o amontoado desaba num único degrau, todo detalhe perdido. A solução: não compartilhe uma só escada — divida os pesos em pequenos grupos, cada um com seu próprio passo ajustado ao seu maior valor. Como uma sequoia gigante sobre mudas: meça tudo pela sequoia e cada muda marca zero — então você mede as pequenas na escala delas.
Um quarto dos bits. Quase a mesma mente.

Um quarto dos bits. Quase a mesma mente.

M16M4=164=4×\dfrac{M_{16}}{M_{4}} = \dfrac{16}{4} = 4\times
Junte tudo: um gigante de dezesseis bits roda em quatro bits — um quarto da memória, quase as mesmas respostas. O que carregava o conhecimento era o padrão dos pesos — qual pende para que lado, como se relacionam — não suas últimas casas decimais. Como um teatro de sombras: achate um cervo a uma simples silhueta preta, sem cor, sem textura, e ele ainda é, inconfundivelmente, um cervo.
Se três quartos eram descartáveis, para que serviam?

Se três quartos eram descartáveis, para que serviam?

Queimamos doze de cada dezesseis bits e o modelo nunca sentiu falta deles. Então eram desperdício — peso morto desde sempre? Ou aquela folga era justamente o espaço de que ele precisou enquanto aprendia, um andaime que se retira quando o prédio fica de pé? 🌱 Quanto de qualquer mente sustenta a carga — e quanto é só o espaço em que ela cresceu?
toque →deslize ↑ para maisdeslize ↓ para sair