Overview
最近フロンティアモデルに加えて手元で Local LLM も動かして使っている、という話です。 Local LLMとは、インターネットを経由せず、ユーザー自身のパソコンや社内サーバー(オンプレミス環境)上で直接実行する大規模言語モデル(LLM)のこと全体を指しますが、ここでは自分の PC にモデルをインストールして利用することを念頭に置いた記録を書きます。
前提
Local LLM を使うにはとにもかくにも 強い筐体 が必須です。自分のこの記事での話はすべて M4Max(メモリ 64G) を前提としています。
Local LLM を使おうと思った理由
コストです。
本業にしろプライベートにしろ、LLM のコストに悩まされることが増えてきました。
プライベートではまだサブスクリプションの中で利用してることが多く、仕事ほどコードや文章といったアウトプットも行わないのでコストを気にするほどでもないのですが、業務だとコストとの戦いになりつつあります。
一時期言われていた Token Maxxing なんて期間は一瞬で過ぎ去り、LLM の利用もちゃんとしたコストコントロール下に置くべきである、というのが徐々にトレンドにもなってきています。
Uber の話などはいい例かと思います。
インターネットや SNS では際限なくフロンティアモデルを使って色んなことをしている話を目にしますが、実際の業務レベルでは徐々に贅沢な使い方はしづらくなっている空気感も感じます。これは「AIを自由に、かつ潤沢に使えないなんて残念」みたいなネガティブな捉え方をされるかもしれませんが、上記の Uber の事例がそうであるように、このコストコントロールの流れは必ずきます。今がちょっと緩いだけであって、コストのことを考えずに自由に AI を使える時代は早晩終わります。自分にはたまたまそういうトレンドが早く来ているだけだと思っているのでこのコストコントロール自体は特にネガティブには捉えてません。
そしてコストコントールされる時期になったときに、代替手段を知っていて、その代替手段である程度用意できる、というのは個人的には大事になってくるポイントでは?とも思っています。
この辺も Local LLM を調べてみようと思ったポイントになります。
どう使うのか?
などいくつか方法がありますが、自分は llama.cpp を利用しています。
今の私の Local LLM の環境
Model
https://huggingface.co/ から DL して使っています。
日々さまざまなモデルが更新されていますが、最近は Qwen3.6-35B-A3B を利用しています。
M4Max / 64G だとギリギリ動いて、結構頭のいいモデルだと思います。
中華製モデルは安価で良いモデルが多い印象です。
ちなみにプライベート環境は16GB の M2 Mac mini なので Local LLM を動かすにはかなり貧弱で Google の Gemma4 の 2B を使っています。
Agent
Pi を利用しています。
OpenClaw の内部でも使われてる Agent とのことで個人的には llama.cpp との組み合わせで一番軽快に動作しました。
ちなみに由来は「π」みたいです。
Pi はそれ単体ではどんなスキルも MCP も全くサポートしておらず 専用の adapter をインストールして必要な mcp をインストールすることができます。
Agent 候補としてはこの Pi の他にも opencode を使ってみましたが、個人的な使い勝手としては Pi の方が手に馴染みました。opencode も機能が豊富で使いやすいと思います。
Local LLM を使ってみての感想
まず第一に前提でも記載しましたが、性能はマシンスペックに依存します。これはもうどうしようもないです。最低でも数GB、いいモデルだと数十GB もメモリに展開することになるので、手元の筐体に潤沢なメモリが載っていないとそもそも使えません。
圧縮のフォーマット等もあって、必ずしもそのメモリ数が必要になる、というわけではないっぽいですが、圧縮した分性能は落ちます。この辺はなんとなくですが、 LLM の性能を直感的に理解できて面白いなと思いました。
そして性能ですが、自分のような一般人が自前で用意できる筐体(主に一般的な業務レベルのラップトップ)では、やはりフロンティアモデルと比べると性能には天と地ほどの差があるように感じます。
これもハーネスの鍛え方等によってある程度上げることは可能かと思いますが、それでもフロンティアモデルに使い慣れていると「厳しい」とか「違う違うそうじゃない」と感じることは多いです。
自分は完全にコスト対策と割り切って、フロンティアモデルに頼むほどでもない作業、例えば PR のコンフリクト修正させたり、依存の一括置換とかそういう単純作業をメインにさせていることが多いです。
むしろこういう使い方がいいよ、というのがあればもっと知りたいところです。
ただ、フロンティアモデルにさせるまでもない単純作業を代替させられるのはいいと思います。
色々調べていると Local LLM もオーケストレーションに組み込んでいる方もいるっぽいですね。時間を見つけてトライしてみようかなと思います。