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
  • プロジェクト
  • プロジェクト