🎓 レベル:基礎 | 重要度:A(必須) 📎 前提:なぜローカルでLLMを動かすか | 原理:LLMの全体像(機械学習)
要点(結論先出し)
- ローカルLLMのツールは4レイヤーで整理できる:モデル(重み)→ 形式(保存・量子化の入れ物)→ エンジン(実際に計算)→ UI/API(人やアプリが触る口)。
- 混乱の元は「同じ名前が別レイヤーを指す」こと。Ollama や LM Studio は体験層、llama.cpp や MLX はエンジン層、vLLM はサービング系(要最新確認)。
- 名前を覚えるより、どのレイヤーの道具かを地図上に置けることが大事。
概念 ── 4レイヤーの地図
flowchart TD M["モデル(Llama・Qwen・Gemma等の重み)"] --> F["形式(GGUF・safetensors・量子化)"] F --> E["エンジン(llama.cpp・MLX・vLLM)"] E --> U["UI/API(Ollama・LM Studio・OpenAI互換API)"] U --> APP["アプリ(チャット・RAG・エージェント)"]
上から「何を」「どの形で」「何で計算し」「どう触るか」。新しいツールが出ても、この4段のどこに属すかを問えば迷いません。
各レイヤーの代表(要最新確認)
- モデル:Llama / Qwen / Gemma / Mistral などのオープンウェイト系。原理は機械学習へ → LLMの全体像
- 形式:CPU/GPU混在向けの GGUF、学習・GPU向けの safetensors。詳細は モデル形式(safetensorsとGGUF)
- エンジン:llama.cpp(GGUFを幅広いハードで)、MLX(Apple Silicon)、vLLM(高スループット)
- UI/API:Ollama(CLI+APIで手軽)、LM Studio(GUIでモデル検索・量子化推奨)。多くは llama.cpp 等を内側で包む
仕組み ── 「体験層」は「エンジン層」を包む
重要な観察:Ollama や LM Studio は自前で推論カーネルを持つわけではなく、llama.cpp(や Apple Silicon では MLX)を内部で呼んでいることが多い(要最新確認)。だから「Ollamaが速い/遅い」の多くは下のエンジンの話。体験層=使いやすさ、エンジン層=速度と対応ハードと切り分けると、選定がぶれません。
運用の勘所
- 入門は体験層から(Ollama / LM Studio)。動いた後で、必要ならエンジン層(llama.cpp直叩き・vLLM)に降りる。
- ツール選定は「自分のハード × 用途(単機 or 同時多人数)」で決める → 推論エンジンの使い分け
- ベンチや対応状況はすぐ古くなる。必ず一次情報(各プロジェクトのドキュメント)で要最新確認。
なぜそうするか
レイヤーで考えると、ツールの乗り換えコストが読める。形式(GGUF)が同じならエンジンを差し替えても重みは使い回せる。逆にレイヤーを混同すると「Ollamaを捨てたらモデルも作り直し」のような誤解に陥ります。
⚠️ よくある落とし穴
- 体験層とエンジン層を同列に比較する:「Ollama vs llama.cpp」は半分は包む側と包まれる側の比較。論点は「手軽さ」か「制御」か。
- UIの違いを性能差と思い込む:見た目が違っても下が同じエンジンなら速度はほぼ同じ。
- 最新の流行ツールに飛びつく:地図のどこを埋める道具か分からないまま導入しない。
対応lab
関連
- 形式の詳細へ → モデル形式(safetensorsとGGUF)
- エンジン各論へ → llama.cpp / Ollama / vLLMとTGI
- 重みの入手とライセンス → オープンウェイトモデルとライセンス