Улучшитель Krea2T добавляет взвешенные фразы внимания для Krea 2
Улучшитель Krea2T от capitan01R добавляет новую ноду Фразы с весами внимания, позволяющую усиливать или подавлять отдельные фразы промпта непосредственно в внимании DiT Krea 2.
(phrase:weight), и нода регулирует, насколько сильно токены изображения Krea 2 обращают внимание именно на эти слова.
Почему обычное взвешивание промптов не работает в Krea 2
Krea 2 не использует стандартное однослойное встраивание CLIP. Его текстовый энкодер предоставляет двенадцать выбранных скрытых состояний Qwen, создавая представление 12 x 2560 на токен, которое затем проходит через внутренний путь слияния текста перед тем, как текстовые и изображенные токены войдут в общие блоки DiT. Стандартные приемы акцентирования не отображаются чисто в этом конвейере: умножение строк conditioning может быть нейтрализовано последующей нормализацией, а повторение токенов меняет длину последовательности.
Новая нода сохраняет исходную последовательность промпта нетронутой. Она кодирует чистый текст обычно, находит строки токенов Qwen, принадлежащие каждой взвешенной фразе, и добавляет log(w) к выбранным логитам внимания изображение-к-тексту внутри общих блоков DiT. После softmax это умножает шансы внимания фразы на w без копирования, удаления, усреднения или перескалирования любых строк conditioning.
Управление вниманием на уровне фраз в 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)Аннотация удаляется перед токенизацией, а пересекающиеся взвешенные секции отклоняются. Нода также проверяет макет модели: она работает только с text-only Krea 2 conditioning с макетом 12 x 2560 и громко завершается при несоответствующих энкодерах или неподдерживаемых архитектурах вместо применения неопределенного отображения.
Пример вывода, сгенерированный с использованием взвешенных фраз conditioning
Вывод для проверки и отладки
Вывод STRING записывает чистый текст, каждую взвешенную фразу, ее числовой вес и точные строки токенов Qwen, ID токенов и декодированные части выбрано. Подключите его к ПРЕДПРОСМОТРУ текста, когда нужно проверить, на что фактически попал вес. Это не обязательно для выборки.
Рабочие процессы
Репозиторий содержит пример рабочего процесса для новой ноды энкодера:
Установить
Клонировать репозиторий в ComfyUI/custom_nodes и Перезапустить:
cd ComfyUI/custom_nodes
git clone https://github.com/capitan01R/ComfyUI-Krea2T-Enhancer.gitНикакие дополнительные пакеты Python не требуются помимо рабочей установки Krea 2. Нода находится между вашими загрузчиками LoRA и sampler: подключите финальную цепь модели и Krea2 CLIP к ней, отправьте ее вывод MODEL в sampler, а вывод CONDITIONING в положительный путь. Обновление v1.3 также включает существующие узлы улучшителя: ComfyUI-Krea2T-Enhancer, Krea2T Enhancer Advanced (с управлением text_scale ПОСЛЕ txtmlp) и Krea2 Turbo Reference Sigmas (From Latent) для официального расписания Turbo на 8 шагов.
Комментарии
Войдите через GitHub, чтобы участвовать в обсуждении.