Local LLM × Subtraction
新しい Mac が届いた。メモリは 32GB。
なら、手元で AI を飼ってみたくなる。
全部入れて、3日で2つ消した——その顛末だ。
3つ入れて、2つ消した。
削って残ったものが、
いまの答えだ。
2026年5月、メモリ32GBの新しいMacBook Proが来た。勢いでローカルLLM——クラウドではなく、自分のPCの中だけで動くAI——の道具を3つ全部入れて、3日で2つ消した。これはその1ヶ月半の記録だ。導入手順の記事ではない。何を試し、何を削り、何が残ったかという、取捨選択の記録として書く。
この記事の問い
クラウドの AI が、月額で使い放題の時代に。
手元の Mac で LLM を動かす意味は、
どこにあるのか?
先に答えを置く。意味は「ある」。ただし、想像していた場所にはなかった。品質でクラウドに勝つ話ではない。機密・無料・オフラインという性質の違いと、触って初めて分かる、という学習価値。意味はそこにあった。そして、いちばん大きな教訓はLLMの性能の話ですらなかった——「記録に残らない作業は、消える」。この一行の意味は、最終章で回収する。
ざっくり言うと
ふだんの ChatGPT や Claude が外食なら、ローカルLLMは自炊だ。プロの味には届かない。かわりに、材料(データ)が家から一歩も出ない・何度作ってもタダ・店が閉まっていても食べられる。この記事は、自炊道具を一式買い込んで、使わない鍋を手放すまでの話だ。
Chapter 01
ざっくり言うと——発端は、届いたばかりのMacBook Pro。ローカルLLMとは、ネットの向こうではなく自分のPCの中だけで動くAIのことだ。そして「どの大きさのAIまで飼えるか」は、メモリの広さで決まる。
2026年5月20日、Claude Code への依頼はこう始まっている。「新しいMacBookが届いて……それなりのスペックを積んだので、ローカルLLMも試したい」。届いたのは MacBook Pro。チップは Apple M5、メモリは32GB、ディスクの空きは810GB。新しい機械が来ると、力を測ってみたくなる。ベンチマークより、手ざわりのある方法で。
ローカルLLMとは何かを、先に説明しておく。ふだん使っている ChatGPT や Claude は、打った文章がインターネットを渡り、向こう側の巨大なデータセンターで処理されて返ってくる。ローカルLLMは逆だ。AI本体のファイルを自分のPCにダウンロードして、PCの中だけで動かす。通信しない。月額もない。打った文章は、1文字も外へ出ない。
ここで、メモリの32GBが効いてくる。LLMの本体は数GB〜数十GBのかたまりで、動いているあいだ、それがまるごとメモリに乗る。つまりメモリの広さが、その機械で飼えるAIの大きさを決める。32GBは、個人のノートPCとしては「中型までいける」広さだ。
ただ、最初から疑問もあった。クラウドの最先端は目を見張る速さで進化していて、月額で使い放題だ。それに劣ると分かっているAIを、わざわざ手元で動かす意味はあるのか。頭で考えても答えは出ない。手で確かめることにした。まず、入れる。話はそれからだ。
Chapter 02
ざっくり言うと——ローカルLLMを動かす道具には流儀が3つある。CLIのOllama、GUIのLM Studio、Apple純正のMLX。ひとつに絞れなかったので、全部入れた。モデルは14B級を軸に約23GB。
セットアップは Claude Code と進めた。用途を聞かれて、コーディング補助・日本語チャットと要約・技術文書とノート整理・とりあえず色々試したい——選択肢を4つ全部選んだ。動かす道具の候補は3つ提示された。これも3つ全部入れることにした。初日から絞る気がない。ただ、この「全部入れ」が、あとの取捨選択の土台になる。
· Ollama 0.24.0
黒い画面(CLI)で使う定番。シンプルで速く、モデルの出し入れが楽
· LM Studio 0.4.13
画面で選んで試せるGUIアプリ。目に見える安心感がある入口
· MLX mlx-lm 0.29.1
Apple純正の仕組み。Apple Siliconに最適化されていて最速、ただし上級者向け
AI本体(モデル)は、提案された3案から「バランス・約23GB」の構成を選んだ。qwen2.5:14b(9GB)、コード特化の qwen2.5-coder:14b(9GB)、llama3.1:8b(4.9GB)。提案の弁はこうだ。「14BはM5/32GBのスイートスポット。4bit量子化で、速度と品質のバランスが最良」、そして「QwenとLlama、系統の違う家系を混ぜて、得手不得手を体感する」。14Bはモデルの大きさ(パラメータ数140億)、4bit量子化は「精度を少し譲って軽くする圧縮」——要は、この機体にちょうどいい中型を、家系違いでそろえたということだ。
その日のうちに、手順・比較・トラブル対応まで書いた初学者向けのセットアップガイド(HTML・30KB)も作ってもらった。道具3つ、モデル3本、完全なガイドが1冊。準備としては満点だった。——このときは、全部使うつもりでいた。
Chapter 03
ざっくり言うと——14Bモデルの実測は13.2 tok/s。数字は地味だが、「人が読む速度」を超えている。つまり待たされ感がない。そしてApple純正のMLXは、小型モデルで119.5 tok/sという桁違いの数字を出した。
最初のお題は決めていた。ノート術「ツェッテルカステン」の核心を、2文の日本語で説明させる。測るのは生成速度、単位は tok/s(トークン毎秒)だ。トークンはAIが文章を数える部品の単位で、日本語ならおおむね1文字〜数文字にあたる。トークンという資源をどう配るかという話は別の記事に書いたので、ここでは「1秒に何文字ぶん書けるか」くらいの意味で読んでほしい。
· qwen2.5:14b 9.0GB
13.2 tok/s。日本語が自然で、そのまま実用域
· qwen2.5-coder:14b 9.0GB
13.2 tok/s。pandas(データ処理)のコードを正しく生成した
· llama3.1:8b 4.9GB
24.4 tok/s。中身は正確、ただし英語で返してきた
13.2という数字を、どう受け取るか。目安がある。セットアップガイドに書き残した基準——「10 tok/s出ていれば、人が読む速度を超える」。AIの書く速さが自分の読む速さを追い越しているなら、待ち時間は体感から消える。14Bはその線の上にいた。読むそばから、文章が伸びていく。「動いた」ではなく、「これは使える」の側だった。
そして、MLXだ。Apple純正の仕組みに1.5Bの小型モデル(4bit)を載せて走らせたら、119.5 tok/s が出た。読むどころか、スクロールが追いつかない。使ったメモリはピークで0.94GB。ログには「Apple Siliconネイティブの本領」と書き残してある。桁のちがう数字に、素直に沸いた。この時点では、MLXがいちばんの有望株に見えていた。
数字への注釈
この章と、この先の章の速度・品質は、その日・そのプロンプトでの1回計測と、その場のAIの評だ。厳密なベンチマークではなく、「手元の手ざわり」の記録として読んでほしい。
Chapter 04
ざっくり言うと——導入から3日後、LM StudioとMLXを削除した。フォルダの中身が「一度も本格的に使っていない」ことを物語っていた。最速だったMLXも消えた。残るのは性能のいい道具ではなく、生活の動線の上にある道具だ。
導入から3日後の、5月23日。ログに残る依頼は一行だ。「LM Studio をアンインストールしたい 手伝って」。前置きも、理由も書いていない。
削除前の安全確認が、そのまま「使わなかった証明」になった。LM Studioのモデル置き場は空フォルダ。1.8GBの正体はモデルではなくアプリ側の実行部品(ランタイム)で、会話履歴も実質ゼロ。3日間、一度も本格的に使っていなかったことを、フォルダの中身が静かに物語っていた。まるごと消して、約1.8GBを回収した。
返す刀で、MLXも消した。依頼はこうだ。「MLXも使わないのでアンインストールしておいて セットアップガイドはそのままでいいよ」。本体248MBと、ダウンロード済みモデルの置き場840MB、合わせて約1.1GBを回収(土台のuvは他でも使うので残した)。119.5 tok/s という最速の数字を出した有望株が、真っ先に消える側になった。
なぜ消したのか。ログに理由は残っていないから、ここからは後日の考察になる。自分の日常は、Claude Code の黒い画面の中にある。GUIアプリをわざわざ起動する、という動線がそもそも生活にないのだ。MLXの速さは本物でも、日常で効くのは速さより ollama pull 一発で済む、出し入れの楽さのほうだった。性能で選んだつもりの道具が、生活の動線で選び直される。3日というのは、それが分かるのに十分な長さだったのだと思う。
「ガイドはそのままでいいよ」
道具は消しても、記録は消さなかった。ガイドHTMLにはいまも、削除済みの LM Studio と MLX の章がそのまま残っている。無駄ではない。「試して、合わなかった」という判断ごと保存されているからだ。もう一度試す日が来たら、そこから再開すればいい。
Chapter 05 — 図で見る
ざっくり言うと——手元で測った8点を、1枚の図に置いた。モデルが小さいほど速い。そして試した全モデルが「人が読む速度」の線より上にいた。速度はもう、選ぶ理由にならない。
ここで一回、図にしておく。5月20日と29日——次の章で出てくる軽量勢も先に含めて——の実測8点だ。横軸はモデルの大きさ(パラメータ数)、縦軸は生成速度。金色の横線が「人が読む速度の目安」10 tok/s になる。
左上ほど「小さくて速い」。右へ行く(大きくなる)ほど点は沈むが、いちばん右の14Bでも、金の線——10 tok/s——より上にいる。この機体では、試したすべてのモデルが「待たされない」側にいた。ひとりだけ別次元の高さにいるのがMLXの119.5 tok/sで、Apple純正最適化の面目躍如だ。ただし思い出してほしい。この図でいちばん高い点は最初に消え、下から2番目の点(14B)が残った。速いことと、使い続けることは、別の話なのだ。なお各点は同一プロンプト1回ずつの実測で、厳密なベンチマークではない。
速度は、どのモデルも合格圏。となると、選ぶ基準は速度の外へ移る。次の章は、その「性格」の話だ。
Chapter 06
ざっくり言うと——削除から6日後、今度は「軽くて評判のいい」4B級を4本足した。同じ大きさなのに、即答する子、考え込む子、速いのに言うことを聞かない子。速度で選べない以上、選ぶ基準は性格になる。
削除から6日後の5月29日、残った Ollama にモデルを4本足した。依頼は「軽量だけど、それなりに品質を評価されているローカルLLMをセットアップしたい」。14Bで「動く」は確かめた。次に知りたいのは逆側——どこまで軽くしても使い物になるかという下限だ。Webの評判を調べた結論は「4B級が、省メモリと品質のスイートスポット」。ベンチ上位の常連から、家系のかぶらない4本を選んだ。計10.4GB。
同じお題(ツェッテルカステンを2文で)を投げる。サイズはほぼ横並びなのに、性格は、ばらばらだった。
· gemma3:4b 3.3GB・42.1 tok/s
余計なことを言わず、2文で言い切る。ログの評は「簡潔・指示遵守◎、即答派の王」(★5)
· qwen3:4b 2.5GB・41〜43 tok/s
「考えてから答える」thinking型。通常設定では、答えの前の考えごとが200トークンの持ち時間を食いつぶし、本文が空で返ってきた。考える余地を与えると1406トークン・34秒考え込んだ末に「14Bクラスに迫る品質」の答え(★5)。「考えるな」の指示(/no_think)は効かなかった
· phi4-mini:3.8b 2.5GB・43.1 tok/s
日本語はやや不自然。英語と数学に強い(★3)
· llama3.2:3b 2.0GB・54.1 tok/s
最速。ただし指示への従い方が弱い(★2)。いちばん速くて、いちばん頼んだとおりに書かない
断っておくと、この★は公式のベンチマークではなく、その場のAI(Claude)が付けた主観の評だ。それでも収穫だった。差が出るのは、指示に従うか・日本語が自然か・考えすぎないか——スペック表に載らない「性格」のほうだった。とくに qwen3 は示唆的で、賢さは、思考というコストとの引き換え——クラウドの最新モデルが抱える構図が、2.5GBの小さなモデルにもそのまま入っていた。
この日、手元の全モデルを家系別に一覧する比較HTMLも作った。そして同じ日、この実験でいちばん面白い出来事が起きる。
Chapter 07
ざっくり言うと——「gemma4も入れて」と頼んだら、AIに止められた。3段階の実地検証で「存在しない」と決着——のはずだった。この裏取り劇には、1ヶ月半後にひっくり返る続きがある。
4本の導入が済んで、調子に乗った。「gemma4:4bとかもとれる? あとqwen3.6:4bとかも」「qwen3-coder:4bもあると嬉しいかも」。返ってきたのは導入の手順ではなく、静止だった。「ちょっと待ってください、いくつか実在しないと思われるモデル名があるので存在確認します。」
ふだんは逆だ。それらしい嘘——ハルシネーション——を言っていないか、人間がAIを疑う。この日は、人間が口走った「ありそうな名前」を、AIが疑った。gemma3があるならgemma4もありそう。qwen3の次はqwen3.6……根拠は、その程度だった。裏取りが始まる。
ページの「有無だけ」を尋ねる、いちばん軽い確認。結果は全モデル405——そもそもこの種のノックを受け付けない扉だった。存在するモデルまで同じ返事で、判定にならない。
ページを実際に開く。すると gemma4 も qwen3.6 も 200(=あります)が返ってきた。存在する?——ここで飛びつかなかったのが効いた。「このサイトは、無いページでも200を返す作り(SPA)だ」と見抜いて、判定保留。
決定打。Error: pull model manifest: file does not exist。両方とも取り寄せに失敗。ログの結論はこうだ——「確定で存在しません」。
SPAという罠
SPAという作りのWebサイトは、どのURLにもまず同じ「骨組み」を返し、中身はあとから描く。だから存在しないページでも、応答コードだけは「200 OK」になる。ステータスコードは、ここでは当てにならない。
その日の決着はこうだ。gemma4は未リリース(最新はgemma3)、qwen3.6も未リリース(現行はqwen3)、qwen3-coderは実在するが最小でも30B級——AIはそう結論し、代わりに gemma3:4b と qwen3:4b が入った。検索の見出しでも応答コードでもなく、「実際に取りに行った結果」が白黒を付けた。手続きとしては、教科書どおりの裏取りだった。
この3段構えは、AI時代の裏取りの型として、そのまま持ち帰れる。それらしい名前は、まず疑う。軽い確認は当てにならないことがある(405の門前払い、SPAの200)。決定打は実挙動——実際に叩いて、あるか、ないか。……と、ここで終われば「AIが人間のハルシネーションを実測で正した」という行儀のよい話だ。ところが、この話には奇妙な続きがある。「存在しないはずの名前」は、それで消えなかった。
Chapter 08
ざっくり言うと——1ヶ月半後の棚卸しで、「存在しないはず」の2モデルが本物だったと判明する。AIの記憶より新しいモデルは、AIには「無い」ように見える。検証は手続きが正しくても、問いが狭いと結論を誤る。そしてもうひとつ——記録に残らない作業は、思い出せない。
7月9日。この記事を書くために、棚卸しをした。ollama list の結果は10本、合計83.8GB。5月29日の比較表と、1本の増減もなく一致する。あれから40日あまり、構成は何も変わっていない。
そして、その一覧でいちばん大きな住人。qwen3.6:latest、23GB。次いで gemma4:latest、9.6GB。——あの「確定で存在しません」の名前が、2つ合わせて32.6GB、全体の約4割を占めて鎮座している。タイムスタンプをたどると、5月29日の時点ですでに「6日前」。つまり5月23日ごろ——LM Studio を消したのと同じ頃に、この機械へ入っていた。
今回の棚卸しで、初めて ollama show を打った。10秒で済む確認だ。返ってきたのは——本物の身分証明だった。gemma4:latest は、アーキテクチャ名「gemma4」を名乗る8Bのモデルで、画像も音声も読める新世代。qwen3.6:latest は36BのMoE(専門家の分業で動く方式)。あらためてWebを調べると、Gemma 4 は Google が正式に出したオープンモデルで、Qwen3.6 も公式リリース済み。どちらも、Ollamaの公式ライブラリに堂々と載っている。
つまり、5月29日の「確定で存在しません」は、誤審だった。存在しなかったのは「gemma4:4b」というサイズのタグだけ。Gemma 4 の構成に4Bという版が無かった——それだけのことを、「gemma4というモデルが存在しない」と読んでしまった。3段構えの手続きは正しかったのに、問いが狭かったのだ。おまけに5月のAIの知識は「最新はgemma3」で止まっていたから、「未リリース」という筋書きは、AIにとって収まりがよすぎた。
構図を並べ直すと、皮肉がよく見える。人間の「gemma4とかもとれる?」は、半分あてずっぽうで、半分正しかった(モデルは実在した)。AIの「存在しません」は、実測に基づいていて、それでも間違っていた(タグしか見ていなかった)。しかもこの機械には5月23日ごろから実物が入っていて、AIはそれを「カスタムタグの可能性大」と警告までしていた。ハルシネーションを疑う矢印は、両方向に要る。AIの記憶より新しいものは、AIには「存在しない」ように見えるのだ。
そして、もうひとつの教訓も消えていない。Claude Code の全セッションログを検索しても、この2本を入れた記録が、どこにも無い。おそらく5月23日ごろ、ターミナルから自分の手で、出たばかりの新型をpullした——のだと思う。だが「おそらく」までしか言えない。何のために入れたか、思い出せない。導入の経緯がログの外にあったせいで、この記事の下書きには、危うく「出所不明の謎の32.6GB」と書くところだった。実物の身元は、10秒の ollama show と数分のWeb検索で割れたのに、である。
この実験、最大の学び
モデルの速度でも、品質でもない。
検証は、問いの幅ごと疑う。そして、記録に残らない作業は消える。
AIの「存在しません」は「私の知る限り無い」かもしれない。ターミナルで直接やった作業は、1ヶ月半で記憶から消えた。
実際、この記事の実測値も引用も、すべて Claude Code のセッションログから引いた。ログの中の作業は、あとから資産になる——セッションログを資産に変える話は、同日公開の姉妹記事に譲る。ログの外でやった仕事は、未来の自分に引き継がれない。
もうひとつ、正直に書いておく。5月29日を最後に、Claude Code のログ上でローカルLLMを動かした形跡は無い。あるのはセットアップの2日と、今日の棚卸しだけだ。ターミナルから直接使った分は検知できないから、「使わなかった」と断定はしない。ただ、Claude Code 経由の再利用は確認できない——それが正確なところだ。83.8GBの使い道は、まだ見つけている途中である。もっとも、次に試す先頭は決まった。誤審の汚名を着たまま眠っていた、新世代の2本だ。
では、冒頭の問いに戻ろう。手元の Mac で LLM を動かす意味はどこにあるのか。セットアップガイドに書いた使い分けが、いまも一番しっくり来る。
クラウドとの使い分け
「重要・難しい仕事は Claude / ChatGPT、日常的な軽い相談や機密データを扱う作業はローカル LLM、というハイブリッドが現実的です。」
——セットアップガイド(2026-05-20)より
ローカルの取り柄は、はっきりしている。打った文章もファイルも一歩も外へ出ない機密性。無料で、回数制限なし。オフラインで動く。そして、遠慮なく触って壊せる実験場。引き換えに、品質は最新のクラウドに及ばず、30Bを超えると待たされ、最初のダウンロードは数GB〜数十GBある。ちなみに5月20日の調べ書きには「画像生成は実用域、動画はまだ素直にクラウド、音声認識は完全にローカルが勝っている分野」ともある。勝ち負けは、分野ごとに違う。
それでも、「32GBで14Bが13 tok/sで動く」「4Bにも性格がある」「thinkingはトークンを食う」という手ざわりは、触った者の中にしか残らない。クラウドの向こう側で起きていることを、手のひらの上で観察できる——学習装置としてのローカルLLMは、月額の外にある価値だった。そして最後に残った教訓は、LLMそのものの話ですらなかった。試すのは、いい。削るのも、いい。ただし、ログの残る場所でやること。
Coda
3つ入れて、
2つ消した。
削って残ったものが、
いまの答えだ。
残ったのは、Ollama と 83.8GB と、
「実物に、聞きに行く」という構え。
削除は、失敗の記録ではない。触ったから「合わない」が分かり、測ったから「十分」が分かった。そしてこの記事が書けたのは、5月の試行錯誤がセッションログに残っていたからだ。次もたぶん、全部入れる。そして遠慮なく削る。——ログの残る場所で。
Fact-check
数値と引用の出どころ:生成速度の実測値(qwen2.5:14b/-coder=13.2、llama3.1:8b=24.4、gemma3:4b=42.1、qwen3:4b=41.1〜42.6、phi4-mini:3.8b=43.1、llama3.2:3b=54.1、MLX Qwen2.5-1.5B-4bit=119.5 tok/s、qwen3のthinking=1406トークン・34.19秒)は、すべて2026-05-20と05-29のClaude Codeセッションログに残る計測の記録(curl経由のollama APIと、mlx_lm.generateの出力)。「10 tok/s出ていれば人が読む速度を超える」と、クラウドとの使い分けの引用は、2026-05-20に作ったセットアップガイドHTMLの本文ママ。モデル一覧(10本)と合計83.8GBは2026-07-09のollama list実測で、2026-05-29の比較表と一致。導入時の版はOllama 0.24.0/LM Studio 0.4.13/mlx-lm 0.29.1(2026-07-09時点のOllamaは0.30.11)。速度と品質の評(★・「即答派の王」等)は、その日・そのプロンプトでの1回計測と、その場のAI(Claude)の主観であり、一般のベンチマークではない。gemma4:latest・qwen3.6:latestの正体は2026-07-09のollama showで確認した——それぞれアーキテクチャ名gemma4(8B・画像/音声/ツール/思考に対応)、qwen35moe(36B MoE)を名乗る正規のモデルで、Gemma 4はGoogleの公式オープンモデル(E2B/E4B/12B/26B MoE/31Bの構成)、Qwen3.6は35B-A3BのMoEとして公式リリース済み。いずれもOllamaの公式ライブラリに実在する(同日にWebで確認)。つまり2026-05-29のAIの「確定で存在しません」は、「:4bというサイズタグが無い」を「モデル自体が未リリース」と読み違えた誤りで、これが本文後半の主題になった。「Claude Codeのログに導入・実行の記録がない」は全セッションログの検索結果で、ターミナル直接の操作などログの外の作業は検知できない——本文の「おそらく自分で入れた」は、その意味での推測だ。「性能より生活の動線」などの解釈は筆者の考察にすぎない。事実の誤りには、反論を歓迎する。