Inferência de LLMs determinística com aritmética apenas de inteiros: post analisa como eliminar o não determinismo
Aprofundamento CEVIU
Aprofundamento
O post parte do diagnóstico da Thinking Machines: em ponto flutuante, a soma não é associativa, então (a+b)+c pode arredondar diferente de a+(b+c). Na GPU, a ordem das somas muda com o tamanho do batch, com a divisão entre prefill e decode e com o jeito como o KV cache é fatiado. O kernel, em geral, é determinístico de uma execução para outra. O que falha é a invariância ao batch. Os kernels de ordem fixa resolvem isso em uma GPU, ao custo de cerca de 20% de lentidão no matmul, mas não entre A100, H100 e CPU.
A proposta do DetLLM é tirar o float da conta. Ele roda o Qwen3-0.6B só com inteiros, dos ids de entrada até os logits int32, usando os operadores do I-LLM e escalas diádicas (mantissa inteira e shift). Só o matmul int8 x int8 para int32 depende do hardware. O resultado: nove configurações em três máquinas (A100, H100 e MacBook) geram o mesmo hash, enquanto as nove rodadas em fp16 geram nove hashes. A perplexidade na WikiText2 é 20,72 contra 20,95 do fp16. O decode saiu de 0,8 para 106 tokens por segundo depois de fusão de operações, CUDA graphs e um kernel de atenção em Triton. O autor trata o trabalho como prova de conceito: modelos maiores, outras arquiteturas, amostragem em inteiros e hardware de celular ou NPU seguem em aberto.
O que mudou
Em 14 de abril de 2026, o CEVIU noticiou "Vencendo o Não-Determinismo na Inference de LLMs", sobre a abordagem de fixar a ordem das operações. Em 9 de setembro de 2026, veio "Desvendando o Não Determinismo na Inferência de Modelos de IA", com o mesmo diagnóstico do ponto flutuante. Agora o foco muda: em vez de domar a ordem das somas em cada GPU, o post elimina o float e busca bits idênticos entre fabricantes e arquiteturas.
Por que isso importa
Para quem opera inferência, a leitura é que determinismo entre hardwares deixa de depender de kernels reprodutíveis escritos para cada plataforma. O preço ainda é concreto: modelo pequeno, kernels artesanais e prefill a cerca de 0,13x do fp16. Por ora, é pesquisa em workshop com código aberto, não produto pronto para produção.
Linha do tempo
CEVIU noticia a abordagem para vencer o não determinismo na inferência de LLMs.
CEVIU publica sobre o não determinismo na inferência causado pelo ponto flutuante.
Post do DetLLM mostra inferência com aritmética só de inteiros e bits idênticos entre A100, H100 e CPU.
Perguntas frequentes
Por que o LLM não é determinístico mesmo com temperatura 0?
A soma em ponto flutuante não é associativa, e a ordem das adições na GPU muda conforme o tamanho do batch, o uso de prefill ou decode e a divisão do KV cache. Mudar a ordem muda o arredondamento e, às vezes, o token vencedor. Em um teste da Thinking Machines, 1.000 envios do mesmo prompt deram 80 respostas diferentes.
Por que aritmética de inteiros resolve o problema?
A soma de inteiros é exata, associativa e comutativa, desde que não haja overflow, que dá para limitar antes. Qualquer ordem de redução, em qualquer hardware correto, gera os mesmos bits. Mas todo o forward pass precisa ser inteiro, incluindo softmax, normalização e RoPE.
Isso piora a qualidade do modelo?
Pouco, segundo o post. A perplexidade na WikiText2 foi 20,72 contra 20,95 do fp16, e no C4 ficou 0,4% pior. O custo maior é de velocidade, pois faltam kernels otimizados para operações inteiras.
Dá para usar isso em produção hoje?
Ainda não é o caso. O autor chama de prova de conceito, com só o Qwen3-0.6B testado. Modelos maiores, outras arquiteturas e velocidade de prefill seguem em aberto. A garantia vale para um artefato preparado, pois a conversão de float para inteiro não é reproduzível.
Fontes
- nathan.rsfonte original
- Categoria
- CEVIU IA
- Publicado
- 13 de novembro de 2026
- Editoria
- CEVIU IA
