Tensor Banana


Гео и язык канала: Россия, Русский
Категория: Технологии


Нейросети и всё такое. https://youtube.com/@tensorbanana
Чат по нейронкам: https://t.me/+zFDiHuL1iVA1YWMy
Чат с ботами: https://t.me/+m2TQ5VJLhIRiY2U6
Написать админу и донаты: @talkllamabot

Связанные каналы  |  Похожие каналы

Гео и язык канала
Россия, Русский
Категория
Технологии
Статистика
Фильтр публикаций


Strata и ninfer - 2 быстрых движка для LLM

Взамен медленной llama.cpp появилось множество быстрых инференс-движков. Расскажу про два, которыми пользуюсь каждый день.

Оба работают под Windows, оба уже скомпилированы.

Железо:
3090 24GB + 64GB DDR4 + SSD, Win11, CUDA 13.

## Strata
- Для Qwen3.8 Flash Next 125B+51B и его файнтюнов, другие модели не поддерживает. Главная фишка - MoE-кэш (самые частые эксперты хранятся в GPU, остальные в RAM или на SSD).
- Нужна особая версия gguf моделек, обычные гуфы не поддерживает. Модельки скачает сама, либо можно взять ссылки из setup.py и самому положить модели в папку Strata-data\models\.
- Железо: NVIDIA 3000 серии и новее (2000-я, вроде, тоже работает, но могут быть нюансы). На 3060 тоже должно запуститься. У меня в 3090 точно влезает 128k контекста с картинками, возможно больше — ещё не тестил.
- Strata поддерживает всего 3 модельки с HF: Qwen3.8 Flash Next, Flash Next Swift 1.5 и OrcaRouter IQ3_XXS.
- Также есть встроенная аблитерация на лету (автор называет её speed projection) для любой модельки.
- Strata обновляется каждый день, недавно завезли поддержку нескольких карт.


## ninfer
- Для Qwen3.8-27B и Qwen3.6-35B и их файнтюнов. Другие не поддерживает. Нужна особая ninfer версия моделек, гуфы не поддерживает.
- Железо: поддерживает только некоторые избранные карты — 3090, 4090, 5060ti, 5090. Для каждой карты надо искать свой форк. Возможно, для других карт тоже появятся билды. У меня влезает до 218k контекста без картинок или 134k с картинками. Скорость падает, но не сильно.


## Скорость на 3090 + 64GB DDR4:

Strata,
Qwen3.8 Flash Next MTP q2_0 (69 GB):
PP ~400 t/s,
TG 45–66 t/s.

ninfer,
Qwen3.8 27B q4 MTP (17 GB):
PP 800 t/s,
TG 50–85 t/s.

Стоковая llama.cpp с MTP:
Qwen 27B — 35 t/s,
Qwen Flash Next 125B — 15 t/s.

## opencode
Также рекомендую попробовать работу с агентами. Есть куча харнессов для этого (UI для общения с агентами). Я юзаю opencode, он есть под Windows, и внутри есть несколько бесплатных облачных моделей. Например, для модели Big Pickle дают 200 бесплатных запросов в день. И есть ещё несколько не очень популярных моделей типа Mimo 2.6 Flash Free. Они работают даже без VPN. Но я гоняю агентов в связке с локальными Qwen 27B (чаще) и Qwen Flash Next (реже). Для гуглинга заюзал Serper API — там дают 2000 бесплатных запросов разово на аккаунт.

Рекомендую попробовать Strata — возможность запускать 125B модельку на обычной видюхе это супер. Надеюсь, кто-нибудь сделает похожий форк для DeepSeek Flash 284B.

Ссылки:

Strata: https://github.com/Niko1221/Strata

ninfer:

https://github.com/Don-Chad/ninfer-3090

https://github.com/sergiuszm/ninfer-4090

https://github.com/ruwwww/ninfer-5060ti

https://github.com/Neroued/ninfer (для 5090)

Агентский харнесс:
https://opencode.ai/


Собрал свой стак дополнительных быстрых нод для Minimax

- Fast VAE Decode (40s, ускорено почти в 2 раза)
- RIFE TensorRT интерполяция кадров (10s, ускорено в 24 раза)
- SaveVideoFast сохранение видео (9s, ускорено в 5 раз)

