ひとことで言うと、AppleのAIチップに「きっかり1MBで急に遅くなる」落とし穴があり、それを避ける方法が見つかった、という話だ。手元のMacやiPhoneだけでAIを動かすとき、一部のAIがこの落とし穴のせいで本来の半分ほどの速さしか出ていなかった。避けるだけで速くなるので、ネットにつながなくても使える手元のAIが、ぐっと実用的になる。
ここでいうAI専用チップ(ニューラルエンジン)とは、ひとことで言うと、スマホやMacに入っている「AIの計算だけをこなす省エネ部品」だ。手元だけでAIを動かすこと(オンデバイス)は、データを外に送らずに済む利点がある。その足を引っ張っていた原因が、意外なところにあった。
目次
- 1MBちょうどで速度が3分の1に落ちる
- 犯人はチップの中の数え間違い
- 送り方を変えるだけでAIが約2倍速く
1MBちょうどで速度が3分の1に落ちる
このチップでAIの文章生成を動かしていた研究者のEileen Yoonさんが、妙な現象に気づいた。AIが計算に使う数値のかたまり(重みと呼ぶ)が、ちょうど1MBの倍数になると、データを運ぶ速さが急に落ちるのだ。
ふだんは1秒あたり45〜60GBほど運べるのに、その条件だと17〜19GBまで下がる。3分の1近い落ち込みだ。しかも珍しいケースではない。無料でよく使われるライブラリANEMLLで試した15個のAIのうち、7個がこの罠にはまっていた。
🧩 犯人はチップの中の数え間違い
チップの中には、次に必要になりそうなデータを前もって取りにいく「先読み」(プリフェッチ)のしくみがある。渋滞を避けるため、少し先の荷物を先回りして運ぶ係だと思えばいい。
この係は、どこまで運んだかを小さなカウンターで数えている。ところが桁数が足りず、ちょうど1MB分を運んだところで数字が一周してゼロに戻る。すると係は「まだ何も運んでいない、つまり運ぶものがない」と勘違いして手を止めてしまう。満杯なのに空だと読み違える、チップ自体の設計ミスだった、とYoonさんは突き止めた。
⚡ 送り方を変えるだけでAIが約2倍速く
直し方はあっけないほど単純だ。1MBを一度に送らず、半分の512KBずつ2回に分けて送る。それだけでカウンターが一周しなくなり、罠を避けられる。
これまで: 1MBを一度に送る → 先読みが止まる → 遅い(毎秒17GB)
今回: 512KBずつ2回に分ける → 止まらない → 速い(毎秒45GB)
矢印は処理の流れ、かっこ内はそのときの速さを表す。運ぶ量は同じでも、二つに分けるだけで詰まりが消える。
効果は大きい。データを運ぶ速さは毎秒17.25GBから45.52GBへ、約2.6倍に戻った。実際のAIの速さでも、小型のLlama 3.2 1Bは1秒あたり10トークンから24トークンへ伸びた(トークンは文章を作る単位)。同じチップ、同じAIのまま、送り方を変えただけでほぼ2倍だ。こういう「ハードの癖を避けるだけで倍速」は、実務でも眠っていることが多い宝の山で、新しい機種を待たずに性能を掘り起こせる好例だと思う。
面白いのは、この省エネチップがそもそも文章生成に向いていない点だ。もともと画像処理のような決まった計算のために作られ、大量のデータを次々読む用途では力を出しにくい。実際Appleは新しいM5でこのチップをGPU側に統合し始めており、Yoonさんも独立した専用チップの終わりの始まりだと見ている。それでも、いま手元にあるMacやiPhoneで眠る性能を掘り起こす価値は大きい。技術のくわしい経緯は本人の解説にまとまっている。
チップの中身をどう読み解いたかは、こちらの詳しい記事に書かれている。
📝 今日覚えること
- Appleの省エネAIチップは、データがちょうど1MBの倍数だと急に遅くなるクセがあった
- 原因はチップ内部の「先読み」カウンターの一周ミス。512KBずつ2回に分けて送るだけで避けられる
- 新しい機種を待たなくても、送り方の工夫だけで手元のAIが約2倍速くなることがある
今日の一歩は軽い。Apple SiliconのMacを持っているなら、無料のANEMLLでAIをこのチップ上で試せる。くわしくないなら、上の解説記事を開いて速度が戻るグラフを眺めるだけでいい。手元のAIはまだ伸びしろだらけだ、と実感できるはずだ。
※本記事は一次情報の調査をAIが行い、事実確認のうえ執筆・公開しています。