foldl/chatllm.cpp
Pure C++ implementation of several models for real-time chatting on your computer (CPU & GPU)
解決する課題
ChatLLM.cppは、コンピュータのCPUまたはGPU上で大規模言語モデル(LLM)をローカルで実行するための、高性能かつメモリ効率の高い方法を提供します。クラウドサービスに依存することなく、リアルタイムのマルチモーダルチャットと検索拡張生成(RAG)を可能にし、10億パラメータ未満から3000億パラメータを超えるモデルまで幅広くサポートします。
仕組み
ggmlライブラリに基づいた純粋なC++実装として構築されており、int4/int8量子化を使用してメモリ使用量を削減し、推論を加速させます。オブジェクト指向のアプローチを採用して様々なTransformerベースのモデルを処理し、並列計算と最適化されたKVキャッシュを通じてパフォーマンスを向上させます。また、Hugging Face形式のモデルをカスタムの量子化GGML形式に変換するための変換ツール(convert.py)も含まれています。
対象ユーザー
低いハードウェア要件で幅広いLLMをローカルで実行したいユーザーや、Python、JavaScript、C、Nimのバインディングを備えたC++ベースの推論エンジンを探している開発者向けに設計されています。
ハイライト
- マルチモーダル対応: テキスト、画像(ビジョン)、音声(スピーチ)、およびTTS(テキスト読み上げ)を処理可能。
- RAG統合: 検索拡張生成(RAG)を内蔵サポート。
- 分散推論: 分散コンピューティング用のRPCをサポート。
- ハードウェアアクセラレーション: GPUアクセラレーションとVulkanをサポート。
- 柔軟な量子化: 正規表現パターンを使用して、テンソルごとにカスタマイズされた量子化が可能。
- 幅広いモデルサポート: Llama、Gemma、Qwen、InternVLを含む膨大な数のモデルと互換性があります。