Os números de ponto flutuante são precisos, mas pesados. A quantização reduz a precisão numérica dos pesos e ativações do modelo, normalmente de floats de 32 bits para inteiros de 8 ou 4 bits. O modelo fica mais pequeno, executa mais rápido e consome menos energia.
A contrapartida é a precisão. A quantização agressiva degrada a qualidade da saída, especialmente em tarefas que exigem distinções numéricas subtis. A quantização pós-treino é barata, mas resulta em perda de dados. O treino com reconhecimento de quantização simula uma baixa precisão durante o treino, recuperando grande parte da precisão perdida.
Níveis de quantização comuns
- Ponto flutuante de 16 bits, compressão mínima
- Inteiro de 8 bits, muito utilizado para inferência.
- Inteiro de 4 bits, agressivo, mas viável com cuidado.
- Binário e ternário, experimental
O suporte de hardware varia. Alguns aceleradores lidam nativamente com 8 bits e proporcionam grandes ganhos de velocidade. Outros recorrem a métodos mais lentos. A escolha de um esquema de quantização depende tanto do propósito de implementação como do modelo.
Comments
No comments yet. Be the first to share a thought.
Leave a comment