1 pontos por GN⁺ 2026-02-02 | 1 comentários | Compartilhar no WhatsApp
  • No iPhone 16 Pro Max, ocorre saída numérica incorreta ao executar MLX LLM, enquanto o mesmo código funciona normalmente no iPhone 15 Pro e no MacBook Pro
  • Os valores de tensor diferem em mais de uma ordem de grandeza, e foi confirmado um fenômeno em que o resultado é distorcido mesmo com a mesma entrada
  • A causa do problema é apontada como uma possível falha de hardware no Neural Engine ou na pilha de operações de ML baseada em Metal
  • Recursos do Apple Intelligence também mostraram instabilidades semelhantes, como falha no download, levantando a possibilidade de relação
  • O desenvolvedor enfatiza, com este caso, que problemas físicos de hardware também devem ser considerados durante o debugging

Erro encontrado na execução de MLX LLM

  • No iPhone 16 Pro Max, foi gerada saída sem sentido (gibberish) ao executar um LLM baseado em MLX
    • O mesmo código funcionava normalmente no iPhone 15 Pro e no MacBook Pro
    • O uso de CPU subia para 100%, e como o token “stop” não era gerado, a saída continuava indefinidamente
  • Mesmo usando o mesmo modelo e o mesmo prompt, os valores de saída dos tensores ficavam anormalmente altos
    • No iPhone 15 Pro: [53.875, 62.5625, -187.75, ...]
    • No iPhone 16 Pro Max: [191.5, 23.625, 173.75, ..., 1298, -147.25, -162.5]
    • Os valores de entrada eram os mesmos, mas os números passavam a ser fortemente distorcidos nas etapas intermediárias de cálculo

Problemas nos recursos do Apple Intelligence

  • Tentou-se implementar um recurso de classificação de gastos usando a API do Apple Intelligence, mas o suporte ao modelo não era baixado
    • Mesmo alterando as configurações várias vezes, o recurso não era ativado
    • Nos fóruns da comunidade Apple, também houve relatos de muitos usuários enfrentando o mesmo problema (12 páginas de discussões)
  • Por isso, a abordagem com Apple Intelligence foi abandonada e houve migração para uma abordagem baseada em MLX

Processo de debugging e rastreamento da causa

  • Foram definidos breakpoints na implementação do modelo Gemma no MLX para rastrear os valores de tensor em cada camada
    • Os valores de entrada eram os mesmos nos dois dispositivos, mas no iPhone 16 Pro Max os números começavam a crescer de forma anormal a partir das etapas intermediárias
    • No Mac, também foi confirmado o mesmo resultado correto observado no iPhone 15 Pro
  • Com isso, surgiu a convicção de que se tratava de um problema de hardware, e não de código ou do modelo

Possível falha de hardware

  • Pode haver erro de cálculo no Neural Engine do chip A18 do iPhone 16 Pro Max ou no caminho de operações de ML baseado em Metal
    • Como o MLX compila operações de tensor via Metal, uma falha nessa pilha pode ter causado a distorção dos resultados
  • Também é mencionado que pode ser a mesma causa dos problemas do Apple Intelligence, embora não haja evidência clara

Conclusão e lições

  • O iPhone 16 Pro Max com problema foi identificado como uma unidade com defeito de hardware
    • Depois, ele foi substituído por um iPhone 17 Pro Max, e todos os recursos passaram a funcionar normalmente
  • Com essa experiência, o desenvolvedor enfatiza que ao fazer debugging, é preciso considerar não apenas o software, mas também problemas físicos de hardware
  • Três lições:
    • Erros na execução de LLM nem sempre são problemas de código
    • A importância de testes comparativos no mesmo ambiente
    • Mesmo hardware caro pode não garantir a precisão dos cálculos de ML

