1 points par GN⁺ 2026-02-02 | 1 commentaires | Partager sur WhatsApp
  • Sur l’iPhone 16 Pro Max, l’exécution d’un LLM avec MLX produit des valeurs numériques incorrectes, alors que le même code fonctionne normalement sur un iPhone 15 Pro et un MacBook Pro
  • Les valeurs des tenseurs diffèrent de plus d’un ordre de grandeur, et les résultats sont altérés même avec la même entrée
  • La cause probable serait un défaut matériel du Neural Engine ou de la pile de calcul ML basée sur Metal
  • Les fonctions Apple Intelligence montrent elles aussi une instabilité similaire, comme des échecs de téléchargement, ce qui laisse envisager un lien
  • À travers ce cas, le développeur souligne qu’il faut aussi envisager un problème matériel physique lors du débogage

Découverte d’une erreur d’exécution de MLX LLM

  • Sur l’iPhone 16 Pro Max, l’exécution d’un LLM basé sur MLX génère une sortie incohérente (gibberish)
    • Le même code fonctionne normalement sur un iPhone 15 Pro et un MacBook Pro
    • L’utilisation CPU grimpe à 100 % et le token stop n’est pas généré, ce qui maintient une sortie infinie
  • Malgré l’utilisation du même modèle et du même prompt, les valeurs de sortie des tenseurs deviennent anormalement élevées
    • Sur iPhone 15 Pro : [53.875, 62.5625, -187.75, ...]
    • Sur iPhone 16 Pro Max : [191.5, 23.625, 173.75, ..., 1298, -147.25, -162.5]
    • Les valeurs d’entrée étaient identiques, mais les nombres sont fortement déformés au cours des étapes intermédiaires du calcul

Problèmes avec les fonctions Apple Intelligence

  • Une tentative d’implémenter une fonction de catégorisation des dépenses à l’aide de l’API Apple Intelligence a échoué, car le modèle pris en charge ne se téléchargeait pas
    • Même après plusieurs changements dans les réglages, la fonction ne s’activait pas
    • Sur les forums communautaires Apple, de nombreux utilisateurs signalent le même problème (12 pages de retours)
  • Cela a conduit à abandonner l’accès à Apple Intelligence pour passer à une approche basée sur MLX

Processus de débogage et recherche de la cause

  • Un point d’arrêt a été placé dans l’implémentation du modèle Gemma de MLX pour suivre les valeurs des tenseurs à chaque couche
    • Les valeurs d’entrée étaient identiques sur les deux appareils, mais sur l’iPhone 16 Pro Max les chiffres devenaient anormalement grands dès les étapes intermédiaires
    • Sur Mac aussi, les mêmes résultats corrects que sur l’iPhone 15 Pro ont été confirmés
  • Cela a permis de conclure avec certitude qu’il s’agissait d’un problème matériel, et non du code ou du modèle

Possibilité d’un défaut matériel

  • Une erreur de calcul pourrait se produire dans le Neural Engine de la puce A18 de l’iPhone 16 Pro Max ou dans le chemin de calcul ML basé sur Metal
    • Comme MLX compile les opérations sur tenseurs via Metal, un défaut dans cette pile pourrait provoquer la déformation des résultats
  • La possibilité d’une cause commune avec le problème Apple Intelligence est également évoquée, sans preuve claire à ce stade

Conclusion et enseignements

  • L’iPhone 16 Pro Max concerné a été confirmé comme étant une unité présentant un défaut matériel
    • Après remplacement par un iPhone 17 Pro Max, toutes les fonctions ont de nouveau fonctionné normalement
  • À travers cette expérience, le développeur insiste sur le fait qu’en débogage, il faut envisager non seulement les problèmes logiciels, mais aussi les problèmes matériels physiques
  • Trois enseignements :
    • Une erreur d’exécution d’un LLM n’est pas toujours un problème de code
    • L’importance des tests comparatifs dans un environnement identique
    • Même un matériel coûteux ne garantit pas forcément la précision des calculs ML

