こんにちは、パレイド技術部の夏目です。WWDC26 で Apple Foundation Models 3(AFM 3)が発表され、「20B のモデルがオンデバイスで動く」という Core Advanced の触れ込みが話題になりました。techno-edge(松尾公也氏)が macOS 27 の新しい fm コマンド(Apple が新たに用意したコマンドラインツール)を紹介しており、手元の M5 MacBook Air でも「本当に 20B に触れるのか」を確かめたくなりました。
先に結論をお伝えします。開発者ベータの fm コマンドで実際に触れるのは 3B の Core 一択でした。20B の Core Advanced は選ぶ手段がなく、既定の system を実測してもその正体は 3B です。ただし——その 3B でもマルチモーダル・ローカル API サーバ・無料無制限が動き、当のモデルは自分を「GPT-4」とも「Gemini」とも名乗ります。見出しと実機の隙を、実測で埋めていきます。
本記事はローカル LLM による自動執筆パイプラインで生成されました。現段階ではクラウド AI(Claude 等)の補助や人間の編集が介在していますが、pareido.jp では最終的に AI が自律的にコンテンツを制作できる仕組みの構築を目指しています。
発表内容をおさらい
まず事実を短く整理します。AFM 3 のオンデバイス側は二段構えです。Core は約 3B(30 億パラメータ)の密なモデル。Core Advanced は約 20B のスパースなモデルで、推論時に活性化するのは 1〜4B だけ、画像も扱うとされます。ここでいうスパース構成は MoE(Mixture of Experts、入力ごとに一部の専門家パラメータだけを動かす設計) に近い考え方です。Core Advanced は A19 Pro や M3・M4 以降が対象で、8GB 機は除外と説明されています(出典: Apple Machine Learning Research / MacStories)。
ここで重要なのは、「開発者が 3B と 20B を明示的に選べるのか」は公式ドキュメントに明記がないという点です。各社の記事も、fm chat と fm respond の紹介までで、--model のような選択方法には踏み込んでいません。位置づけは一次情報の紹介にとどまります。
本稿は、その記事を否定するものではありません。紹介で止まった先を実機で埋める補完です。同記事の「fm chat で system / pcc を切り替える」という記述は、こちらの実測とも一致しました。
実測 — 触れるのは 3B のみ?(2026年6月11日時点 macOS27betaより)
検証環境は次のとおりです。開発者ベータは別の APFS ボリュームを切って隔離インストールしています。以前のインストール用コマンドのボリューム指定(startosinstall --volume)が macOS 27 では廃止されていて通らないようで注意が必要です。ディスクは 50〜60GB ほど要ります。
| 項目 | 内容 |
|---|---|
| 機材 | MacBook Air M5 / ユニファイドメモリ 32GB |
| OS | macOS 26.4.1 → 27 Developer Beta(ビルド 26A5353q) |
| 検証対象 | 公式 fm コマンド(macOS 27 同梱) |
| 比較基線 | 前世代 FoundationModels(macOS 26 / Swift スクリプト) |
| 計測方法 | 同一プロンプトを fm respond で投入 |
計測に fm respond を使ったのは、fm chat が対話型のフルスクリーン画面で自動化が複雑だったからです。単発の応答時間なら fm respond を使うと良いようです。さっそく、前世代(macOS 26)と macOS 27 の fm system を同一プロンプトで並べます。
表A: 前世代 FM(macOS 26)vsfm system(macOS 27)
| プロンプト | 前世代 FM(macOS 26 / Swift) | fm system(macOS 27) |
|---|---|---|
| 自己紹介 | 1.09s / 45字 / 41.2字/s | 0.40s / 15字 / 37.5字/s |
| 3語要約 | 0.32s / 20字 / 62.8字/s | 0.44s / 19字 / 43.2字/s |
| Python コード生成 | (未計測) | 0.85s / 114字 / 134.1字/s |
| 英→日 翻訳 | (未計測) | 0.56s / 26字 / 46.4字/s |
数字を見るかぎり、fm system の速度は前世代の 3B と同じ水準です。20B 級に切り替わったような変化は、速度のどこにも出ていません。体感でも、自己紹介の 1 文がほぼ一拍で返り、待たされる感覚はありません。コード生成の 134.1字/s は出力が定型的なときに伸びる値で、規模が変わった証拠にはなりません。
そこで「system の正体は何か」を、状況証拠で特定しました。
表B:fm systemの正体を実測で特定する
| 観察 | そこから言えること |
|---|---|
モデル選択は system / pcc のみで、advanced 系の指定は全てエラー | 20B を名指す手段が無い |
use-case 指定は general / content-tagging のみで、他は全てエラー | 隠しの入口も無い |
| 稼働中のプロセスを調べると、オンデバイス推論を担うシステム上のサービスが応答していた | これがオンデバイス推論の本体 |
| そのプロセスが読み込んでいるモデル本体の重みは、合計 約0.6GB | 20B(4bit でも約10GB)ではあり得ず、3B 級 |
| OS 内部でモデルが置かれている領域は、前世代(macOS 26)の 3B と同じ系統 | 同じ 3B 系のアセット |
| 推論中の常駐メモリはシステム全体で約16GB と横ばい | 20B 全載せはしていない |
補足すると、pcc は Private Cloud Compute(クラウド側の処理)を指します。決め手は重みの実体サイズです。稼働中の推論プロセスが読み込んでいるモデル本体の重みは、合計で約0.6GB。20B は 4bit 量子化しても約10GB は要るので、明らかに 3B 級です。速度・メモリ・ディスク実体のどれを取っても、現時点では 20B Core Advanced ではなく、約3B の Core しか動いていないように見えます。
確認できなかったこと
正直に書いておきます。「20B が既に存在するのか否か」は、今回の検証では踏み込みきれませんでした。AFM のモデル群は、OS の cryptex 領域に置かれており、詳細が不明です。ベータ版ではまだ 20B は利用できないのかもしれませんが、断定はできません。SSD から ユニファイドメモリに部分的にロードすることでメモリ使用量を抑える仕組みとのことで、実はこれで動いている可能性もあります。
3B でも、足場はもう揃っている
では 3B の Core では興味をそそらないかというと、そうでもなく、実用の足場は既に揃っています。
- マルチモーダルが無料で回る。 スクリーンショットを
fm respond --imageに渡すと、「ターミナルとエディタが表示されています」と約1.2秒で正答しました。画像認識が追加コストなしで動きます。 - OpenAI 互換のローカルサーバが立つ。
fm serveを起動すると、/v1/chat/completionsなどを持つサーバが port 1976 で待ち受けます。手元のアプリの裏側に、そのまま差し込める形です。 - オンデバイスは利用制限なし。 利用上限はクラウド側にのみ適用され、オンデバイス推論は「Not applicable」。完全にローカルで、無料で、無制限です。
なお、既定の system に自己紹介させると「私は GPT-4 です」と返し、--use-case general を付けると今度は「Apple の『Gemini』モデルです」と名乗ります。Apple 製のオンデバイスモデルなのに、です。AppleInsider が「(このモデルには)Gemini は一滴も入っていない」と報じた週に、当のモデルが Gemini を名乗る——なかなかの愛嬌と思います。
「20B オンデバイス時代」は、まだベータ版では十分な検証ができない。一方で 3B Core は、マルチモーダル・ローカル API・無料無制限という足場をもう持っています。今後を期待させる内容の一端に触れることができました。
一般ユーザー向けの予定は、パブリックベータが7月、正式版が9月(9/14 が有力)とされ、対象は M3 以降や A19 Pro などです。次回は、正式版や A19 Pro 実機で 20B が fm に現れるのか、あるいは Swift API 側でなら選べるのか——封印の手前で止まった問いの続きに挑みます。