1 mpx 10s 4 шага с новым промптом на 3090:
Время сэмплирования со спектрумом + sol - 05:17, 79.48s/it
Полное время исполнения воркфлоу - 07:10.


## Fast VAE Decode
- декодирует кадры после сэмплирования
- ускорение идет за счет пакетной обработки тайлов VAE. На 3090 - оптимально 4 тайла в батче, на других видюхах, наверное, меньше.
- входит в состав нод MiniMax-H3-MotionCache
- исходные ноды я почти не менял, только исправил баг с неверным контрастом
- также в этих нодах есть MotionCache (кэш трансформера), но он не дружит со Spectrum, поэтому я его особо не тестил (может он и быстрее).
https://github.com/Mozer/ComfyUI-MiniMax-H3-MotionCache-FastVAE


## RIFE TensorRT Auto
- делает удвоение частоты кадров
- ускорение идет за счет оптимизированной обработки на Nvidia GPU. При первом запуске компилирует модельку минут за 5.
- эти ноды я не менял, работают как есть.
- эти ноды конфликуют с нодами Nvidia_RTX_Nodes_ComfyUI (их нужно удалить или пропатчить вручную)
- TensorRT ставится автоматом, но если в комфи до этого была установлена другая версия TensorRT, могут быть конфликты (старую версию нужно удалить вручную)
- В нодах нужно убрать галку поставленную по-умолчанию "use_cuda_graph" (у меня она крашит комфи).
https://github.com/silveroxides/ComfyUI_RIFE_TensorRT_Auto


## SaveVideoFast
- сохраняет mp4 видео
- Батчем перегоняет все кадры с gpu->cpu в ffmpeg, батчем кодирует видео на видюхе кодеком mp4_nvenc.
- сохраняет и отображает видео в комфи
- Также поддерживает кодирование на CPU, но будет чуть медленнее.
- VHS combine и дефолтные ноды Save Video гоняют кадры по одному, поэтому медленно.
- ноды написали дипсик и гемини, могут быть ошибки, если что, пишите.
https://github.com/Mozer/ComfyUI-SaveVideoFast


мой fl2va ВФ с этими нодами:
https://github.com/Mozer/comfy_stuff/blob/main/workflows/minimax_h3_fl2v_4steps_faster.json


Видео недоступно для предпросмотра
Смотреть в Telegram
Minimax H3 - ускоряем генерацию

Кратко:
int8 + lightx2v лора + Spectrum + sage-attention + Sol-Attn + EasyCache

Железо:
- 3090-24GB
- 64 GB DDR4
- Потребление vram около 40 гигов, ram около 50 гигов.

Пишут, что Minimax можно юзать и на 3060-12GB + 32 RAM. Это так, но разрешение будет низким (480p), максимальная длина короткая (5s) и генерация уйдет в в файл подкачки. И я не уверен, что у вас режим редактирования видео r2v запустится вовсе, он жрет еще больше vram\ram. У меня на 3090 при r2v влазит максимум 5s 768p(1mpx), дальше OOM. В обычном режиме (t2v и fl2v) влазит 15-20s 1mpx. На своей 3060 я минимакс пока не запускал, мне лень.

Скорость на 3090:
fl2v, 5s 1mpx,
4 шага - 01:46, 26.59s/it, полное время - 5.7 мин

R2V (редактирование видео) 5s 1 mpx,
4 шага - 12:39, 189.87s/it, полное время - 15 минут
20 шагов - 33:47, 101.36s/it, полное время - 38 минут


Новая 4 шаговая лора от lightx2v:
https://huggingface.co/Kijai/MiniMax-H3_comfy/blob/main/loras/minimax_h3_fl2v_lightx2v_turbo_4step_v0.1_comfy.safetensors

предыдущая turbo лора на 4 шага от larryvrh мне не понравилась, в своих тестах я не заметил существенной разницы на 4-х шагах между лорой и ее отсутствием.


