lorax: 単一 GPU で数千のファインチューニング済み LLM をスケールさせるマルチ LoRA 推論サーバー
lorax: 単一 GPU で数千のファインチューニング済み LLM をスケールさせるマルチ LoRA 推論サーバー
解決する課題
LoRAX(LoRA eXchange)は、数千ものファインチューニング済み大規模言語モデル(LLM)を単一 GPU 上でホストできるようにすることで、提供コストと複雑さを削減します。ベースモデルの各ファインチューニングバージョンごとに別々の GPU を割り当てる必要がなくなり、これに伴う莫大な費用を回避できます。
仕組み
LoRAX は共有ベースモデルを使用し、リクエストごとにタスク固有の LoRA アダプタを動的にロードします。高いパフォーマンスを維持するために、以下の最適化手法を採用しています。
- Dynamic Adapter Loading(動的アダプタロード): HuggingFace、Predibase、またはローカルファイルシステムからのアダプタを、他のリクエストをブロックせずにジャストインタイムでロードします。
- Heterogeneous Continuous Batching(異種連続バッチング): 異なるアダプタへのリクエストを同一バッチに詰め込み、スループットとレイテンシを安定させます。
- Adapter Exchange Scheduling(アダプタ交換スケジューリング): 非同期システムがアダプタを GPU と CPU メモリ間で事前フェッチおよびオフロードし、スループットを最適化します。
- Optimized Inference(最適化推論): テンソル並列、量子化、Flash‑Attention、Paged Attention、SGMV などの専用 CUDA カーネルを活用し、高効率を実現します。
対象ユーザー
パフォーマンスを犠牲にせず、GPU メモリ使用量を大幅に削減しながら、スケールアウトした形で複数のファインチューニング済み LLM をデプロイ・提供したい開発者や機械学習エンジニア向けです。
ハイライト
- Massive Scalability(大規模スケーラビリティ): 単一 GPU で数千のファインチューニングモデルを提供可能。
- OpenAI Compatible(OpenAI 互換): OpenAI 互換 API を通じたマルチターンチャットをサポート。
- Production Ready(本番対応): Docker イメージ、Kubernetes 用 Helm チャート、分散トレース用 Open Telemetry を含む。
- Flexible Model Support(柔軟なモデルサポート): Llama、Mistral、Qwen アーキテクチャに対応し、PEFT や Ludwig で学習されたアダプタをサポート。
Sources
- undefinedpredibase/lorax