1 ポイント 投稿者 GN⁺ 2026-02-02 | 1件のコメント | WhatsAppで共有
  • iPhone 16 Pro MaxでMLX LLM実行時に誤った数値出力が発生し、同じコードがiPhone 15 ProとMacBook Proでは正常に動作した
  • テンソル値に一桁以上の差が見られ、同一入力でも結果が歪む現象が確認された
  • 問題の原因はNeural EngineまたはMetalベースのML演算スタックのハードウェア欠陥と推定される
  • Apple Intelligence機能でもダウンロード失敗など類似の不安定性が見られ、関連している可能性が示された
  • 開発者はこの事例を通じて、デバッグ時には物理的なハードウェア問題も考慮すべきだと強調した

MLX LLM実行エラーを発見

  • iPhone 16 Pro MaxでMLXベースのLLM実行時に無意味な出力(gibberish) が生成された
    • 同じコードはiPhone 15 ProとMacBook Proでは正常に動作
    • CPU使用率が100%まで急上昇し、stopトークンが生成されないため無限出力状態が続いた
  • 同一モデルとプロンプトを使っていたにもかかわらず、テンソル出力値が異常に大きくなる現象が起きた
    • iPhone 15 Proでは [53.875, 62.5625, -187.75, ...]
    • iPhone 16 Pro Maxでは [191.5, 23.625, 173.75, ..., 1298, -147.25, -162.5]
    • 入力値は同じだったが、中間演算段階で数値が急激に歪んだ

Apple Intelligence機能の問題

  • Apple Intelligence APIを使って支出分類機能を実装しようとしたが、モデルサポートがダウンロードされなかった
    • 設定を何度変更しても機能が有効にならなかった
    • Appleコミュニティフォーラムでも同じ問題を経験するユーザーが多数(12ページ分) 報告されている
  • このためApple Intelligenceへのアクセスを断念し、MLXベースのアプローチへ切り替えた

デバッグ過程と原因追跡

  • MLXのGemmaモデル実装部にブレークポイントを設定し、各レイヤーのテンソル値を追跡した
    • 入力値は2台で同一だったが、iPhone 16 Pro Maxでは中間段階から数値が異常に大きくなった
    • MacでもiPhone 15 Proと同じ正常な結果を確認
  • これにより、コードやモデルではなくハードウェアの問題だと確信した

ハードウェア欠陥の可能性

  • iPhone 16 Pro MaxのA18チップのNeural EngineまたはMetalベースのML演算経路で計算エラーが発生している可能性がある
    • MLXはMetalを通じてテンソル演算をコンパイルするため、このスタックの欠陥が結果の歪みを引き起こす可能性がある
  • Apple Intelligenceの問題と同じ原因である可能性にも触れられているが、明確な証拠はない

結論と教訓

  • 問題のiPhone 16 Pro Maxはハードウェア欠陥のある個体だったことが確認された
    • その後iPhone 17 Pro Maxに交換したところ、すべての機能が正常に動作した
  • 開発者はこの経験を通じて、デバッグ時にはソフトウェアだけでなく物理的なハードウェア問題も考慮すべきだと強調した
  • 3つの教訓:
    • LLM実行エラーが常にコードの問題とは限らない
    • 同一環境での比較テストの重要性
    • 高価なハードウェアでもML演算の正確性を保証できない場合がある