int8 pruned
int8 pruned модель (21 GB) на 13 гигов меньше полноразмерной int8 без потери качества. GGUF модели я не тестил, Q4_K_M весит 19.9 GB, видимо, она не pruned. MiniMax-H3-Pruned-GGUF еще не выложили на HF, но обещают.
https://huggingface.co/Comfy-Org/MiniMax-H3/tree/main/diffusion_models

int8 video vae
чуть меньше vram, чуть быстрее чем fp16 vae на этапе vae encode\decode. Нужно обновить комфи. Почти без потерь качества.
https://huggingface.co/Kijai/MiniMax-H3-experimental/blob/main/minimax_h3_video_vae_int8_convrot.safetensors

Spectrum
дает до 45% прироста скорости без ухудшения качества. Ноды обновились 7 июля, там еще больше ускорение стало, надо обновить комфи. Устанавливать через git clone.
https://github.com/xmarre/ComfyUI-Spectrum-MiniMax-H3

sage-attention
дает небольшой прирост 5-10% и чуть меньше vram. Нужен triton
https://www.reddit.com/r/comfyui/comments/1n8v3zy/detailed_stepbystep_full_comfyui_with_sage/

Sol-Attn
дает небольшое ускорение на 5-10%, почти без потери качества. Нужен triton
https://github.com/kijai/ComfyUI-SolAttn_triton


EasyCache (нода встроена в комфи)
я еще не тестил. На 4-х шагах, она не работает. Она дает ускорение, но ухудшает качество. Надо поискать оптимальные настройки, чтобы был баланс.


Для плавности кадров юзаю ноду RIFE VFI, она увеличает фреймрейт с 24 до 48 fps. Занимает 3-5 минут.
https://github.com/Fannovel16/ComfyUI-Frame-Interpolation


Для режима image2video, если хочется максимальной похожести, надо использовать первый и последний кадр (fl2va).

NSFW лоры уже начинают выходить, но те, что я видел, пригодны только для режимов i2v и t2v. Для режима r2v они пока не подходят. Ссылки давать не буду, я их еще не тестил по назначению, найдете сами на civitai red: NaughtyTimes, hmmotion.

2 официальных промпт гайда для разных режимов для скармливания LLM:
https://huggingface.co/MiniMaxAI/MiniMax-H3/tree/main/docs

у меня также есть нода Mozer/ComfyUI-OpenAI для атоматического описания картинки через llama.cpp server для создания промпта, но я ее пока решил не юзать. За частую, промпт после LLM приходится перепроверять вручную. Но зато с ней можно автоматизировать пакетную конвертацию папки картинок в видео.

Мои воркфлоу:
fl2va (танец по первому и последнему кадру):
https://github.com/Mozer/comfy_stuff/blob/main/workflows/minimax_h3_fl2v_4steps.json

r2v (редактирование видео, замена одежды):
https://github.com/Mozer/comfy_stuff/blob/main/workflows/minimax_h3_r2v_4steps_clothing_change.json


Ideogram 4 img2img редактирование через inpaint по SAM2 маске и частичным denoise

- можно точно сохранить лицо при редактировании
- изменить только указанный объект, например лицо, фон или текст на бумажке благодаря маскам
- не надо самому выделять маски, маска задается через простой промпт типа "face,hair" или "background"
- запрос на описание картинки и составление json промпта уходит через любой API, например llama.cpp server или openai\mistral\openrouter
- я для составления json промпта юзаю gemma4-31 которая висит на второй видюхе (2080ti-22GB), можно также юзать qwen.
- clip у меня висит на третьей видюхе (3060), для скорости, но это не обязательно
- скорость выполнения запроса вместе с составлением json промпта - 2 минуты на стэке из трех карт (3090+2080ti+3060). Можно все организовать на одой карте, но тогда промпт будет писать какая-то онлайн LLM по апи. Юзеры писали, что в теории, одной 3060 должно хватить
- без частичного denoise (0.90) результаты были хуже, с ним модель знает в каком месте находится тело персонажа.
- img2img работает с помощью описания исходной картинки в json. Описание делается с помощью моей ноды OpenAI.CaptionImage. На момент написания я не видел похожих нод с поддержкой llama.cpp server, поэтому написал свою.
- не все генерации выходят идеальными, надо точно подбирать нужный denoise. чтобы и исходная картинка не слишком сильно вылазила.
- сильно менять позу персонажа не получится, но легкие движения рук - ног возможны. Изменение стиля всей картинки не получится, маска не даст изменить некоторые области. но можно совсем убрать маску и работать только с img2img (без sam2 и без inpaint), воркфлоу тут же.


