Krea2T Enhancer が Krea 2 にアテンション重み付きフレーズ制御を追加
capitan01R の Krea2T Enhancer は、Krea 2 の DiT アテンション内で個々のプロンプトフレーズの強化または抑制を可能にする新しいアテンション重み付きフレーズノードを追加しました。
(phrase:weight) で重要なフレーズにマークすると、ノードが Krea 2 の画像トークンがまさにその単語にどの程度強くアテンションするかを調整します。
Krea 2 で従来のプロンプト重み付けが機能しない理由
Krea 2 は従来の単一層 CLIP エンベディングを受け取りません。そのテキストエンコーダーは 12 個の選択済みの Qwen hidden-state タップを提供し、トークンごとに 12 x 2560 の表現を生成し、その後テキストと画像トークンが共有 DiT ブロックに入る前に内部テキスト融合パスを通ります。スタンダードな強調テクニックはこのパイプラインにきれいにマッピングされません:条件付け行の乗算は後での正規化によって相殺される可能性があり、トークンの繰り返しはシーケンス長を変更します。
新しいノードは、オリジナルのプロンプトシーケンスをそのまま維持します。クリーンテキストを通常通りエンコードし、各重み付きフレーズに属する Qwen トークン行を検索し、共有 DiT ブロック内の選択された画像からテキストへのアテンションロジットに log(w) を追加します。Softmax の後、これは任意の条件付け行をコピー、削除、平均化、または再スケーリングすることなく、フレーズの_attention_オッズを w 倍にします。
新しいエンコーダーノードによる Krea 2 でのフレーズレベルのアテンション制御
重み付けの動作方法
| Weight | Effect |
|---|---|
1.0 | 正確なニュートラル、変化なし |
1.0 以上 | フレーズへのアテンション優先度アップ |
0.0 から 1.0 | アテンション優先度低下 |
0.0 | フレーズの最も強い抑制 |
重みは相対的なオッズ乗数であり、サイズや可視性の保証ではありません。作者は、固定シード上でフレーズを一度に一つずつ調整してから重みを組み合わせる前に、1.5 または 2.0 から始めることを推奨しています。実用的な例は以下のようになります:
A scene containing a (primary subject:2.0) beside a (secondary object:0.6)注釈はトークン化の前に除去され、重複した重み付けセクションは拒否されます。ノードはまたモデルレイアウトを検証します:12 x 2560 レイアウトを持つテキスト専用 Krea 2 条件付けでのみ実行され、不一致のエンコーダーやサポートされていないアーキテクチャに対して不確実なマッピングを適用する代わりに、明確に失敗します。
重み付きフレーズ条件付けで生成された例出力
確認出力とデバッグ性
STRING 出力には、クリーンテキスト、すべての重み付きフレーズ、数値重み、および選択された正確な Qwen トークン行、トークン ID、デコードされたピースが記録されます。重みが実際にどこに着地したかを確認する必要がある場合は、テキストプレビューに接続してください。サンプリングには必須ではありません。
ワークフロー
リポジトリには、新しいエンコーダーノードの例ワークフローが含まれています:
インストール
リポジトリを ComfyUI/custom_nodes にクローンして再起動します:
cd ComfyUI/custom_nodes
git clone https://github.com/capitan01R/ComfyUI-Krea2T-Enhancer.git動作する Krea 2 セットアップ以外に、追加の Python パッケージは必要ありません。ノードは LoRA ローダーとサンプラーの間に位置します:最終モデルチェーンと Krea2 CLIP をそれに接続し、MODEL 出力をサンプラーに送り、CONDITIONING 出力を正のパスに送ります。v1.3 更新には既存のエンハンサーノードも含まれています:ComfyUI-Krea2T-Enhancer、Krea2T Enhancer Advanced(post-txtmlp text_scale コントロール付き)、および公式 Turbo 8 ステップスケジュール用の Krea2 Turbo Reference Sigmas (From Latent)。
コメント
GitHubでサインインしてディスカッションに参加しましょう。