ComfyUI Krea2T Enhancer 가 Krea 2 에 어텐션 가중 구문 제어 추가
capitan01R 의 Krea2T Enhancer 는 Krea 2 의 DiT 어텐션에서 개별 프롬프트 구문을 직접 강화하거나 억제할 수 있는 새로운 Attention-Weighted Phrases 노드를 추가합니다.
(phrase:weight) 표시를 하고 노드가 Krea 2 의 이미지 토큰이 정확히 해당 단어들에 얼마나 강하게 어텐션하는지 조정합니다.
Krea 2 에서 기존 프롬프트 가중치가 작동하지 않는 이유
Krea 2 는 일반적인 단일 레이어 CLIP 임베딩을 사용하지 않습니다. 텍스트 인코더는 12 개 선택된 Qwen 숨김 상태 탭을 제공하여 토큰당 12 x 2560 표현을 생성하며, 이는 텍스트와 이미지 토큰이 공유 DiT 블록에 들어가기 전에 내부 텍스트 융합 경로를 통과합니다. 표준 강조 트릭은 이 파이프라인에 깔끔하게 매핑되지 않습니다: 조건화 행을 곱하는 것은 나중에 정규화로 중화될 수 있으며, 토큰 반복은 시퀀스 길이를 변경합니다.
새로운 노드는 원본 프롬프트 시퀀스를 그대로 유지합니다. 깨끗한 텍스트를 정상적으로 인코딩하고, 각 가중 구문에 해당하는 Qwen 토큰 행을 찾아 공유 DiT 블록 내부의 선택된 이미지에서 텍스트로 가는 어텐션 로짓에 log(w)를 추가합니다. 소프트맥스 이후, 이는 어떤 조건화 행도 복사, 삭제, 평균 내기 또는 다시 스케일링하지 않고 구문의 어텐션 확률을 w만큼 곱합니다.
새로운 인코더 노드로 Krea 2 에서 구문 수준 어텐션 제어
가중치의 동작 방식
| 가중치 | 효과 |
|---|---|
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 업데이트에는 기존 Enhancer 노드도 포함됩니다: ComfyUI-Krea2T-Enhancer, Krea2T Enhancer Advanced (post-txtmlp text_scale 제어 포함), 그리고 공식 Turbo 8 단계 스케줄을 위한 Krea2 Turbo Reference Sigmas (From Latent).
댓글
GitHub로 로그인하고 토론에 참여하세요.