мой воркфлоу img2img inpaint+sam2+denoise:
https://github.com/Mozer/comfy_stuff/blob/main/workflows/ideogram4_img2img_sam_with_denoise.json

мой воркфлоу img2img+denoise (без масок sam2):
https://github.com/Mozer/comfy_stuff/blob/main/workflows/ideogram4_img2img_without_sam2.json

int8 nodes
https://github.com/BobJohnson24/ComfyUI-INT8-Fast

int8 models
https://huggingface.co/bertbobson/Ideogram-4-INT8-ConvRot/tree/main

kj prompt builder
https://github.com/kijai/ComfyUI-KJNodes

sam2
https://github.com/neverbiasu/ComfyUI-SAM2

clip to another cuda
https://gist.github.com/city96/30743dfdfe129b331b5676a79c3a8a39

моя нода OpenAI.CaptionImage для llama.cpp server
https://github.com/Mozer/ComfyUI-OpenAI

1.7k 3 135 26 106

Видео недоступно для предпросмотра
Смотреть в Telegram
ComfyUI-PixelDriftFix

Написал комфи ноду для устранения pixel drift (смещения и небольшого кропа отредактированной после img2img картинки)
Работает для любых AI моделей редактирования (klein, qwen-edit, flux2-dev, ...)

Решает проблему сдвига, растягивания и обрезки пикселей после редактирования относительно оригинальной картинки. Нода автоматически выравнивает финальное изображение по исходнику, возвращая ему идеальную геометрию.

Есть 2 режима, основной flat_4_points и экспериментальный mesh, но он еще не доведен до ума.
* Режим flat_4_points: базовый, быстрый, работает по 4-м точкам (всего ~4 секунды на обработку).
* Режим mesh: экспериментальный, на основе сотек и тысяч точек. (работает медленно и пока что неточно, не рекомендую).
* Реставрация: отлично подходит для восстановления старых фотографий с последующим блендом с оригиналом

Нюансы:

* Выходной размер картинки автоматически подгоняется под оригинал.
* Исходное и измененное изображения должны быть похожи (минимум 10 общих точек).
* По краям кадра может появляться небольшая полоса дублированных пикселей, которых просто не было в отредактированной картинке из-за кропа.

Как установить:
ComfyUI Manager - install via git url.

Воркфлоу в папке workflows
+ там уже лежит связка klein-9b + pixel_drift_fix + blend_with_original для реставрации старых\смазанных\шакальных фото


https://github.com/Mozer/ComfyUI-PixelDriftFix


Видео недоступно для предпросмотра
Смотреть в Telegram
Talk-llama-fast 2 - перезапуск на питоне

Я начал переносить свой проект говорящего аватара с C++ на питон.

Сборка на видео:
- Whisper.cpp streaming, large-q4
- llama.cpp server
- gemma4-31b-q4
- omnivoice TTS + omnivoice-server
- основное приложение на питоне.
- wav2lip липсинк (пока нету).

- Всё это влазит на одну 3090.
- Текущая задержка от голоса до голоса - 4 секунды, возможно, удастся сократить до 3-х. На 5000 серии будет быстрее.
- ГУЙ пока не планируется, ставка на голосовое общение, но ввод с клавиатуры тоже есть.
- Можно поставить любую ЛЛМ, хоть локальную, хоть Claude Opus.

Всё будет в опенсорсе, как и раньше. Выкладывать буду модулями.

Сегодня выкладываю модуль whisper.cpp-streaming. До этого я быстро пробежался по конкурентам типа whisperX, faster whisper и t-one ASR. У всех есть свои плюсы, но я решил пока остаться на проверенном ранее решении. Меня оно устраивает по скорости и жрёт менее 1 гига VRAM. Чистая задержка без VAD - 300мс, вместе с vad - 700мс на коротких фразах.

