kkokosa/dotLLM
LLM inference engine written in .NET
解決する課題
dotLLM は、C# と.NET でネイティブに構築された高性能 LLM 推論エンジンです。Python ラッパーや llama.cpp のような外部ライブラリを必要とせず、Transformer ベースのモデル(Llama、Mistral、Phi、Qwen、DeepSeek など)をネイティブな速度と効率で実行するための純粋な.NET 実装を提供します。
仕組み
このエンジンは、アンマネージド メモリを使用してゼロ GC 推論を実現し、CPU 計算には SIMD ベクトル化を活用します。GPU 加速には、CUDA Driver API を介してロードされる CUDA PTX カーネルを使用します。また、メモリマップドファイルによる GGUF モデルのロードをサポートしており、ほぼ瞬時の起動が可能です。アーキテクチャは階層化されており、サーバー(OpenAI 互換 API)、エンジン(KV キャッシュとスケジューリング)、およびバックエンド(CPU/CUDA)が分離されています。
対象ユーザー
Python やネイティブ共有ライブラリに依存せずに LLM 推論をアプリケーションに直接統合したい.NET 開発者、および OpenAI 互換 API を備えた軽量で高性能なローカル LLM サーバーを探しているユーザー。
ハイライト
- ネイティブ.NET 実装: C# でゼロから記述されており、ラッパーではありません。
- パフォーマンスの最適化: ゼロ GC ホットパス、SIMD 最適化 CPU カーネル、および CUDA GPU 加速。
- 高度な推論機能: Speculative decoding、Paged KV-cache、および Prompt caching をサポート。
- 構造化出力: JSON、JSON Schema、正規表現、および文法への準拠を保証する制約付きデコーディング。
- デプロイの柔軟性: グローバル.NET ツール、自己完結型バイナリ、または NuGet パッケージとして利用可能。
- OpenAI 互換性:
/v1/chat/completionsを備えた ASP.NET サーバーと組み込み Web UI を搭載。
関連
- プロジェクト
- プロジェクト
- Dispatch
- プロジェクト
- プロジェクト