Skip to content

Tech Notes

Ollamaとは何か? ローカルLLM推論エンジンの比較

ローカルLLMを動かすエンジンの一つ Ollama とは何か、そして代表的な推論ソフトの比較。基盤構築の初期に整理したもの。

Ollamaは一言でいうと「複雑なローカルLLMの環境構築を極限まで簡略化し、使いやすいAPIとして提供するラッパー」。内部では C++製の軽量・高速な推論エンジン llama.cpp が動いている。本来 llama.cpp を直接扱うにはビルドやコマンドが必要だが、Ollamaはそれを隠蔽し、ollama run モデル名 というDockerのような手軽さで、モデルのダウンロードから実行、APIサーバー起動までを全自動でこなす。

  • 得意なモデル形式: GGUF(量子化モデル)
  • 主な役割: クライアント(Open WebUI等)からのプロンプトを受け取り、内部モデルで計算して回答を返すバックエンドエンジン

代表的な推論ソフトの比較

vLLM

高速推論・サーバー用途で最強格。「PagedAttention」というメモリ管理で、Ollamaやllama.cppの数倍〜十数倍のスループット。OpenAI互換APIサーバーに最適。一方でVRAM消費が激しく、量子化モデル(GGUF等)対応は発展途上。構築難易度はやや高め。

llama.cpp(直接実行)

Ollamaの内部でも使われるコアエンジンを直接操作する方法。オーバーヘッドがなく最軽量で、リソースを限界まで引き出せる。CPU/GPUの配分など細かいチューニングが可能。すべてCUIで、モデル管理も手動なので学習コストは高い。

LM Studio

Windows/MacでGUIがセットになったオールインワン。モデル検索→DL→チャットが専用アプリで直感的に完結し、初心者には最も簡単。ただしクローズドソースで、ヘッドレス運用(サーバーで常駐し別PCからアクセス)には不向き。

Text-generation-webui(Oobabooga)

超多機能・拡張性特化。GGUFに加えEXL2/AWQ/GPTQなどほぼ全形式・エンジンを切り替え可能で、パラメータ調整項目も最多。反面、UIが複雑で依存も多く、環境が壊れやすい。

目的別のおすすめ

  • 手軽さ・安定・汎用: Ollama(+ Open WebUI)
  • 超高速APIサーバー: vLLM
  • マニアックな極限設定: llama.cpp
  • 色々な形式を試す: Oobabooga

この基盤でのその後

この整理の時点では Ollama + Open WebUI が最もバランスの良いモダン構成だったが、量子化やKVキャッシュ、GPUオフロードといった推論の低レベル制御を自分で握るため、最終的にこの基盤ではオーバーヘッドのない llama.cpp 直叩き構成へ移行した(→ プロジェクト概要 )。