llama.cpp: 多様なハードウェア上で量子化されたLLMをローカルで実行するための高性能C/C++推論エンジン
llama.cpp: 多様なハードウェア上で量子化されたLLMをローカルで実行するための高性能C/C++推論エンジン
何を解決するか
llama.cppは、コンシューマー向けのCPUやGPUを含む幅広いハードウェア上で、最小限のセットアップと高いパフォーマンスで大規模言語モデル(LLM)をローカルで実行する方法を提供します。LLM推論の純粋なC/C++実装を提供することで、重い依存関係の必要性を排除します。
仕組み
このプロジェクトは、LLM推論をC/C++で実装し、パフォーマンスを最適化するためにggmlライブラリを使用しています。広範なハードウェアバックエンド(Apple Silicon用のMetal、NVIDIA用のCUDA、一般的なGPU用のVulkanなど)をサポートし、メモリ使用量を削減して速度を向上させるために整数量子化(1.5-bitから8-bitまで)を採用しています。また、利用可能なVRAMよりも大きなモデルを実行するために、ハイブリッドCPU+GPU推論を実行することも可能です。
対象者
クラウドプロバイダーや複雑なインストールプロセスに頼ることなく、MacBookからNVIDIA GPUやRISC-Vアーキテクチャに至るまで、自身のハードウェア上でLLMをローカルで実行したい開発者やAI愛好家。
ハイライト
- 幅広いハードウェアサポート: Apple Silicon、x86 (AVX/AMX)、RISC-V、NVIDIA、AMD、およびIntel GPU向けに最適化されています。
- 量子化: 大きなモデルをより小さなデバイスに収めるために、複数の整数量子化レベル(1.5-bitから8-bit)をサポートしています。
- 広範なモデルサポート: LLaMA、Mistral、Gemma、およびLLaVAを含む、膨大な範囲のテキストのみおよびマルチモーダルモデルと互換性があります。
- 依存関係なし: 純粋なC/C++で記述されているため、異なるプラットフォーム間で簡単にビルドおよびデプロイできます。
- OpenAI互換API: OpenAIの形式と互換性のあるREST APIを提供するサーバーモード(
llama-server)が含まれています。
Sources
- undefinedggml-org/llama.cpp