Voltar

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

  1. CEVIU noticia a abordagem para vencer o não determinismo na inferência de LLMs.

  2. CEVIU publica sobre o não determinismo na inferência causado pelo ponto flutuante.

  3. 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

Avalie este artigo:
Categoria
CEVIU IA
Publicado
13 de novembro de 2026
Editoria
CEVIU IA

Quer receber mais sobre CEVIU IA?

Conteúdo curado diariamente, direto no seu e-mail.

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser