llama.cppの実行ファイル大全:llama-cli・llama-server以外も徹底解説

この記事は約5分で読めます。
スポンサーリンク

llama.cppは、Meta社の大規模言語モデル「Llama」シリーズをローカルPCで動かせる推論エンジンです。ビルド後には複数の実行ファイルが生成されますが、llama-clillama-server以外のファイルは何に使うのか分かりづらい方も多いのではないでしょうか。
この記事では、llama.cppで生成される主要な実行ファイルの役割と簡単な使い方をまとめます。

llama.cppとは

llama.cppは、Meta(旧Facebook)社が開発した大規模言語モデル(LLM)であるLlamaやLlama2の重みファイルを、C/C++で効率的に動作させるための軽量な推論エンジンです。

llama.cppのインストール方法はこちらを参照


llama.cppで生成される主な実行ファイル一覧

ビルドが完了すると、以下のような実行ファイルが生成されます(一部抜粋)。

実行ファイル名主な用途・機能概要
llama-cli対話型のコマンドラインインターフェース
llama-serverLLMサーバ(REST APIで推論を提供)
llama-perplexityモデルのパープレキシティ評価
llama-quantizeモデルの量子化(軽量化)
llama-quantize-stats量子化後の統計情報表示
llama-retrieval検索・類似文検索機能
llama-save-load-stateモデルの状態保存・復元
llama-simpleシンプルな推論実行
llama-simple-chatシンプルなチャット形式の推論
llama-speculative推論の効率化手法(Speculative Decoding)
llama-tokenizeテキストのトークン化

主要な実行ファイルの使い方

llama-cli

すでによく知られている通り、ターミナルから直接モデルと対話するための実行ファイルです。
使い方例:

./llama-cli -m ./models/llama-2-7b.Q4_0.gguf

これでモデルとチャット形式でやりとりできます。


llama-server

REST API経由で推論を提供するサーバです。
使い方例:

./llama-server -m ./models/llama-2-7b.Q4_0.gguf

サーバ起動後、http://localhost:8080/completion などにPOSTリクエストを投げて推論結果を取得できます。


llama-perplexity

モデルのパープレキシティ(言語モデルの評価指標)を計算します。
使い方例:

./llama-perplexity -m ./models/llama-2-7b.Q4_0.gguf -f ./input.txt

input.txt には評価したいテキストを用意します。


llama-quantize

モデルを量子化(軽量化)します。
使い方例:

./llama-quantize ./models/llama-2-7b.f32.gguf ./models/llama-2-7b.Q4_0.gguf Q4_0

これでモデルサイズが小さくなり、推論が軽快になります。


llama-quantize-stats

量子化後のモデルの統計情報を表示します。
使い方例:

./llama-quantize-stats ./models/llama-2-7b.Q4_0.gguf

llama-retrieval

テキストの類似文検索や検索機能を提供します。
使い方例:

./llama-retrieval -m ./models/llama-2-7b.Q4_0.gguf --query "検索したいキーワード"

llama-save-load-state

モデルの状態を保存・復元します。
使い方例:

./llama-save-load-state -m ./models/llama-2-7b.Q4_0.gguf --save-state ./state.bin

復元時は --load-state ./state.bin オプションを使います。


llama-simple / llama-simple-chat

シンプルな推論やチャット形式の推論を実行します。
使い方例:

./llama-save-load-state -m ./models/llama-2-7b.Q4_0.gguf --save-state ./state.bin

llama-speculative

推論の効率化手法「Speculative Decoding」を試すための実行ファイルです。
使い方例:

./llama-speculative -m ./models/llama-2-7b.Q4_0.gguf

llama-tokenize

テキストをトークン(モデルが扱う単位)に分割します。
使い方例:

./llama-tokenize -m ./models/llama-2-7b.Q4_0.gguf --text "これはテストです"

まとめ

llama.cppは、llama-clillama-server以外にも多彩な実行ファイルを生成します。
モデルの評価や軽量化、検索、状態管理など、目的に応じて使い分けられるのが特徴です。
ローカルLLM活用の幅を広げるために、ぜひこれらのツールも試してみてください。


コメント

タイトルとURLをコピーしました