Код и exe для whisper-streaming CUDA. Для других платформ - сами скомпилируете.
https://github.com/Mozer/whisper.cpp-streaming/releases/tag/0.0.1

Уже пару недель играюсь с голосовым ассистентом на gemma4-31b-q5, у нее очень классный русский язык, знает современный сленг. Цепляю беспроводные наушники, хожу по квартире, занимаюсь своими делами и болтаю о чем угодно. Качество распознавания меня устраивает.

Следующим модулем выложу свою чуть модифицированную версию omnivoice. У меня на 3090 задержка - 1с. Юзеры в чате с 5000 серией говорят, что у них задержка до 0.5с


Видео недоступно для предпросмотра
Смотреть в Telegram
Создаем персонализированный контент: фанфики, аудиокниги, визуальные новеллы

Это же видео на яндекс диске: https://disk.yandex.ru/i/BKndy2R19qDEMw

Пример на видео - не готовый результат, готовым его сделает нужная вам персонализация (замена персонажей, локаций, привычек, фетишей, голосов и изображений). Читать/смотреть чужие фанфики обычно неинтересно, они слишком плоские и неинтересные. А вот персональный контент это другое дело, за ним будущее.

Я себе уже штук 10 адаптаций сделал: по ситкомам, аниме, книгам. 20-40 глав идеально, потом надоедает. До видео стадии дошло пока 2 тайтла, слишком много действий. По фильмам/книгам с серьезным сюжетом пока не рекомендую делать: будет много несостыковок в сюжете, это будет бесить. Ситкомы и аниме - идеально. Или манга, но тут тоже сложно с консистентностью. Важная фишка которая цепляет - добавление ваших фетишей.

ТЕКСТ:
На вход: субтитры, краткое содержание сюжета
Персонализация: замена персонажей (имен, описаний, привычек, пола)
Добавление нужных фетишей в сюжет
На выход: полноценная глава лайт новеллы или фанфика
LLM: qwen3.5-27b, qwen3.5-35b, GLM-4.7-Flash-abliterated, gemma3-27b

АУДИОКНИГА:
оригинальные голоса + ваши голоса
TTS: silero-tts-v5, qwen3-tts, vibevoice(не рекомендую)
qwen3 TTS API сервер: https://github.com/andimarafioti/faster-qwen3-tts

ВИЗУАЛЬНАЯ НОВЕЛЛА:
На вход: Фоны, основные персонажи
klein-9b-kv-fp8 в режиме редактирования с одной картинкой на вход


Проблемы LLM:
1. LLM не умеют писать длинные главы. Они натренированы на коротких ответах на 1-2 тысячи токенов, что маловато для полноценной главы романа. Если больше - входят в циклы, бредят. Решение - делить главы на части. Потом клеить и просить убрать несостыковки.
2. На русских текстах LLM пишут хуже чем на английском - более шаблонно, чаще входят в лупы. Решение - писать на английском (даже если исходный сериал русский), использовать перевод. Для перевода - gemma3-27b или translategemma-27b.
3. LLM не могут выполнять несколько задач одновременно, например, собрать json с несколькими полями построчно по длинному тексту. Внимание падает, делают ошибки. Решение - делить текст на куски, делить задачу на подзадачи.
4. Расцензуренные LLM хуже выполняют задачи на обработку текста, например, создание промптов для text2image или создание json. А оригинальные LLM иногда могут отказаться от такой задачи, если на вход подается текст с 18+ темами. Решение - жонглировать LLM под задачи.
5. Режим размышлений (reasoning) очень плохо работает с длинными текстами (50-100 строк). Большая вероятность, что LLM войдет в луп. И большая вероятность, что текст на выходе будет в несколько раз короче, чем текст на входе, LLM его сократит, даже если просить не сокращать. Решение - отключаю ризониниг для большинства задач.
6. Режим преобразования манги в художественный текст я пока не победил, есть проблемы с консистентностью сюжета между страницами.


