記事公開日
【社内雑談】新しいSiriが出るの?(実はオンデバイスAIの話)その3

はじめに
Appleが、今年現地時間6月8日に開発者会議「WWDC26」を開催し、iOS27(シリーズ)を発表しました。今回のOSの目玉は、新しいApple Intelligence、そしてSiri AIです。WWDCの基調講演のうちの3分の2近くをこのAI関連の紹介に使っていました。
いよいよ、AppleをもってしてもAI化の波に抗うことはできず、iOS27の中心機能もAIになりつつあるようです。そして、最初のApple IntelligenceはOpen AIのGPTベースでの実装でしたが、今回はGoogle Geminiをベースとした実装になると紹介されています。ただ、Geminiは既にAndroidでバリバリ使われているAIでもあるので、iPhoneとAndroidの差別化が難しいのでは、と言われています。
今回の社内雑談では、スマートフォンにおいても中心になりつつあるAIについて、Apple Intelligenceの話題を中心に、通信技術者の目線で話し合っていきたいと思います。
今回は全4回のうちの3回目です。前回はオンデバイスAIの最新トレンドの話をしましたが、今回はそのオンデバイスAIがiPhoneでどう動くのかの話になるようです。
毎度おなじみではありますが、このブログはエンジニア個人が好き勝手に発信するものであり、所属組織(株式会社三技協)の公式の見解ではありませんので、あらかじめご承知置きください。
【社内雑談】新しいSiriが出るの?(実はオンデバイスAIの話) その1 その2 その3 その4
AFM 3 Core Advanced
社員B(以下B): さて、今日のテーマであるApple Intelligenceだけど、オンデバイスAIに関しては、こちらもあまり聞いたことのない技術が使われている。それがAFM 3 Core Advanced(以下A3CA)だ。通常のAFM 3 Coreの進化版、というか強化版だね。
社員A(以下A): どのような技術なんですか?
B: 空いているメモリの分だけのAIを動かすという技術のようだ。これを説明するには、今クラウド側で主流となっているMoEという考え方と合わせて説明しないといけない。
先ほども言ったように、AIが考えるときには全てのパラメータをメモリに展開する必要がある。ただ、オンデバイスAIでも300億、クラウドAIだと1兆を超えるパラメータが存在する。でも、全てのプロンプトに対して、メモリに載せた全てのパラメータが必要かと言われるとそうでもない。だから、計算時は一部のパラメータだけを参照して計算することで、計算量を減らすことができる。この方式をMoE(Mixture of Exparts)と呼んでいる。ただ、計算が始まったらずっと同じパラメータ見ているわけではなく、計算に使うパラメータは頻繁に変更されるため、パラメータ全体をずっとメモリに置いておく必要があるんだけどね。
A: そう言われても、よくわからないですね。
B: 一方、A3CAは、空いているメモリの量に応じてメモリに載せるパラメータ数を変える技術だ。どのように必要なパラメータを選んでいるのかは分からないが、使えるメモリ量に応じてAIモデルのサイズを変えて、メモリに乗せるとのことだ。例えが合っているか分からないが、A3CAは、GemmaでいえばGemma xxBのxxの部分が可変になる感じだ。
A: あれ?両者の違いがよく分からないですけど。
B: まあ、強引に図書館の例で説明すると、
- MoEは、図書館のなかで色々な資料を出したりしまったりしながら調べ物をしている
- A3CAは、図書館から鞄に入るだけ資料を借りてきて、自宅で調べ物をしている
といった感じかな。MoEの場合、莫大な資料の中から、全ての資料を調べるのではなく、自分に必要な資料を選んでそれを使って調べ物をするので、調べ物のクオリティは図書館のサイズに依存する。一方、A3CAは、図書館から自分が読めるだけの資料を借りてきて、それを使って調べ物をする。調べ物のクオリティは、元の図書館に加えて、持って帰ってきた資料の数に依存する。
A: おお、何となく理解できました。図書館にこもって勉強するか、図書館から帰って自宅で勉強するかの違いですね。確かに、複雑な調べ物があるなら図書館にこもった方がいいか・・・
B: AIはメモリに載せたパラメータでしか考えられないから、メモリ量が多かろうが少なかろうがメモリに載せなければ意味は無い。つまり、AIには、Windowsとかでよく使われる「メモリスワップ」という概念が効かない。だから、空きメモリに応じてモデルサイズを変えるというのは、モバイル機器にとっては効率的な方法だと思う。全体の一部だけ使うという点で、MoEとA3CAは似ているようにみえるけど、MoEは大きなAIを高速に動かす技術で、A3CAは小さなメモリでAIを動かす技術だ。大分違う。
A: なるほど、何となく分かりました。
B: ちなみに、最初にLM Studioで動かしていたGemma 4 26B A4B QATというモデルは、MoE技術で動くモデルなんだよ。
A: さらっと紹介していますけど、実はいろいろな技術を使っていたんですね。
ユニファイドメモリ
B: さて、AppleがA3CAのような仕組みを使っている理由が、スマホだからという点以外にももう一つあって、現行のAppleの機器がユニファイドメモリを使っているという事にも由来するんだ。
A: また、新しい単語ですね。ユニファイドメモリですか?
B: WindowsのPCだと、CPU、メインメモリ(RAM)、GPUが別々に準備される。で、GPUは「グラフィックボード」、通称グラボという形で提供される。グラボにはGPUだけでなくVRAMと呼ばれるメモリが付属している。で、Windows PCはCPUもメインメモリもグラボも別々に選べるし、それはそれで自由度が高いというメリットはあるのだが、一方でそれぞれのデータのやりとりでは「バス」と呼ばれる接続部分を通る必要があり、そこを跨ぐ処理は遅くなる。先ほどから「AIはVRAMに全て載せなければいけない」と言っているのには理由があって、通常AIの処理をGPUが行う事から、GPUに直接繋がっているVRAMに全てのAIをロードする分には超高速で動くんだけど、これを一部でもRAM側にオフロードしてしまうと、GPU-RAM間がとっても遅いために、そこがボトルネックになり全ての処理が遅くなってしまう。
A: つまり、VRAMの空きがすなわち、AIがロードできる空き容量になるわけですね。
B: 一方、ユニファイドメモリというのは、同じRAMをCPUとGPUで共用するシステム。「VRAMほど高速ではないが、メインメモリよりも高速」なメモリをCPUとGPUで共用する。もちろん、ただ繋げば良いわけじゃなく、CPUとGPUが喧嘩せずにメモリを分け合えるハードウエア的な仕組みも必要となるが。
このユニファイドメモリというシステム自体は家庭用コンピューター黎明期からあるんだけど、個人的にユニファイドメモリを最も有名にしたのはMicrosoftのXBOX360だと思う。当時ライバルだったXBOX360とPlaystation3(PS3)は総メモリ量的には同じだったんだけど、メインメモリとVRAMが均等に同量だったPS3に比べ、XBOXの方はユニファイドメモリを採用していたため、ゲーム内容に応じてメモリの割り当てを変えることができた。一般的なゲームはグラフィック重視だから、メインメモリよりVRAMの方が必要な量が多い。そういったゲームの場合、VRAMに多く割ける分XBOXの方がPS3より見た目が良くなるという現象が多々発生した。
A: たしかに、メモリが効率的に使えるという点でユニファイドメモリの方が優れていそうですね。ということは、今後のコンピューターはすべてユニファイドメモリになる可能性があるってことですか?
B: そうはならない。VRAMに非常に高速なものを採用しグラフィック専用にするという方式は、VRAMが足りている限りはユニファイドメモリよりも高品質なグラフィックを提供できる。だから、ピーク性能を出したいという場合は、ユニファイドメモリじゃない方が良い。上記のゲーム機の例でも、手間暇かけて限界まで最適化したソフトでは、PS3の方がクオリティが高かった。ただし、多くの場合はそこまで手をかけないので、結果的にXBOX360の方が出来が良いソフトが多くなった。こういった経緯から、それ以降のXBOXとPlaystationは全てユニファイドメモリを採用している。
A: なるほど。最高を求めるなら別々、簡単にするならユニファイドメモリってことですかね?
B: 事実としてはそうなんだけど、技術的に言えばそれは結果的にそうなっているだけ。そもそも、VRAMに余裕があってVRAMの量を気にしなくていいのならユニファイドメモリなんて採用しなくて良い。けど、何度も言うけどVRAMは非常に高くて量が増やせない。
そういう事もあって、ユニファイドメモリが最も効果的なのはゲーム機などの家庭用機器と言われている。そういったコンシューマ機器はコストに厳しいし、それ故メモリ量が大きく制限されるからだ。メモリ量に制限がある場合、ユニファイドメモリの方が開発の自由度が高くなり、結果的に良い結果を得られる場合が多い。
A: VRAMの量に限界があるからこそ、ユニファイドメモリなのですね。
B: しかし、ユニファイドメモリも万能ではない。ユニファイドメモリ最大のデメリットは最初から構成を決めてハードウエアを作成しなければならないため、メモリなどの構成を後から変更できないことだ。例えば、Windows PCの場合、BTOでメモリが選べたり、追加できたりする。また、グラフィックボードも追加したり変更したりできる。この自由度がWindowsの良いところである。一方、ユニファイドメモリのApple Macは、最初に決められたメモリから変更できないし、グラフィックボードの追加もできない。ユニファイドメモリは、ハードウエアとしてあらかじめ設計されたものになるため、メモリもGPUも追加や変更ができないからだ。したがって、Macは買った状態からの変更が不可能なため、仮にメモリが足りなくなった場合は機器の買い直しを余儀なくされる。
XBOXやPSの様なゲーム機、スマートフォンが古くからユニファイドメモリなのは、そもそもメモリやGPUなどを変更したり追加したりする可能性がないからだ。同じ性能のものを大量にばらまくからこそ威力を発揮するコンソールゲーム機で、メモリやGPUを変える必要は無い。また、スマホのような小型機器は、そもそも物理的にそういったことが不可能だ。そういったメモリが制限された同じ製品を大量に作る場合は、ユニファイドメモリのほうが良い結果が出るようだ。
A: 確かに、メモリが追加できるスマホなんて聞いたことないです。ゲーム機だとセガサターンなどいくつかの例が見られますが・・・
B: まあ、まだWindows95すらない時代に作られた第5世代機(PS世代)はそういった拡張方法もあったけど、それ以降のゲーム機では全く採用されていないでしょ?やっぱり、コンソールゲーム機は、性能が画一であってこそメリットがあるからね。
さて、話を元に戻すと、Macは言うまでもなく”コンピューター”なわけで、ある程度の自由度は必要と考える人は多い。だから、AppleにしてもIntel Macまではメモリぐらいは追加できたし、グラボが追加できる機種もあった。でもARMベースのAppleシリコンは全てユニファイドメモリ採用だから、メモリもグラボも追加できない。つまり、Macはスマホと同じように、買ったら買ったときのままの機能で変更できないってことだ。ノートは当然として、デスクトップ型でもね。
A: Appleシリコンは、iPhoneのSoCをMac側に持ってきたイメージがあります。そうすると、スマホベースなのだから、当然ユニファイドメモリなんですね、と自然に受け入れていました。でも、そっか。メモリとか変更できないんですね、デスクトップ型でも。
B: 後からは変更できない。おそらく、これ社運をかけるような思い切った施策だったんだよ。でも幸運なことに、Appleに時代が追いついてくれた。なんとLLMとよばれるAIは、メモリをバカ食いするアプリだった。しかも、メインメモリではなくVRAMをめちゃくちゃ食うアプリ。
今まで、VRAMを大量に消費するものなんて超ハイエンドのゲームぐらいしかなかった。だから、ゲームとかCG製作をやらないのであれば、WindowsにしてもLinuxにしても、メインメモリだけあればVRAMなんてなくても良かった。そして、グラボを積まない多くのPCにとってはユニファイドメモリなんて考えすら必要ないわけ。だって、多くのPCはメインメモリしか無いわけだし。
A: 確かに、少なくともWindowsのノートPCはほぼ全てメインメモリだけですよね。なんで、MacはユニファイドメモリにしてVRAMとしても使えるようにしたんでしょうか?
B: Macをハイエンドゲーム目的で買う人はほぼゼロなので、ゲームのためにユニファイドメモリというのはないはず。おそらくAppleがユニファイドメモリを採用した理由は「動画編集」なんだろう。MacにはIntel時代からAdobe PremiereとFinal Cut Proという二大動画編集ソフトがあり、Youtuber御用達になっていた。まずは、それらをユニファイドメモリでGPUに処理させて高速に動かすのが目的だったと思われる。
さらに、ユニファイドメモリを採用した理由がもう一つあって、それが「省電力」だ。実は、結構メモリのやり取りは電力を消費するんだよね。AppleシリコンにしてCPUを省電力化し、更にメモリも省電力化することでMacbookの電池消費や発熱を抑えたかったんだろう。その結果、M1 Macbook Airはファンレスだったから、成功なんだろうけど。でも、M1 Macが発表されたときは、メモリが上限16GB固定なんてあり得ないという声もあったんだよ。Macユーザーはハイエンド利用の人も多かったからね。
でも、それがAI時代になってメリットになった。ローカルPCでAIを動かそうとした場合、VRAMが必要。いや、メインメモリでもAIを使えなくはないが、非常に遅い。ユニファイドメモリは、GPUとメモリが直結されバスが広いため高速。そりゃ、GPUとだけ直結されたVRAMには劣るけど、VRAMと接続していないメインメモリとは比べものにならないほど速い。だから、AI用途としても十分に使える。
A: なるほど。
B: で、オンデバイスAIを動かすためには「全てがメモリに載っている」状態である必要があり、メモリスワップは効かない※6。WindowsのPCやLinuxのPCはゲーム用途でない限り、オンボードの極わずかなVRAMしか存在しない。しかし、現行のMacはすべてユニファイドメモリだから、デスクトップだけでなく、Macbook AirのようなノートPCまである程度の大きさのオンデバイスAIが、それなりの速度で動かせる。
A: なんと、ユニファイドメモリがこんなところで役に立つとは!
次回予告
次回はいよいよ連載最終回。AppleシリコンとオンデバイスAIの関係は?そして、新しいSiriは?Apple製品がなぜAIで選ばれているのかが分かります。次回をお楽しみに。
【社内雑談】新しいSiriが出るの?(実はオンデバイスAIの話) その1 その2 その3 その4
※6; 正確には、「スワップは効くけど極めて遅くなる」という意味。尚、スワップに使われるような遅いストレージ(フラッシュメモリ)をAIのメモリとして使用する技術も開発されている。(https://eetimes.itmedia.co.jp/ee/articles/2606/18/news115_2.html)



