ollamaで社内オフラインLLM運用: 量子化の速度・精度・VRAM
ollamaとは何か、なぜオフライン運用に向くのか
ollamaは、llama.cppをベースにしたローカルLLMの実行環境です。モデルを一度手元に取得(pull)してしまえば、その後はインターネット接続なしにローカルのAPI(既定では http://localhost:11434)経由でモデルを呼び出せます。モデルの管理・起動・APIサーバー化までを1つのコマンド体系でまとめてくれるため、「社内の閉じたネットワークでLLMを動かしたい」という要件と相性が良いツールです。
GGUFという配布形式と量子化の考え方
ollamaで扱うモデルの多くはGGUFという形式(llama.cppの旧形式GGMLの後継)で配布されます。GGUFモデルにはQ4・Q5・Q8のような量子化レベルの表記があり、これはモデルの重みを何bit相当の精度で保持するかを表しています。
一般的な傾向として、ビット数が小さいほどファイルサイズが小さくなりVRAM/RAM使用量も減って動作も軽くなりやすい一方、元のモデルとの誤差(精度低下)は大きくなりやすい、逆にビット数が大きいほど(Q8に近づくほど)元のモデル(fp16)に近い出力品質を保ちやすい一方、ファイルサイズやメモリ使用量は大きくなる、という傾向があります。どの量子化レベルが「実用に足る精度」かはタスクやモデルによって差があるため、実際に候補のプロンプトで出力を見比べて選定するのが基本です。
実測データ(2026-07-13測定)
RTX A6000(48GB)上で、ollama経由で同一モデルファミリー(Qwen2.5-7B-Instruct)の量子化違い3種と、13B級モデル1種を実測しました。
測定条件: 日本語約150字の点検報告要約タスクをプロンプトとして各モデルに2回投入し、ollama run --verbose の出力から eval rate(生成速度)と初回ロード時間を取得。VRAM使用量は生成中に nvidia-smi を1秒間隔でサンプリングした最大値(Windowsデスクトップ等の常駐分として測定前に約5.8GB使用済み、この分を含む)。モデルごとに ollama stop で解放してから次を計測。
| モデル | 量子化 | ファイルサイズ | eval rate(2回平均) | 初回ロード時間 | VRAM使用量(実測ピーク) |
|---|---|---|---|---|---|
| Qwen2.5-7B-Instruct | Q4_K_M | 4.7GB | 65.7 tokens/s | 4.6秒 | 約12.1GB |
| Qwen2.5-7B-Instruct | Q8_0 | 8.1GB | 35.2 tokens/s | 7.4秒 | 約15.1GB |
| Qwen2.5-7B-Instruct | F16 | 15GB | 21.3 tokens/s | 12.2秒 | 約21.3GB |
| Ministral-3 14B(mistral3系) | Q4_K_M | 9.1GB | 29.2 tokens/s | 9.2秒 | 約24.9GB |
※Ministral-3 14Bのみ、既定のチャットテンプレートによりプロンプトのトークン数が他モデルと異なります(約722トークン、他モデルは約173トークン)。単純な横並び比較には注意してください。
※同一モデルへの2回目の呼び出し(ロード済み状態からの再生成)ではロード時間が0.1〜0.2秒まで短縮されました。モデルがVRAMに保持され続けているためで、後述する keep_alive の効果が現れています。
※出力品質は目視確認のみです(いずれの量子化でも指示逸脱や文字化けは見られませんでした)。定量的な品質評価(BLEUや人手評価等)は未測定・後日追加です。
※Q5系の量子化、30B超のモデルクラスは未測定・後日追加です。
今回の実測では、同一モデル(Qwen2.5-7B-Instruct)でQ4_K_M→Q8_0→F16と量子化ビット数を上げるほど、応答速度(eval rate)はおおむね反比例して低下し、VRAM使用量は増加する傾向が確認できました。速度とVRAM消費のどちらを優先するかは、実運用のレイテンシ要件と、対象タスクで許容できる出力品質のラインを踏まえて判断してください。
運用でハマりやすいポイント
実際に社内サービスとしてollamaを動かし始めると、次のような点で設計の検討が必要になります。
- コンテキスト長とメモリ使用量: 扱える文脈(コンテキストウィンドウ)を長く取るほど、そのぶんメモリ使用量も増えます。同時に長文を扱うユーザーが増えるほど余裕を見ておく必要があります。
- 同時リクエストとスループット: GPU1枚での運用では、複数人が同時に問い合わせるとキューイングが発生し、1人あたりの応答が遅くなります。想定同時接続数を踏まえたキャパシティ設計が必要です。
- モデルのロード時間と
keep_alive: モデルの切り替えにはロード時間がかかるため、頻繁に別モデルへ切り替える運用は避けるか、keep_aliveの設定でモデルをメモリに保持し続ける工夫が要ります。 - サービスとしての可用性: systemdやDocker等でプロセスを常駐管理し、再起動時の自動復旧やログ監視の仕組みを用意しておくと、社内インフラとして安定運用しやすくなります。
セキュリティ・閉域網での運用
ollamaはモデルを一度取得すればオフラインで動作するため、外部への通信を遮断したネットワークでも運用できます。ただし気をつけたいのは、ollamaのAPIには既定で認証機構が用意されていない点です。社内ネットワーク内であっても、誰でもAPIを叩ける状態は避けたいことが多いはずです。実運用では、リバースプロキシを前段に置いて認証やアクセス制御を追加する、アクセスできるネットワークセグメントを絞る、といった対策を組み合わせる必要があります。
またモデルファイル自体の更新やバージョン管理も、インターネット経由の自動更新に頼らず、手動もしくは社内の配布フローで行う前提の運用設計が必要です。
どんな業務に向くか
現時点で相性が良いと考えられる用途は、社内文書のQ&A、議事録・報告書の下書き生成や要約など、「人間が最終チェックする前提の下書き作成」です。出力をそのまま最終成果物として使うのではなく、必ず人が確認・修正する運用にすることで、量子化による多少の精度低下や、LLM特有の誤りのリスクをコントロールしやすくなります。
まとめ
ollamaは、GGUF形式のモデルをローカルで手軽に動かせる実行環境として、社内向けオフラインLLM運用の入り口として扱いやすいツールです。量子化レベルの選定はタスクごとの検証が前提になり、運用面では同時接続数やアクセス制御の設計が実務上の論点になります。具体的な速度・精度・VRAMの数値は、検証が整い次第この記事に追記します。
関連記事
自治体でローカルLLMを導入する現実解: LGWAN・オフライン・個人情報
自治体でローカルLLM導入を検討する際に押さえておきたい、LGWANなどのネットワーク制約とオフライン要件、個人情報の扱いの考え方を整理しました。
RTX A6000でQLoRAファインチューニング実測: VRAM・学習時間・コスト
自社のRTX A6000でLLMをQLoRAファインチューニングする際の考え方と検証観点を整理。VRAM・学習時間・コストの実測値は準備が整い次第掲載します。