Proteus-RunDiffusion-DPO (Direct Preference Optimization)
詳細
ファイルをダウンロード
このバージョンについて
モデル説明
Proteus Rundiffusion x DPO(直接リンギュ・オプティマイゼーション)SDXL
実験的なマージです。以下に両モデルの簡単な概要を述べます。画像結果は、ProteusとDPOの背後にあるアイデアに興味がない、またはすでに熟悉している場合は、投稿の最後にあります。
はじめに
このモデルは、モデルのマージ科学を調査し始めた直後に生まれました。最初はブロック重みマージから始め、異なる方法が生成結果に与える影響を調べました。まだこの概念に慣れていないため、これまでのプロセスは構造的でも科学的でもありませんでした。モデルのトレーニングとマージの専門家ではありませんが、安定したマージを実現するのに十分な知識を持ち、適切な判断と論理的な調整を加えてきました。
これは、私が共有するのに十分満足できるマージを見つけたとはいえ、より良いバリエーションが存在する可能性が高いことを意味します。
モデルは、openrail++(DPO) と GPL3(Proteus) の下でライセンスされており、両方とも元のモデル使用目的内での無料利用と再配布を許可しています。マージはGPL3の下で公開されています。
このモデルの2つのバリエーションと、元のベースモデル(Stable Diffusionなどで使用するためにtransformers-baseに変換したもの)は、HuggingFaceリポジトリで確認できます。
目的
始めた当初は、芸術的な好奇心でした。
それが最終的に生まれたのは——芸術的自由と元のプロンプトへの忠実性のバランスを取ったモデルです。
ディフュージョンAIモデルを使用する際の正確性と創造性のバランスは、私たち全員が慣れ親しんできました。少し正確性を犠牲にしてより印象的な結果を出す、あるいはその逆です。このモデルは、その範囲を狭めることを目指しています——Proteusを使ってその範囲を広げ、DPOを使って正確性を高めます。
モデル
mhdang/dpo-sdxl-text2image-v1 | mhdang/dpo-sd1.5-text2image-v1 (クリックで元のリポジトリへ)
注: DPOの影響はSDXLモデルでより顕著です。このプロジェクトではSDXLバージョンに焦点を当てましたが、より強力な1.5モデルとDPOをマージする可能性も存在します。
それぞれstable-diffusion-xl-base-1.0とstable-diffusion-v1-5を、オフラインのヒトの選好データpickapic_v2を用いてファインチューニングしました。
DPOの魅力とは?
Direct Preference Optimization(DPO)は、広く用いられているRLHF(ヒトのフィードバックからの強化学習)とは異なり、ヒトの比較データを直接最適化することでモデルをファインチューニングすることを提案しています。
視覚的魅力とプロンプトの整合性を大幅に改善すると主張しており、主観性を念頭に置けば、概ねこの主張に賛同する意見が多いです。
dataautogpt3/Proteus-RunDiffusion
既存のフレームワーク内で画像生成を改善する方法を調査していた際、RunDiffusionのチームはCLIPの再学習における新しいアプローチを発見しました。このアプローチにより、モデルのキャラクター認識、自然言語処理、そして特に芸術的表現の多様性を解放・拡大できたと主張しています。
Proteusの魅力とは?
彼らのモデルカードからの抜粋:
Proteus-RunDiffusionを使い始める際は、これまでに使った他のAIアートモデルとは異なる挙動をすることに備えてください。このモデルは独自の方法で設計されており、プロンプトやコマンドに独自のスタイルで応答します。この違いがこのモデルの特別さの一部ですが、同時に学習曲線も存在します。どのように動作し、何が可能かを理解するには時間がかかります。そのため、始めのうちはオープンマインドで、アプローチを調整する準備をしてください。
この文章は、マージが混乱を招くか、少なくとも興味深い結果を生む可能性があることを示唆していました——私たちがすでに慣れ親しんできた繊細な違いからの歓迎すべき変化です。
マージ
この2つのモデルに出会ったのは数日違いでした。それぞれが独自の方法で私の興味を引きました。マージ手法の探求の真っ只中にいた私は、自然とこれら2つのアイデアをマージした場合の結果がどうなるか気になり、結果には喜ばされました(比較画像は投稿の最後にあります)。
残念ながら、全プロセスを記録する考えがなく、モデルを共有することを決定したとき、最終候補の情報だけを保持していました。
課題:
私が目指すものに近いマージを見つけることが最大の課題でした。ほとんどのマージ試行は、極端に異なるか、不正確な画像を生成するか、ベースモデルとほとんど変化がありませんでした。
2つのモデルの焦点がこれほど大きく異なり、ほぼ対立するもののように見えた点が、かえって私の味方となりました。唯一の真の課題は、それぞれの側面で必要な条件をすべて満たすアルファベースとブロック重み戦略を見つけることです。
私のアプローチ:
Proteusをベースとして、そのCLIPとVAEを維持することに決めました。まず、オリジナルのProteus UNETモデルを、そのオリジナルのCLIPモデル、トークナイザー、VAEを含めて、transformersベースのモデルに変換しました。同じくDPOモデルも同様に変換しました。その後、16のブロック重みマージ戦略(このセクションの最後にリスト)を網羅的に試し、プロンプトを実行して結果を元のモデル出力と比較しました。各戦略についてベースα = 0.4、0.5、0.6のマージを試し、0.4が最も好ましいベース重みと判断しました。
芸術の主観性を念頭に置き、以下の観点のみに基づいて各出力画像の評価をできるだけ客観的にしようとしました:
プロンプトの正確性
- 元のプロンプトがどれだけ忠実に守られたか?
- 芸術的自由がどれだけ取られたか?
- その自由がプロンプトからどれだけ逸脱したか?
ベースモデル(Proteus)出力との類似性
- Proteusをベースにしたため、理論的には広範な創造性に構造を加えることを目指しました。
- したがって、最終成果物における芸術性と正確性のバランスが重要でした。
ほとんどのマージ結果は、ベース画像からあまりにも逸脱していたため、私の目標に基づいて除外されました。あるいは、元のモデルとの類似性が私にとって不十分でした。評価基準を可能な限り客観的に保ったつもりですが、主観的な測定・判断は避けられません——ベース画像からの許容可能な逸脱距離もそのひとつです。
最終的に、類似した結果を出力する2つのモデルが残りました。しかし、創造性と正確性のスケール上でわずかに目立つ出力の違いがありました——「ReverseSmoothstep」と「TrueReverseCubicHermite」のマージバリエーションです。両方とも私の目標を達成しており、どちらかが芸術的な魅力を加え、もう一方が驚異的な正確性を示していたため、どちらを優先するか決められませんでした。まるで1つのコインの両面のようでした。差異は非常に小さく、最終判断は画像ごとの個人の好みによって変わるでしょう。
そこで、両方を共有することに決めました。
使用したマージ戦略: GradV, GradA, Flat_25, Wrap2, Mid2_50, Out07, Ring08Soft, Ring08_5, Smoothstep, ReverseSmoothstep, Cosine, ReverseCosine, TrueCubicHermite, TrueReverseCubicHermite, FakeCubicHermite, FakeReverseCubicHermite
テストパラメータと結果の解釈
前述したように、モデルを共有する前に、私はほぼ「適当に」プロセスを進めました。以下は、各バリエーション間の比較画像です。両モデルはベースモデルから十分に逸脱しつつ、プロンプトの制約内に収まっています。
「ReverseSmoothstep」バリエーションは、要求された内容に近いまま、やや多くの芸術的表現を追加しているように見え、芸術的バリエーションと可能性の幅で優位性を持ち、プロンプトの大部分の条件を満たしています。
「TrueReverseCubicHermite」バリエーションは「ReverseSmoothstep」と非常に近い挙動を示しますが、プロンプトにさらに固執する形で詳細を追加しているように見えます。
私のバリエーションに対する見解:
プロンプトエンジニアとして経験豊富で、あるいは画像に何を求めるかを明確にわかっている場合は、Proteus-RunDiffusion-DPO_TrueReverseCubicHermiteをお試しください。マージのテストとその後の検証を通じて、私はいくつかのユニークな解釈——興味深いものから素晴らしいものまで——を明らかにしました。
プロンプトの解釈をより柔軟にしたい、またはAIに詳細やスタイルの選択をより多く任せてもらいたい場合は、Proteus-RunDiffusion-DPO_ReverseSmoothstepも同様の条件を満たします。比較的安定かつ一貫性がありますが、純粋に芸術的な判断をより多く行うため、小さなエラーや不整合のリスクが高くなります。しかし同時に、このモデルは私のプロンプトに対する個人的な期待値を満たす出力にしばしば至りました。
テストの基盤を決定する前に、複数のサンプラー/スケジューラ/CFG/ステップの組み合わせを試しました。これはまた主観的な選択であり、他のパラメータがより異なる、おそらくさらに良い結果を生む可能性があります。しかし、私の目標をテストするには十分でした:
テストはComfyUIで実行しました。モデルのCLIPとVAEを使用し、Loraは一切使用せず、前処理・後処理も行いませんでした。DataPulseはCLIPスキップを-2と推奨していますが、マージバリエーションのテスト中はCLIPスキップ層を一切変更していませんでした。唯一の調整は、CLIPスケーリングを4に設定して画像の最終品質と明瞭性を向上させたことです。ワークフローは可能な限りシンプルにし、単一のKSamplerノードでのベースサンプリングのみを実行しました。エラーまたは小さな問題は、一貫性を保つためにそのまま残しました。
ワークフローはHuggingFaceリポジトリで入手できます。比較画像はすべてオリジナルの変更されていない出力であり、ワークフローが埋め込まれています。すべて同じで、唯一の変数は使用したモデルと各テストのプロンプトテキストです。ワークフローを読み込む予定の場合は、Use Everywhere (UE Nodes) を使用して流れを整理しました(CLIP重みとシードの分配)、OneButtonPrompt's プリセットノードを用いていくつかのランダムベースプロンプトを生成しました。そのため、これらをインストールするか、それらを回避するための必要な修正を行う必要があります。
ユニバーサルサンプリングパラメータ:
解像度: 1344x768
ステップ: 45
CFG: 4
サンプラー: dpmpp_3m_sde_gpu
スケジューラ: exponential
Denoise: 1
CLIPスケーリング: 4
ネガティブプロンプト: text, watermark, logo, blurry, out of focus
これらのパラメータは、私の好みに合った結果をもたらしましたが、比較のためでもあります。ランダムな変動を抑えるためにやや控えめな傾向にあるため、これらのモデルを自分で試す場合は、これらのパラメータの境界を広げて実験することをお勧めします。CFGを1.5に設定し、Dynamic Thresholding拡張機能(Stable DiffusionとComfyUIの両方で利用可能)を使用してCFG効果を大幅に強化したところ、良い結果を得られました。
拡張機能に慣れていない場合は、単独でも驚異的な結果を生む可能性があります。以下は比較的安定した結果を得るための安全な設定例です:
* CFGを非常に低い値に設定します。私は通常1.5を用いますが、1は特にこのような高CFGレベルで混沌を招きやすいためです。
* 「mimic scale」を30、「threshold percentile」を0.9に設定します(CFGを18〜26の範囲に下げると、0.95がうまく機能します)。
* 両方のmimicモードを「Half Cosine Up」、両方のスケール最小値を4、スケジューラ値を4に設定します。
その他の入力と処理ステップは通常通り使用できます。一部のLoraは極限を扱えず、混乱した画像や純粋な黒/青/灰色の出力になることがありました。このような場合は、mimicレベルを下げる前にLoraを削除することを検討してください。
最初と4番目の比較について、以前の記述と関連して、2つの簡潔な(主観的)コメントをします。残りは個々の解釈に任せます(それが本来のあり方です)。
1. ロボットの鶏 は、「TrueReverseCubicHermite」バリエーションを好む例です。両モデルはベースモデルが選んだ半分現実的な鶏から逸脱しましたが、「TrueReverseCubicHermite」は頭部にわずかに鶏であることを示唆する細部を追加しました。どちらも私の好みには鶏が少なすぎ、背景もシンプルです。このケースではベースモデルの方が両バリエーションより好ましいと感じます。テスト外では、このバランスをより正確に見つけるためにパラメータを調整するでしょうが、バリエーション間の繊細な違いを十分に示しています。
4. 日本の桜は、「ReverseSmoothStep」の方が「TrueReverseCubicHermite」よりも好ましい結果となった例です。日本の建築様式を模した家を加えたのは、私にとって歓迎すべき追加であり、物語に深みをもたらし、「TrueReverseCubicHermite」バリアントが提示文に忠実すぎるために無機質になりがちなプロンプトに生命を吹き込みました。これは、提示文の枠を超えることなく、やや多めの芸術的自由度が画像に貢献する良い例です。
1. ロボットチキン - Seed 40212733440049
プロンプト:
sci-fi, art by Iris van Herpen, digital art, Rule of Thirds, robotic (Chicken:1.1) , the Chicken is wearing a Iron and Velvet Jacquard cybernetics that was designed by Apple computers, It is Hyperdetailed, Avant-garde, futuristic, 3D printing, science fiction, fashionable
切り抜き比較:
フル画像:
ProteusBase
ReverseSmoothStep
TrueReverseCubicHermite