1 commentaires

 
GN⁺ 2026-02-02
Avis Hacker News
  • Indépendamment de la méthodologie, faire faire une addition à un LLM n’est pas vraiment une bonne idée
    C’est aussi absurde que de demander « que donne lune plus soleil ? »
    Mais le phénomène observé ici est différent. L’API d’opérations numériques d’Apple renvoie des résultats incohérents sur certains appareils. C’est un problème auquel Apple devrait prêter attention
    • Rien à voir, mais dans ma tête j’ai immédiatement pensé à « luminosité ».
      Parce que soleil (日) et lune (月) assemblés donnent 明 (lien Wiki)
      On pourrait aussi répondre « pleine lune », mais il ne semble pas y avoir de réponse déterministe évidente
    • « Lune plus soleil ? » C’est évidemment une éclipse
  • J’aurais aimé qu’ils testent aussi sur un autre iPhone 16 Pro Max. On aurait pu vérifier si le problème était propre à cet appareil, c’est dommage
    • Oui. En suivant les recommandations habituelles d’Apple Support, il aurait fallu réinitialiser puis réinstaller l’OS
      En faisant bien sûr une sauvegarde, et si possible avec un abonnement iCloud+. Pour ce genre de problème, c’est la solution la plus simple
    • D’après la dernière mise à jour en bas de page, tout fonctionnait normalement sur un iPhone 17 Pro Max
      Donc cet iPhone 16 Pro Max semble avoir eu un défaut matériel
  • Les optimisations numériques bas niveau sont souvent difficiles à reproduire
    C’est par exemple mentionné dans la documentation d’Intel
    Cela dit, voir le LLM ne pas fonctionner du tout sur l’iPhone 16 est surprenant. Les LLM sont en général assez tolérants à la quantification
    • Le fait que « l’accumulation en virgule flottante n’est pas commutative » est une évidence de base
      Au début, j’ai voulu écarter le problème pour cette raison, mais
      le fait que tous les autres appareils Apple produisaient le même résultat, et que le LLM d’Apple échouait uniquement sur cet appareil, était étrange
      Cela ressemble moins à un problème fondamental qu’à une défaillance inattendue. Qu’Apple ait expédié un appareil dans cet état n’est pas acceptable
  • Honnêtement, en cliquant sur cet article, je pensais que ce serait une histoire disant que les vieilles calculatrices graphiques sont meilleures qu’un smartphone
    Pour faire des maths sur mon téléphone aujourd’hui, j’utilise un émulateur HP Prime
    • Moi, j’aime PCalc. Il tourne sur toutes les plateformes Apple depuis l’époque du Mac Classic (lien)
      Une autre calculatrice que j’utilise souvent est free42 ou plus42 (lien)
      Pour les outils de CAS, MathStudio est le meilleur (mathstud.io)
      Ça fonctionne aussi dans le navigateur, mais il y a également une appli mobile. Ça donne l’impression d’un Wolfram Alpha auto-hébergé
    • Personnellement, j’utilise iHP48. C’est la version avec metakernal installée, comme sur le HP 48GX que j’utilisais à l’université
      C’est toujours intuitif et rapide
    • J’ai été ravi d’apprendre qu’on peut supprimer l’appli Calculatrice par défaut de l’iPhone et la remplacer par NumWorks
      Je l’ai configurée pour qu’elle se lance directement depuis le bouton du Centre de contrôle
      Mon reproche, c’est que malgré un écran aussi grand, on ne peut pas faire défiler l’historique des calculs précédents
      J’en ai assez des interfaces qui imitent les calculatrices à 4 fonctions des années 1990
    • Sur Android, j’utilise un émulateur TI 83+. C’est pratique quand je ne peux pas emporter la vraie calculatrice
    • Quand j’ai besoin de faire des calculs sérieux, je finis quand même par sortir une vraie TI-84. C’est une question d’habitude tactile
  • L’article était intéressant, mais le raisonnement de la fin, selon lequel MLX utilise le Neural Engine, n’est pas correct
    MLX peut aussi s’exécuter sur CPU, GPU Apple (Metal) et GPU NVIDIA (CUDA) (lien)
  • Publier du code permettant de reproduire le bug serait utile non seulement pour Apple, mais aussi pour d’autres personnes
  • Donc c’est peut-être pour ça que le texte prédictif de mon iPhone est catastrophique
    • Je ne suis donc pas le seul. Depuis environ six mois, taper est vraiment devenu horrible
      J’ai essayé toutes sortes de combinaisons de réglages, mais le texte prédictif s’arrête aléatoirement ou dysfonctionne
    • C’est tellement mauvais que j’en viens à me demander si ce n’est pas volontaire
      Ou alors une optimisation destinée à pousser vers la saisie vocale
  • Bon article. J’aurais simplement aimé avoir au moins un test minimal montrant clairement si le résultat des opérations mathématiques est réellement faux
  • J’ai demandé « combien font 2+2 ? » et l’iPhone a répondu quelque chose comme « Applied.....*_dAK[...] »
    Au moins, il n’a pas répondu « 7 », c’est déjà ça
    • J’imagine que Trurl et Klapaucius étaient peut-être en charge des questions-réponses
  • Il est possible que d’autres applications utilisant le Neural Engine aient montré des anomalies similaires
    Tester quelques applis de l’App Store aurait probablement donné des résultats intéressants