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