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