komikndr/raylight

Enable true multi gpu capability in Comfy UI using XDiT XFuser and FSDP managed by Ray

何を解決するか

Raylightは、ComfyUIで複数のGPUにわたり大規模なAIモデル(Wan、Flux、Hunyuan Videoなど)を実行する方法を提供します。単一GPUのVRAM制限という問題を解決し、複数の小さなGPUのメモリを組み合わせることで、通常は「メモリ不足」(OOM)エラーを引き起こすモデルを実行可能にします。

動作方法

RaylightはRayフレームワークを使用してGPUワーカーを管理し、3つの主要な並列処理タイプを実装しています。

  • 統合シーケンス並列化(USP): XDiTライブラリを使用して、画像または動画シーケンスのテンソルをGPUランクに分割します。
  • 完全シャーディングデータ並列(FSDP): モデル重みをGPU間でシャーディングし、各GPUがモデル全体をロードする必要がなくなるため、利用可能なVRAMを効果的に統合します。
  • CFG並列化: クラスなしガイド付き(Classifier-Free Guidance)レベルでのワークロードを分割します。

また、FSDPに対してCPUオフロードをサポートしており、非常にメモリが少ないシステムでもVRAMの要件をさらに削減できます。

対象ユーザー

複数のGPUを持っているComfyUIユーザーで、生成速度を向上させたい、または1枚のGPUでは処理できないような大規模モデルを実行したい人(例:RTX 4070を2枚使用してRTX 5090 1枚よりも効果的に活用)。

特徴

  • マルチGPU対応: 複数のGPUのVRAMを統合し、大規模モデルの推論を可能にします。
  • 広範なモデル対応: Wan、Flux、Hunyuan Video、Qwen、Chromaなど、多数のモデルと互換性があります。
  • 柔軟な並列処理: USP、FSDP、DP、CFG並列処理をサポートしており、実験的な「統合並列」モードも利用可能。
  • ハードウェア互換性: NVIDIA(VoltaからBlackwell)、AMD(MI300X、MI210)、Intel Arc Pro B60でテスト済み。
  • 最適化: SageAttnやFlashAttention 2など、さまざまなアテンションバックエンドをサポート。

関連

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