Проблемы TTS:
1. silero-v5 xenia нравится за скорость, но есть проблемы с ударениями. Готового решения с омографами пока нет, все решения косячат. Только топовые LLM типа gemini-3-pro могут правильно расставить все ударения.
2. qwen3-tts не очень стабилен при клонировании голосов - иногда голоса совсем не похожи на оригинал, иногда норм. Пока смирился. У faster-qwen3 скорость примерно в 3 раза выше реалтайма - лайк.
3. vibevoice слишком много галлюцинирует, посторонние звуки мешают. отказался от него


Проблемы klein:
1. Похожесть: если подавать фон и персонажей отдельными картинками похожесть будет очень низкая, лица очень сильно меняет. Решение: подавать одну картинку с программно приклеенными поверх персонажами, так похожеть намного лучше, но они хуже интегрированы в фон. Ищите компромисс, что важнее - похожесть или действия внутри картинки
2. Лишние руки: чем больше персонажей в кадре, тем больше будет рук. Решение: ограничить число персонажей в кадре до 2-3-х + использовать сэмплер res_2s, он делает чуть меньше косяков, но работает в 2 раза дольше.


Этапы создания не влезли, выложу в комментах и на гитхабе.

https://github.com/Mozer/personalized_fan_fiction


# screen2edit

Навайбкодил скрипт, который по горячей клавише делает скриншот любого активного окна и отправляет в comfy+klein-9b API. Отображает картинку в соседнем окне.

Работает очень быстро - за 7 секунд (чекпоинт klein-9b-int8) на 3090

## Примеры промптов:
1. Улучшение графики в визуальных новеллах или других пошаговых играх: Turn this into a photo, soft dim lighting. Add film grain, bokeh, shallow depth of field, retro photo, soft focus, low contrast. Add blur, motion blur. face swap woman with Emm4w woman, dark brown lose hair.
2. Колоризация манги в браузере: Colorize manga. Woman has light pink jacket with white shirt and with a red ribbon, white high socks and dark brown hair. Man has grey jacket and short black hair
3. Замена персонажа: face swap woman with Emm4w woman, lose brown hair (нужна лора или вторая приложенная картинка с лицом)
4. Замена одежды: now she is wearing bikini
5. Фото в аниме: change style to Ghibli studio style

## Установка screen2edit

Код: https://github.com/Mozer/screen2edit

git clone https://github.com/Mozer/screen2edit
cd screen2edit
pip install -r requirements.txt

внутри screen2edit.py отредактируйте свои пути до комфи
SAVE_PATH = r'C:\DATA\SD\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\ComfyUI\input\screenshot.jpg'
PROMPT_URL = 'http://127.0.0.1:8188/prompt'
HISTORY_URL = 'http://127.0.0.1:8188/history?max_items=64'
VIEW_URL_BASE = 'http://127.0.0.1:8188/view'

CROP_TOP = 50 #REMOVE PX FROM TOP
CROP_BOTTOM = 10 #REMOVE PX FROM BOTTOM
CROP_LEFT = 10 #REMOVE PX FROM LEFT
CROP_RIGHT = 10 #REMOVE PX FROM RIGHT

- импортируйте workflow/workflow.json в комфи (он для fp8). Либо workflow_klein_9b_int8.json
- проверьте работоспособность внутри комфи
- comfy - File - Export (API) - положить туда же workflow/workflow.json

## Запуск screen2edit
- дабл клик по screen2edit.py
- открыть нужное окно с игрой или браузером, нажать Alt+x для того чтобы сделать скрин и отправить его в комфи (Полноэкранный режим со сложными 3D играми на unity или directx я не тестил. хз, будет ли скриншоты делать. С играми в windowed режиме проблем быть не должно)
- окошко с готовой картинкой появится само через какое-то время.


## Ускорение инференса (INT8 модель, опционально)
Для ускорения работы klein-9b рекомендую использовать int8 версию. На 3000 серии она в 2 раза быстрее, чем fp8 и раза в 3-4 быстрее чем gguf. На 4000 серии прирост тоже есть, но не такой большой.

1024x1024, 4 steps, at 3090:
text2image int8 - 3.31 seconds
image2image int8 - 6.41 seconds
image2image fp8 - 12.84 seconds

Прирост достигается за счет использования int8 cuda ядер. Применимо для 3000 серии и новее. На 4000 серии прирост относительно fp8 тоже есть, но не такой большой.

