llama.cpp と llama.app: ローカルLLM推論とエコシステム
llama.cpp は汎用性の高い、高性能なローカルLLM推論を提供します
llama.cpp は、コンシューマー向けノートPCからエンタープライズ向けクラスターまで、幅広いハードウェアで大規模言語モデル (LLM) を実行できるように設計された、ハードウェアに依存しない推論エンジンです。Apple Silicon (M Pro, M Max, M Ultra)、NVIDIA GPU (RTX 3090, 4090, 5090, A100, H100, B200)、AMD GPU (Radeon RX, MI300)、Intel Arc、および標準的な CPU を含む多様なアーキテクチャ全体でパフォーマンスを最適化するために、手動で調整されたカーネルを利用しています。
llama.app と 'llama serve' によるデプロイの簡素化
llama.app は llama.cpp の公式な拠点として機能し、ローカルモデルをデプロイするためのより合理化されたユーザー体験を提供します。重要な追加要素として llama serve コマンドがあり、モデルをローカルでホストするプロセスを簡素化します。
エージェント的なコーディングワークフローを求めるユーザーは、llama.cpp を Pi コーディングエージェントと組み合わせることができます。セットアッププロセスは主に3つのステップで構成されます:
llama serveを実行してモデルをホストする。pi install git:github.com/huggingface/pi-llamaを介してpi-llamaプラグインをインストールする。piを起動してエージェントの使用を開始する。エージェントは API キーや外部設定を必要とせずに、ローカルモデルを自動的に検出します。
技術的能力と最適化
マルチモデルのサポートと設定
llama-server はマルチモデルのデプロイをサポートしています。ユーザーは、テストを通じて最適化されたハードウェア固有のパラメータとともに、複数のモデルを指し示す .ini ファイルを定義できます。これにより、API クライアントは特定のモデルを選択でき、システムがルーティングと最適化を自動的に処理します。
パフォーマンスの向上
「実質的に無料」のパフォーマンス向上を得るために、ngram-mod (または spec-default) を使用することが推奨されています。カスタムハーネスを構築する開発者には、頻繁なモデルの切り替えを必要とするマルチモデル設定の場合、llama-server よりも llama-cpp-python が推奨されます。
コミュニティの洞察とエコシステムの比較
Ollama やその他のランナーとの比較
コミュニティの議論では、llama.cpp と Ollama のような高レベルのラッパーとの違いが強調されています。一部のユーザーは、Ollama のようなツールは llama.cpp のコア機能のブランド名を変更したラッパーとして機能することが多いため、llama.cpp を「AI界の ffmpeg」と表現しています。
他のユーザーは、特に古い NVIDIA ハードウェア (例: RTX 3070) において、vLLM では CUDA ドライバーの再インストールが必要になる場合があるのに対し、llama.cpp はよりスムーズなインストール体験が得られると報告しています。
ハードウェア固有の課題
llama.cpp は汎用的な互換性を目指していますが、一部のユーザーから特定の問題が報告されています:
- AMD/ROCm サポート: Framework 13 ノートPCを使用している一部のユーザーにおいて、内蔵 AMD GPU のネイティブ ROCm サポートにデグレードが発生し、回避策として Vulkan デバイスへの切り替えが必要になった事例があります。
- Intel Arc: 一部のユーザーから、Intel Arc A770 GPU に対して OpenVINO サポートを有効にして llama.cpp をコンパイルする際に困難が生じるとの報告があります。
デプロイの代替案
シェルスクリプト (curl | sh) を避けたい場合は、リポジトリをクローンして CMake を使用してソースからビルドすることがコミュニティによって推奨されています:
git clone https://github.com/ggml-org/llama.cpp
cmake -B build
cmake --build build --config Release
"Git clone llama.cpp and build it, it's not hard... literally just a few steps for the basics."
Hugging Face との統合
llama.cpp は最近 Hugging Face の一部となり、エコシステムがさらに統合されました。macOS ユーザーの場合、llama.app をインストールする前に Homebrew を介して llama.cpp をインストールしておくと、llama.app のリリースサイクルが遅い場合でも、より簡単にアップデートを行うことができます。さらに、Hugging Face CLI (hf) を介してインストールされたモデルは、llama.app によって自動的に検出されます。
Sources
関連
- プロジェクト
- Dispatch
- プロジェクト
- プロジェクト
- プロジェクト