LLM基礎

LLMを「モデル」と「ランタイム」で分けて理解する

Qwen・Ollama・vLLM ―― 同じ「LLM」という言葉でも、指しているレイヤーが違う

「LLM」は最低でもモデル / 推論ランタイム / ハードウェアの3層に分解できる。 Qwen、Ollama、vLLMという単語が混線する原因は、この3つを同じ粒度で扱ってしまうことにある。

1三層で捉える

Model — 何を計算するか (What)
Qwen, Llama, Gemma …

学習によって得られたTransformerの重み(パラメータ)。計算内容そのものを規定する成果物。

↓ 重みをロードして実行する
Runtime — どう実行するか (How)
Ollama, vLLM …

重みをメモリに載せ、forward passを回してトークンを生成するソフトウェア。

↓ 演算資源の上で動く
Hardware
Mac (Metal), NVIDIA GPU (CUDA) …

実際に行列演算を処理する物理基盤。

QwenはAlibabaが学習させたモデル本体。「何を計算するか」を決める成果物であり、コンテンツそのものにあたる。 Ollama / vLLMはその重みを動かす推論ランタイムで、コンテンツを再生するプレイヤーに近い。

この2つは直交する軸。同じQwenをOllamaでもvLLMでも動かせるし、逆にOllamaでLlamaやGemmaを動かすこともできる。 「モデルを変える」ことと「ランタイムを変える」ことは、まったく別の選択である。

2Ollama と vLLM は「同じレイヤーの別実装」

両方とも推論ランタイムだが、最適化している目的関数が違う。片方がもう片方の上位互換ではない。

観点OllamavLLM
バックエンドllama.cppが中核独自エンジン(CUDA中心)
設計思想ローカル・単一ユーザー・簡便さサーバ・高スループット・多重同時
中核技術GGUF量子化 + Metal/CPU-GPU混在PagedAttention + Continuous Batching
同時実行低並列向き大量リクエストを効率的に交錯処理
モデル形式GGUFsafetensors + AWQ/GPTQ/FP8/NVFP4
分散基本しないTensor Parallelismで複数GPU分割

要点:Ollamaは「1台の手元マシンで手軽に1発」を、vLLMは「GPU利用率を極限まで上げて多重に捌く」ことを目的関数にしている。 用途が違うだけで、優劣の関係ではない。

3具体例 ―― レイヤー分離の実地証明

同じ論理モデル「Qwen」が、ランタイムに応じて物理的な梱包(フォーマット・量子化)を変える。

Mac mini
ollama/qwen3:14b → GGUF形式 → llama.cppがMetalで実行
DGX Spark
vLLM → 同じQwen系でもNVFP4量子化したsafetensorsPagedAttentionでスループットを引き出す

Qwenという同一の知識体が、実行環境の要求に合わせて別の器に詰め替えられている。

4まとめ

Model
Qwen ―― 最上層、コンテンツそのもの
Runtime
Ollama / vLLM ―― 中間層の別実装
Ollama
ローカル・簡便・GGUF
vLLM
サーバ・高スループット・safetensors
Hardware
Metal / CUDA ―― 最下層、実行基盤

「LLM」を語るときは、いまモデルの話をしているのか、ランタイムの話をしているのかを分けるだけで、混線は消える。