ekzhang/resin

🧱 Experimental library for building inference engines

解決する問題

Resin は、カスタム LLM 推論エンジンを作成したい開発者向けに、低レベルのビルディングブロックを提供します。「オールインワン」の推論エンジンとは異なり、新しいモデルや特定のハードウェア向けの専門システムを、パッケージ化されたソリューションに縛られることなく構築できます。

仕組み

Resin は推論プロセスを、高性能な Rust「エンジン」とモデル固有のランナーの 2 つの部分に分離します。Rust エンジンは、バッチスケジューリング、キャッシュのメモリ管理、メトリクスなどの重い処理を担当し、フォワードパス(実際のモデルロジック)は、特定のハードウェアに最適化されたカーネルとして記述します。このモジュール設計により、CUDA、PyTorch、Apple Silicon (MLX) 用の異なるランナーを、同じコアスケジューリングロジックを使用しながらプラグインできます。

対象読者

このプロジェクトは、LLM 推論システムを実験または最適化したい開発者や研究者を対象としています。一般的な本番環境での使用を目的としていません。すぐに使用できる本番エンジンが必要な場合は、vLLM や SGLang などの既存ツールを推奨します。Resin は、推論を「ハック」したり、新しいモデルサポートを開発したり、カスタムハードウェアでパフォーマンスの限界を押し広げたい人向けです。

ハイライト

  • モジュール式アーキテクチャ:バッチスケジューラをモデル固有のフォワードパスから分離します。
  • 高性能コア:Rust ベースのスケジューラ、スラブベースのキャッシュプール、投機的デコーディングのサポートを含みます。
  • ハードウェア非依存:CUDA(グラフサポート付き)や Apple Silicon(MLX 経由)など、多様なバックエンドをサポートします。
  • パフォーマンスツール:ボトルネックの診断とパフォーマンス改善の検証に役立つ、組み込みのベンチマーク、プロファイリング、「自動研究」ワークフローが含まれます。
  • 柔軟なデプロイ:OpenAI や Anthropic などの一般的な API と互換性のあるオプションの HTTP サーバーが含まれます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト