コンテンツにスキップ

LoRA パイプライン (LoRA Pipeline)

既存のパイプラインの上に非融合(Non-fused)LoRA アダプタを重ねて適用し、キャッシュされた同一モデルで複数のブランチを同時に駆動できるようにします。

カテゴリ: ModularDiffusion/Pipeline

概要 (TL;DR)

  • Pipeline Builder の出力と 1 つ以上の Load LoRA ノードを本ノードに接続し、lora_pipeline 出力を Pipeline Builder の代わりに Generate Media Latents に接続します。
  • アダプタは生成ごとにアクティブ化され、生成完了後に解放されます。ベースパイプラインの重みは 一切恒久的に変更されない ため、単一のキャッシュ済みモデルを使用して、パイプラインの再構築なしに複数のブランチ(LoRA ありのブランチと LoRA なしのブランチ)を並行して動かすことができます。
  • 実行間でアダプタを頻繁に切り替える場合や、In-Context (IC) LoRA、蒸留・高速化 LoRA、スライダー LoRA を使用する場合は、Pipeline Builder での融合よりも本ノードの利用を推奨します。

ワークフローにおける一般的な配置 (Typical workflow position)

Pipeline Builder ──→ [LoRA Pipeline] ←── Load LoRA
                          │
                          └──→ Generate Media Latents → Decode Media Latent

ノードプレビュー (Node preview)

LoRA Pipeline

入力 (Inputs)

名前 型 必須 備考
pipeline Pipeline Config はい ベースとなる拡散パイプライン。Pipeline Builder から接続。ベースパイプラインは変更されずに再利用されるため、他のノードへ同時に分岐接続可能です。
loras loras はい Load LoRA ノードからの 1 つ以上の LoRA ペイロード。リストを受け付けるため、複数の Load LoRA 出力を接続してスタック可能です。

出力 (Outputs)

名前 型 備考
lora_pipeline Pipeline Config 各生成呼び出しの前後で指定された LoRA を動的に有効化するパイプライン参照。入力パイプラインのキャッシュエントリを共有するため、Generate Media Latents に接続しても再構築は発生しません。
logs str パイプライン設定ハッシュを含むビルドログ。

ヒントと注意点 (Tips & pitfalls)

  • 動的有効化 LoRA と融合 LoRA は挙動が異なります: 融合 LoRA(Pipeline Builder の loras 入力経由)は重みに恒久的にマージされるため、変更するとパイプラインキャッシュ全体が破棄されます。本ノードによる動的有効化 LoRA は一時的に適用されるため、キャッシュを破棄しません。
  • 少なくとも 1 つの LoRA を接続してください: 本ノードを機能させるには loras に少なくとも 1 つのエントリが必要です。実行前に 1 つ以上の Load LoRA ノードを接続してください。
  • キャッシュの共有: lora_pipeline 出力と入力の pipeline はキャッシュを共有します。モデルを二重ロードすることなく、両方を別々の Generate Media Latents ノード(LoRA 適用版と未適用版)へ接続できます。
  • 実行ごとに適用される重み: 融合 LoRA とは異なり、Load LoRA ノードで weight を変更してもパイプラインの再構築はトリガーされません。

関連項目 (See also)