1件のコメント

 
GN⁺ 2026-02-02
Hacker Newsの意見
  • 方法論はさておき、LLMに足し算をさせるのはあまり良い考えではない
    「月たす太陽は何?」と聞くのと同じくらいおかしい
    ただし今回の現象そのものは別問題。Appleの数値演算APIが一部の端末で食い違う結果を返している。これはAppleが注目すべき問題だ
    • 完全に脇道だけど、自分の頭にはすぐ「明」が浮かんだ。
      日と月を合わせると明になるので(Wikiリンク
      「満月」のような答えもあり得るけれど、明確で決定的な答えはなさそう
    • 「月たす太陽?」 それはもちろん日食(eclipse)
  • 別のiPhone 16 Pro Maxでもテストしてほしかった。その端末固有の問題か確認できたはずなので惜しい
    • その通り。普通ならApple Supportの勧める通り、OSを初期化して再インストールすべきだった
      バックアップは当然として、できればiCloud+プランで進めるのがよい。こういう問題ではそれがいちばん簡単な解決策だ
    • ページ下部の最新アップデートによれば、iPhone 17 Pro Maxではすべて正常に動作したとのこと
      つまり、そのiPhone 16 Pro Maxにはハードウェアの欠陥があったようだ
  • 低レベルの数値演算最適化はしばしば再現が難しい
    たとえばIntelの文書でも言及されている
    それでもiPhone 16でLLMがまったく動作しないのは驚きだ。LLMは普通、量子化(quantization) にかなり寛容なので
    • 「浮動小数点の累積は交換法則が成り立たない」というのは基本常識だ
      最初はその理由でこの問題を無視しかけたが、
      他のすべてのApple端末では同じ結果が出ていて、Apple純正のLLMがこの端末でだけ失敗した点が奇妙だった
      これは根本的な問題というより予期しない失敗に見える。Appleがこういう状態の端末を出荷したのはよくない
  • 正直、この文章を開いたときは、昔のグラフ電卓のほうがスマートフォンより優れているという話かと思った
    今は自分のスマホで数学をするとき、HP Primeエミュレータを使っている
    • 自分はPCalcが好きだ。Mac Classic時代からすべてのAppleプラットフォームで動いている(リンク
      もうひとつのお気に入りの電卓はfree42やplus42(リンク
      CASツールとしてはMathStudioが最高だ(mathstud.io
      ブラウザでも動くが、モバイルアプリもある。セルフホスト版Wolfram Alphaのような感じだ
    • 個人的にはiHP48を使っている。大学時代に使っていたHP 48GXにmetakernalを入れた版だ
      今でも直感的で速い
    • iPhoneの標準電卓アプリを消して、NumWorksに置き換えられると知ってうれしかった
      Control Centerのボタンからすぐ起動できるようにしてある
      不満なのは、画面がこんなに大きいのに過去の計算履歴をスクロールして見られないこと
      1990年代の4機能電卓の複製みたいなUIはもう見たくない
    • AndroidではTI 83+エミュレータを使っている。実機の電卓を持ち歩けないときに便利だ
    • 本格的な計算が必要なときは、結局TI-84の実機電卓を取り出す。手に馴染んだ感覚があるからだ
  • 文章は興味深かったが、最後の「MLXがNeural Engineを使う」という理屈は正しくない
    MLXはCPU、Apple GPU(Metal)、NVIDIA GPU(CUDA)でも動作する(リンク
  • バグを再現できるコードを載せれば、Appleだけでなく他の人たちにも役立つと思う
  • だから自分のiPhoneの予測テキストがめちゃくちゃなのかと思った
    • 自分だけではなかった。ここ6か月ほどタイピングが本当にひどかった
      設定をあらゆる組み合わせで変えてみたが、予測テキストがランダムに止まったり誤動作したりする
    • ひどすぎて、もうわざとやっているのかと思うほどだ
      あるいは音声入力への切り替えを促す最適化なのかもしれない
  • 良い文章だった。ただ、数学演算の結果が実際に間違っているのかを確実に示す最小限のテストケースがあればよかった
  • 「2+2は何?」と聞いたら、iPhoneが「Applied.....*_dAK[...]」みたいな変な答えを返してきた
    それでも少なくとも「7」とは言わなかったのでまだましだ
    • たぶんTrurlとKlapauciusがQ&Aを担当していたのだろう
  • Neural Engineを使う他のアプリでも似た異常が出ていた可能性がある
    App Storeのいくつかのアプリも試していれば、興味深い結果が出たかもしれない