蒸留

Last-modified: 2024-12-09 (月) 22:01:44

モデル転用の手法

概要

  • 蒸留。英語では「distilling」
  • ふわっとした解釈で説明すると、
    • 手順1:diffusersで事前学習モデルに加えて、LoRA等の追加モデルをうまく重ねて生成を実施する。
    • 手順2:生成されたデータから、自分が「これだ」と思うデータのみを抽出する。
    • 手順3:抽出したデータを、さらにLoRA等の追加モデルへの学習等に使用する。
  • 蒸留は、新しいモデルを使用してソース モデルからの出力を複製しようとするトレーニング手順の一種です。」
    引用:https://huggingface.co/blog/lcm_lora
  • 上記LCM(品質をあまり落とさずステップ数を減らす学習)で使われている為か、良く低ステップ化技術を適用された状態のモデルを「蒸留モデル」と呼ばれる事がある。
    …と言うよりそっちで見かけることのほうが多い。
    蒸留がかかっている状態のモデルは高速で生成できる(ステップ数が減る)代わりに基本的にはCFG値を下げる(ものによるが概ね1~2付近)必要があり、ネガティブプロンプトが効きづらく(1だと効かなく)なり、追加学習の元にも使いづらくなる。メジャーなところだとFlux.1-Schnellが無対策だとほぼまともに追加学習が出来ないなど厄介な副作用もある為、モデルを学習目的でダウンロードするときは留意が必要か。