Опционально нужен: triton-windows (будет еще чуть быстрее, но и без него буст. У меня нода model compile не завелась, возможно, нужен torch/cuda посвежее. У меня torch2.6.0+cu126)
Нужен comfy-kitchen:
C:\DATA\SD\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\python_embeded>python.exe -m pip install comfy-kitchen

Установка ноды через manager - install via git url
https://github.com/BobJohnson24/ComfyUI-Flux2-INT8

int8 модель (положить в diffusion_models): https://huggingface.co/bertbobson/FLUX.2-klein-9B-INT8-Comfy/blob/main/flux-2-klein-schnell-9b-INT8V2.safetensors

Для загрузки лор нужна нода 'Load Diffusion Model INT8 (W8A8)', она есть внутри. С некоторыми лорами могут быть проблемы. С моими лорами из onetrainer проблем нет.


## Примечания:
- если мелкий текст плохо читается - уберите лоры, увеличьте кроп скриншота сверху и по бокам. Увеличение разрешения выходной картинки помогает, но не всегда. Оптимально 1.1 - 1.2 Mpx.
- моя лора на некую Эмму: https://huggingface.co/tensorbanana/Emm4w_lora_klein_9b


Треним лоры для Klein-9b в режиме редактирования

Klein-9b в режиме редактирования мне нравится больше, чем qwen-edit за счет большего реализма и меньшей деградации картинки после каждой генерации.

Тренить будем в OneTrainer. В другом софте тоже можно, но полноценную поддержку в некоторые трейнеры еще не везде завезли.

Установка OneTrainer
поддержки klein еще нет в master ветке, поэтому так:
git clone https://github.com/Nerogar/OneTrainer/
cd OneTrainer
git fetch origin pull/1261/head:pr-1261
git switch pr-1261
install.bat



Будем тренить поэтапно в разных разрешениях. 768 - основной этап, 1280 финальный этап. 768 - это довольно мало для двух склеенных картинок, потому нужен второй этап.

Датасет:
Собираем картинки до/после и переименовываем их по шаблону: 1_0.jpg, 1_1.jpg, 2_0.jpg, 2_1.jpg. где _0 - картинка "до", _1 - картинка "после". Расширение файла - любое. Соотношение сторон до-после должно быть одинаковым. Разрешение может быть разным, скрипт их заресайзит, если они разные.
Мой датасет для лоры pov_hand - 30 пар картинок. Картинки частично настоящие, а частично - синтетика (фото с рукой настоящее, фото без руки - генерация в klein).

Для того чтобы был именно режим редактирования картинок (image2image, а не text2image), нужно как-то приложить исходные картинки. В OneTrainer это делается через тренировку с масками (Masked training). Нужно склеить исходную и конечную картинки в одну и приложить дополнительно png файл с маской.

Мой питон скрипт для склейки, создания маски и создания текстовых файлов с описанием: https://github.com/Mozer/comfy_stuff/blob/main/oneTrainer_configs/concat_and_masks_and_prompts.py
Положить файл в папку с вашими переименованными картинками, изменить текстовый промпт внутри и запустить. После этого отредактируйте текстовые описания.

Настройки OneTrainer
- ключевое отличие от обычной тренировки - включить режим тренировки с масками на вкладке тренировка. Остальные настройки довольно стандартные.
- для тренировки нужна именно базовая модель, дистиллят не подойдет. Чтобы скачать всю папку с HF выполните команду:
mkdir FLUX.2-klein-base-9B
cd FLUX.2-klein-base-9B
huggingface-cli download black-forest-labs/FLUX.2-klein-base-9B --local-dir .


Скорость
Тренить будем в новом формате данных int8 (transformer data type int W8A8), он почти в 2 раза быстрее, чем fp8.
На 3090, int8, batch size 1:
768 - 13.0 GB, 2.52 s/it
1280 - 16.0 GB, 9.18 s/it


На 3060 не тестил, но должно влезть, хотя бы в формате nf4. Int8 будет быстрее, чем nf4, но тогда надо пробовать в меньшем разрешении, например в 720 или 512.