1 comentários

 
GN⁺ 2026-02-02
Comentários do Hacker News
  • Mesmo deixando a metodologia de lado, fazer um LLM somar não é uma ideia muito boa
    É tão engraçado quanto perguntar algo como “o que dá lua mais sol?”
    Mas o fenômeno em si desta vez é diferente. A API de operações numéricas da Apple está produzindo resultados inconsistentes em alguns aparelhos. Isso é um problema ao qual a Apple deveria dar atenção
    • Totalmente fora do assunto, mas na minha cabeça eu pensei imediatamente em “brilho”.
      Porque sol(日) e lua(月) juntos formam 明 (link da wiki)
      Também daria para responder “lua cheia”, mas não parece haver uma resposta determinística e clara
    • “Lua mais sol?” Isso obviamente é um eclipse
  • Teria sido bom testar em outro iPhone 16 Pro Max também. Assim daria para confirmar se era um problema só daquele aparelho
    • Concordo. Seguindo o que o Apple Support normalmente recomenda, o certo seria resetar e reinstalar o sistema operacional
      Claro, fazendo backup antes, e se possível usando um plano iCloud+. Para esse tipo de problema, essa é a solução mais simples
    • Segundo a atualização mais recente no fim da página, no iPhone 17 Pro Max tudo funcionou normalmente
      Ou seja, aquele iPhone 16 Pro Max aparentemente tinha um defeito de hardware
  • Otimizações de operações numéricas de baixo nível muitas vezes são difíceis de reproduzir
    Isso já foi mencionado, por exemplo, na documentação da Intel
    Mesmo assim, é surpreendente que o LLM não funcione de jeito nenhum no iPhone 16. LLMs normalmente são bem tolerantes à quantização
    • É conhecimento básico que “a acumulação em ponto flutuante não obedece à propriedade comutativa”
      No começo eu quase descartei o problema por causa disso,
      mas o estranho é que todos os outros dispositivos da Apple deram o mesmo resultado, e só o LLM da própria Apple falhou neste aparelho
      Isso parece mais uma falha inesperada do que um problema fundamental. Não é bom que a Apple tenha enviado um aparelho nesse estado
  • Sinceramente, quando cliquei neste texto, achei que seria sobre calculadoras gráficas antigas serem melhores que smartphones
    Hoje em dia, quando faço matemática no celular, uso um emulador do HP Prime
    • Eu gosto do PCalc. Ele roda em todas as plataformas da Apple desde a era do Mac Classic (link)
      Outras calculadoras favoritas são o free42 e o plus42 (link)
      Como ferramenta de CAS, o MathStudio é o melhor (mathstud.io)
      Também roda no navegador, mas tem app mobile. É como um Wolfram Alpha auto-hospedado
    • Pessoalmente, eu uso o iHP48. É a versão com metakernal instalada no HP 48GX que eu usava na faculdade
      Continua intuitivo e rápido
    • Fiquei feliz ao descobrir que dá para apagar o app de calculadora padrão do iPhone e trocar pelo NumWorks
      Deixei para abrir direto pelo botão da Central de Controle
      Minha reclamação é que, mesmo com uma tela desse tamanho, não dá para rolar e ver o histórico de cálculos anteriores
      Já deu dessa UI que parece uma réplica de calculadora de quatro funções dos anos 1990
    • No Android eu uso um emulador de TI 83+. É útil quando não dá para carregar a calculadora de verdade
    • Quando preciso fazer contas sérias, no fim acabo pegando a TI-84 física. Já estou acostumado com a sensação de uso
  • O texto foi interessante, mas a lógica no fim de que “o MLX usa o Neural Engine” não está correta
    O MLX também pode rodar em CPU, GPU da Apple (Metal) e GPU da NVIDIA (CUDA) (link)
  • Acho que publicar um código que reproduza o bug ajudaria não só a Apple, mas outras pessoas também
  • Então será que é por isso que o texto preditivo do meu iPhone anda uma bagunça?
    • Então não era só comigo. Nos últimos 6 meses, digitar tem sido realmente horrível
      Já mudei configurações em todas as combinações possíveis, mas o texto preditivo para aleatoriamente ou funciona errado
    • Está tão ruim que às vezes parece até intencional
      Ou talvez seja uma otimização para empurrar as pessoas para a digitação por voz
  • Foi um bom texto. Só senti falta de um caso de teste mínimo que mostrasse com clareza se o resultado da operação matemática estava realmente errado
  • Perguntei “quanto é 2+2?” e o iPhone respondeu algo bizarro como “Applied.....*_dAK[...]”
    Pelo menos ele não respondeu “7”, então já é alguma coisa
    • Talvez Trurl e Klapaucius estivessem encarregados do sistema de perguntas e respostas
  • É possível que outros apps que usam o Neural Engine também tenham mostrado anomalias parecidas
    Teria sido interessante testar alguns apps da App Store para ver o que aparecia