2. サイバーパンク・サイボーグ女性 - Seed 754467864831453
プロンプト:
cyberpunk, concept art, cyborg Female Troll, background is night city, neon-lit, vogue pose, her hair is Silver, futuristic, womanly, D&D, neon hue, shadowrun
画像:
ProteusBase
ReverseSmoothStep
TrueReverseCubicHermite

3. ファッション写真 - Seed 321237786
プロンプト:
Fashion photography of a supermodel, laughing, she is wearing a fashion outfit, her fashion outfit is Smart, It has Anthemion patterns on it, Tattoos, Fomapan 400, Depth of field 270mm, photorealism
画像:
ProteusBase
ReverseSmoothStep
TrueReverseCubicHermite

4. 日本の桜 - Seed 123 (誤字ではありません)
プロンプト:
(nature art by Yuko Tatsushima:1.0) , wabi-sabi (Cherry blossom tree:1.1) , trees, deep focus, Japanese watercolor painting, traditional motives
画像:
ProteusBase
ReverseSmoothStep
TrueReverseCubicHermite

最後に
このプロセスの背後にある数学や科学への知識の不足と、私の不耐心が、おそらくいくつかの点で最適でない、あるいは誤った選択を導いてきたでしょう。
それでも、私が見つけたマージ結果には満足しており、これまで得られたいくつかの結果には驚きを隠せません。
結局のところ、ベースモデル(そしてその延長線上にあるマージモデル)は、すでに確立された枠組みの限界を探索し、可能性を広げることにあります。
もしこれがあなたが探求したい分野だと感じるのであれば、これらのモデル(および個々のベースモデル)が、あなたにとって価値あるものとなることを願っています。
この投稿を最後まで読んでくれたあなたに、敬意を表します! 私自身、おそらく読み切っていなかったでしょう。このようなことが、私のような一般の人々にも可能になるよう、オープンソースの世界で尽力しているすべての人に心から感謝します。
クレジット:
Alexander Izquierdo および RunDiffusion のチームの方々。Proteusの開発に費やした時間、労力、投資に感謝します。
Meihua Dang および彼と共同で作業した人々。DPOをStable Diffusionモデルにアンファズする作業に尽力し、このようなマージを容易にしてくれました。
開発、トレーニング、教育に多大な時間を費やしているオープンソースコミュニティのすべての素晴らしい方々。
もし、お財布に余ったお金が穴を開けているようであれば、これらのプロジェクトがあなたにとって価値あるものであれば、そのお金で「ありがとう」と伝えてください。
私はコーヒーを飲まないので、これらのモデルやこの投稿があなたに喜びをもたらしたなら、あなたの作品を共有していただければ、それだけで十分に感謝の気持ちを表せます。
平和を。




