どうも、格闘技大好きなエンジニア中山瑛文と申します。
いやー、井上拓真 vs 那須川天心の第2戦、ついに決まりましたね〜。一体どうなるんでしょうか? 那須川天心選手を応援したい気持ちもありますが、井上拓真選手もどんどん進化してきていますからね。東京開催らしいので、チケットも取りたいところです……
というのは置いといて。今回は遊びで、最近話題の ローカルLLM を実際にダウンロードして動かしてみたこと、そこで学んだことをまとめてみます。
最近はオープンウェイトのLLMが盛り上がっていて、セキュリティを気にする企業や、コストを抑えたい企業にとっては特に注目のトピックだと思います。
象徴的なのが、中国Moonshot AIの Kimi K3 です。2026年7月16日に発表された、総パラメータ数 2.8兆 というモンスター級のオープンウェイトモデルで(井上尚弥の異名の「モンスター」ではないです)、フル重みの公開は2026年7月27日予定——つまりこの記事を書いている今、まさに公開直前というタイミングです。こういうモデルを、自社のNVIDIA GPUやRyzen AIチップ搭載機で動かす、というのが今のトレンドのようです。
参考:
今回はまず「そもそもLLM・ローカルLLMとは何か」を、自分の学習も兼ねて整理してみました。
LLMの仕組みをざっくりおさらい
LLM(大規模言語モデル)にプロンプトを入力すると、そのままの文字列がモデルに渡されるわけではありません。おおまかにはこんな流れで処理されています。
Input Prompt: "The sky is"
│
▼ トークンに分解
[ "The" | " sky" | " is" ]
│
▼ Trained Model(重み=パラメータで結びついたネットワーク)
│ 次に来る確率が高いトークンを予測する
▼
Output tokens: " clear", ",", " blue", " and", " visible" ...
│
▼ 人間が読める形に変換
Response: "The sky is clear, blue and visible."
ポイントは2つです。
- 入力は単語ではなく トークン という単位に分解される(英単語1つがそのまま1トークンとは限らない)
- モデルの中では、膨大な数の パラメータ(重み) が互いに結びついていて、「次に来る確率が高いトークン」を1つずつ予測しながら文章を生成している
この「次のトークンを予測する」の繰り返しが、LLMがやっていることの正体です。
ローカルLLMとは
ローカルLLM は、この一連の処理をクラウドAPIに頼らず、手元のパソコンやサーバーで完結させる ことを指します。そのためには当然、学習済みのパラメータ(モデルの重み)そのものを自分の環境にダウンロードしてくる必要があります。
メリット
- 無料 で使える(ただしライセンスは要確認 — 後述)
- ダウンロードすれば、あとは手元のサーバー・PCで動く
- 100%プライバシー が保てる(入力したデータが外部に一切送信されない)
- 特定ベンダーへの ロックインがない。全部自分でコントロールできる
- オフラインファースト で動くので、ネットワーク越しにAPIを叩くよりレイテンシが低い
機密情報を扱う業務や、セキュリティポリシーが厳しい環境にいる企業ほど、このメリットが刺さるはずです。
代表的なオープンウェイトモデルとライセンス
有名どころを並べると、だいたいこのあたりです。
- Llama(Meta)
- Gemma(Google)
- DeepSeek(DeepSeek)
- Mistral(Mistral AI)
- Qwen(Alibaba)
- gpt-oss(OpenAI)
「オープンウェイト」といっても、ライセンスの中身は結構バラバラです。「無料でダウンロードできる」=「制約ゼロ」ではないので、ここは誤解しないよう整理しておきます。
| モデル | ライセンス | 商用利用 | 注意点 |
|---|---|---|---|
| Llama | Llama Community License(独自) | 基本OK | 月間アクティブユーザーが7億人を超える 事業者は、Metaから別途ライセンスを受ける必要がある(実質、超巨大テック企業だけが対象の条項) |
| Gemma(〜3) | Gemma Terms of Use(独自) | OK | OSI承認のOSSライセンスではなく、Googleの禁止事項ポリシーに違反すると利用制限を受ける場合がある |
| Gemma 4 | Apache 2.0 | OK | 2026年4月に方針転換し、独自ライセンスから完全にApache 2.0へ移行 |
| DeepSeek | MIT | OK | 制限なし |
| Mistral | 主要モデルはApache 2.0 | OK | モデルによっては商用不可の研究用ライセンスのものもあるので個別に要確認 |
| Qwen | Apache 2.0 | OK | 制限なし |
| gpt-oss | Apache 2.0 | OK | 制限なし |
参考:
Llamaの700万人……ではなく 700 million(7億)MAU条項 は有名な話で、実務上はほとんどの会社に関係ないとはいえ、知らずに使うのは避けたいところです。
どこで見つけて、どうやって動かすか
モデル自体は基本的に Hugging Face で探せます。ほとんどのオープンウェイトモデルがここに公開されています。
見つけたモデルを実際に動かすツールは、だいたい3つの選択肢があります。
| ツール | 特徴 | 向いている人 |
|---|---|---|
| llama.cpp | 低レベルな実装。CLIベース | 上級者・カスタマイズしたい人 |
| LM Studio | GUIあり。ローカルサーバーとしても起動できる | 初めてローカルLLMを触る人 |
| Ollama | CLIベースで扱いやすい | サクッとコマンドで動かしたい人 |
自前のマシンで動かすのが厳しければ、Groq(LPU=Language Processing Unitという専用チップで高速推論を提供している会社。xAIのチャットモデル「Grok」とは別物なので注意)のクラウドを使って、LlamaやGemmaなどのオープンモデルをAPI経由でホストしてもらう、という選択肢もあります。
参考: Groq LPU™ Inference Engine Crushes First Public LLM Benchmark | Groq
ハードウェア要件と量子化
ここが一番の「沼」でした。ローカルLLMを動かす上で避けて通れないのが、メモリ(RAM/VRAM)の要件です。
GPUとVRAM
処理速度で言うとGPUの方が圧倒的に速く、VRAMは多いに越したことはありません。とはいえ、スーパーコンピューターが必要なわけではなく、普通のゲーミングPCやApple Siliconクラスのマシンでも、モデルサイズさえ選べば十分動きます。
パラメータ1個のサイズ
モデルの重み(パラメータ)は、学習時の精度によってメモリ上のサイズが変わります。
- float32:1パラメータ4byte
- float16:1パラメータ2byte
パラメータ数が分かれば、必要なメモリの目安は単純計算できます。
- 20億(2B)パラメータ:float16で約4GB、float32で約8GB
- Gemma 27B:float16でも約54GB
Gemmaクラスの27Bになると、この時点で一般的なノートPCのメモリ量を超えてきます。
量子化(Quantization)で圧縮する
そこで出てくるのが 量子化 です。学習済みモデルの各パラメータを、int8やint4といったより小さいビット数に変換して、モデルサイズを圧縮します。
- 量子化後は1パラメータあたり 0.5〜1byte 程度まで削減できる
- 元のfloat16と比べて、だいたい 1/4程度 のサイズで済む
さきほどのGemma 27B(float16で54GB)も、量子化すれば13〜14GBほどまで圧縮できる計算になります。GGUF形式でよく見る Q4_0 のような名前は、この量子化の方式・ビット数を表しています。数字が小さいほど軽くなりますが、その分モデルの精度(応答品質)が落ちるトレードオフがあります。
LM Studioの実行時パラメータ
LM Studioでモデルを動かすときに出てくる設定項目も、実際に触ってみて意味を整理しました。
サンプリング系(出力の"ゆらぎ"を決める)
- Temperature:出力のランダム性。低いほど毎回似た手堅い応答になり、高いほど多様で意外性のある応答になる
- Top-k:次のトークン候補を、確率が高い上位k個だけに絞る
- Top-p(nucleus sampling):確率の累積がpに達するまでの候補だけに絞る
- min-p:一番確率が高いトークンを基準に、相対的に確率が低すぎる候補を足切りする。モデルが自信を持っているとき(確率が1点に集中しているとき)は足切りラインが上がり、迷っているとき(分布がフラットなとき)は下がる、という直感的な調整をしてくれる
ランタイム系(動作環境を決める)
- Context length:モデルが一度に扱えるトークン数。大きく設定しすぎるとRAMを大量に消費してしまい、処理できなくなることもある(今回試したQwen3.6-27Bはネイティブで26万トークン、拡張すれば最大100万トークンまで扱えるが、そこまで設定すると普通にRAMが足りなくなる)
- GPU offload:モデルのレイヤーをどこまでGPUに載せるか。基本的には最大まで割り当てるのがおすすめ
- RoPE(Rotary Position Embedding):トークンの位置情報を埋め込む方式。学習時のContext Lengthを超えて無理やり拡張したいときに触る設定なので、素直に使う分にはデフォルトのままで問題ない
- Flash Attention:Attention計算を効率化する実装。数学的には同じ結果を、メモリ効率よく計算してくれるので、オンにしておいて損はない
- K Cache / V Cache:一度計算したAttentionのKey/Valueをキャッシュしておく仕組み。毎回全部を計算し直さずに済むので推論が速くなる。メモリを節約するために8bit/4bitに量子化するオプションもある
- Structured output:出力をJSONなど決まったフォーマットに強制する機能
実際に触ってみた感想
ここまでは調べた内容ですが、ここからは実際に自分のPCで動かしてみた感想です。
試したのは Qwen3.6-27B と gpt-oss-20b の2つ。おもしろいのは、この2つはアーキテクチャがそもそも違うことです。Qwen3.6-27Bは27Bパラメータが常に全部働く Dense 構成、対してgpt-oss-20bは21B中3.6Bだけが働く MoE(Mixture of Experts) 構成になっています。
実際、Qwen3.6-27BはQ4_K_M量子化で16.8GBほどに収まる設計、gpt-oss-20bもネイティブの4bit量子化(MXFP4)で約16GBに収まる設計になっていて、どちらも似たようなメモリ帯で動きました。
完全に所感ですが、24GBメモリのパソコンだと正直かなりカツカツ です。モデル本体だけで16〜17GBを使ってしまうと、OSや他のアプリ、そしてContext Length分のKVキャッシュに残せる余裕がほとんどなくなります。理論上は"動く"はずのモデルでも、実際に触ると体感的にかなり厳しいものがありました。
今回試した2モデルくらいならなんとか動きますが、Kimi K3のような数百B〜兆パラメータ級のモデルを本気で動かそうとすると、桁違いのメモリが必要になってきます。「128GBくらいメモリを積んだマシンが欲しい」と、思わず口に出てしまうレベルでした。
ただ、128GBクラスのメモリを積んだマシン(Mac Studioのハイエンド構成やワークステーション向けGPUなど)は、普通に 80万円以上 します。個人でポンと出せる金額ではなく、なかなか大きな買い物になるな、というのが正直なところです。
まとめ
- ローカルLLMは 無料・プライバシー・オフライン動作 が魅力。ただし「無料でダウンロードできる」=「制約ゼロ」ではないので、ライセンスは要確認
- 有名モデル(Llama/Gemma/DeepSeek/Mistral/Qwen/gpt-oss)の多くはApache 2.0やMITで商用利用しやすいが、Llamaの700M MAU条項 のような例外もある
- モデルサイズの目安は「パラメータ数 × 2〜4byte」。量子化を使えばさらに1/4程度まで圧縮できる
- とはいえハードウェアの壁は厚い。24GBメモリだと十数GB級のモデルで手一杯で、兆パラメータ級のモデルには桁違いのメモリと予算(80万円超級)が必要
おわりに
中国が積極的にオープンウェイトモデルを公開して、ソフトウェアとしてのAIを早々にコモディティ化させ、そのぶん フィジカルAI(ロボティクスなど)の領域で勝負するという戦略も見え隠れしている気がします。
さて、AIの覇権はどこに転ぶのでしょうか。目が離せません。
参考リンク
- Kimi K3, and what we can still learn from the pelican benchmark | Simon Willison
- Kimi K3: The open-weights escalation | interconnects.ai
- Moonshot's Kimi K3 pushes Chinese AI into Fable-level territory | Fortune
- openai/gpt-oss | GitHub
- License | Llama
- Meta Llama 3 and the 700M MAU Limit | WCR.LEGAL
- Gemma Terms of Use | Google AI for Developers
- Google Gemma 4 Adopts Apache 2.0 Open License | AI Business Review
- Groq LPU™ Inference Engine Crushes First Public LLM Benchmark | Groq
- Qwen3.6-27B: 27B Model Beats 397B on Coding (2026) | BuildFastWithAI