Первые результаты можно заметить уже после 1500-2000 шагов, но придется увеличивать силу лоры в комфи. Я обычно тренирую 5000-6000 в разрешении 768, затем ещё 1000-2000 в разрешении 1280. Итого по времени выходит часов 6-8 на лору.

Лору на персонажа/похожесть ещё не пробовал, но собираюсь.

Моя POV hand лора для Klein-9b в режиме редактирования: https://civitai.com/models/2347738
Примеры генерации, слегка nsfw: https://t.me/+UzijD4bV1M8wODEy


Видео недоступно для предпросмотра
Смотреть в Telegram
LTX2 + sillyTavern = TTS+video

LTX2 умеет работать в режиме TTS и даже клонировать голос.

- мужские голоса клонирует лучше (снова скину Жириновского в комменты, его голос +- похож). Тут на видео голос Эммы похож лишь отдаленно, но зато он одинаковый в каждой генерации.
- умеет не только делать TTS, но и цепляет эмоции и простые действия, типа такого: "нахмурилась, скрестила руки и села на кровать".
- Так как у нас тут роулплей - для нас важна скорость, а не качество видео. Я получаю 70-130 секунд на генерацию. Для максимальной скорости, будем генерировать в 360x360, одним сэмплером без апскейла. Если вам нужно качество - активируйте апскейлер, 2 сэмплера и поднимите разрешение, но будет в несколько раз дольше.
- в мою 3090 влазит 28 секунд видео 360x360. Если длиннее - OOM. Если у вас нет столько VRAM - начните с 5 секунд.
- воркфлоу автоматически высчитывает длину видео на основе длины входного текста. Используйте параметр "text symbols per second" для регулирования расчетной длины.
- для себя я утащил text encoder (gemma-fp4) на вторую карту, это позволяет сэкономить 5-25 секунд в зависимости от скорости RAM и шины PCE
- русский неидеальный, на уровне Xttsv2. В целом, терпимо.
- в видео примере используется LLM mistal-large по бесплатному апи от mistral. Рекомендую.
- на вход нужно именно видео 2-3 секунды вместе с аудио и готовым липсинком. Если подать картинку + аудио, то генерации речи по тексту не выйдет. Если у вас нет готового видео с аудио, сгенерируйте его прямо в LTX2 в другом воркфлоу.
- воркфлоу неидеальный, наверняка, есть косяки.

Требования
32 RAM (лучше 64+)
12 GB VRAM (лучше 24)

скорость на 3090:
16 секунд видео - генерируются за 79 секунд
на 3060 в теории должно заработать, но вам придется ограничить максимальную длину видео 5-10 секундами.

Инструкция:

В комфи:
- обновить comfyui
- проверяем, что мой ВФ работает внутри комфи.
- Сохраняем воркфлоу как АПИ в комфи: верхнее меню - File - Export (API). Нужно именно API. - имя video_ltx2_tts_emma_api.json

в SillyTavern:
- обновить SillyTavern (поддержка генерации видео появилась примерно летом).
- Меню Extensions - Image generation - source: ComfyUI. Адрес: http://127.0.0.1:8188 - жмем connect. там же нажимаем плюсик для создания нового воркфлоу - называем ltx_emma.
- Теперь надо передать речь из SillyTavern в промпт в комфи.
- откройте video_ltx2_tts_emma_api.json в каком-нибудь блокноте. Ищем в тексте экспортированного ВФ параметр "char speech from sillyTavern" и заменяем над ним текст "string": "Приветик. Как делишки у вас там...", на вот такое: "string": "%prompt%",
- Вставляем отредактированный ВФ в поле редактирования ВФ в sillyTavern. Сохранить.
- После того как comfyu подключен к Sillytavern, возле каждого сообщения появится иконка "Кисть" - она запускает генерацию картинок и видео. Если иконка не появилась, обновите страницу и попробуйте заново нажать connect в меню extensions. Иногда тупит.


Воркфлоу как картинка: https://github.com/Mozer/comfy_stuff/blob/main/workflows/ltx2_tts_emma-for-st.png
Список нод со ссылками внутри воркфлоу.



Показано 11 последних публикаций.