Tensor Banana
2.64K subscribers
523 photos
124 videos
111 links
Нейросети и всё такое. https://youtube.com/@tensorbanana
Чат по нейронкам: https://t.iss.one/+zFDiHuL1iVA1YWMy
Чат с ботами: https://t.iss.one/+m2TQ5VJLhIRiY2U6
Написать админу и донаты: @talkllamabot
Download Telegram
Добавил 3-х новых персонажей в @talkllama

- арни (Terminator), расскажет про 2125 год.
- дженна (Wednesday), даст пару вредных советов.
- рон (Ron Swanson), расскажет как ему пофиг.

Работают на:
- deepseek-v3-685b (от openrouter, платно).
- llama-405b (от sambanova, бесплатно).

@talkllama
1👍24🔥73👏1😁1
Ускоряем Hunyuan video fast еще в 2 раза на винде

Есть оригинальный Hunyuan-video-13B, он работает за 20-30 шагов (20-30 минут на видео), а есть дистиллированный Hunyuan fast, который работает за 6-10 шагов. 6 шагов мне не нравятся, 10 выглядят намного лучше (10 минут на генерацию 1 видео в 720p, 2 секунды, 48 кадров).

Недавно вышел waveSpeed, который ускоряет flux, LTX и hunyuan в 1.5-2 раза в comfy на видюхах 3000 серии и новее с помощью двух технологий: first-block-cache и torch-model-compile+. На моей 3090 прирост скорости относительно Hunyuan fast - в 2 раза, до 4.6 минуты на 1 видео. Поддерживается воркфлоу от comfyanonymous. Воркфлоу от kijai пока не поддерживается.

Hunyuan из коробки умеет nsfw. Верх довольно неплохой, низ слегка зацензурен, но лучше, чем в дефолтном flux. Но умельцы уже наделели 100+ лор для Hunyuan на civitai для разных nsfw поз, движений, персонажей и стилей (в https://civitai.com/models ставим 2 фильтра: LoRA + Hunyuan video).

fast model, fp8: 
48 frames, 48s/it, 10 min, 19 GB vram, 39 GB RAM

fast model, sage-attention, first-block-cache:
48 frames, 25s/it, 5.6 min, 20 GB vram, 38 GB RAM

sage-attention, first-block-cache, compile+:
25 frames, 10s/it, 2.1 min, 18 GB vram, 29 GB RAM
48 frames, 22s/it, 4.7 min, 20 GB vram, 38 GB RAM
61 frames, 34s/it, 6.7 min
65 frames - OOM


Но compile+ ускоряет генерацию не всегда. Иногда torch compile занимает дополнительные 47 секунд. Перекомпилируется модель периодически, 1 раз в 2-3 генерации. Хз как побороть, скорее всего, vram мало, возможно, надо сделать меньше разрешение или количество кадров.

Предположу, что для работы Hunyuan хватит 32 GB RAM. У меня просто еще xtts+wav2lip в памяти висят. Если у вас в самом конце comfy вылетает без ошибок - снизьте разрешение или кол-во кадров.
Видел отзывы, что Hunyuan работает на 12 GB vram. Пока не тестил.


УСТАНОВКА

Нужен тритон и видюха 3000 серии или новее. 2000 серия nvidia не поддерживается. cuda toolkit 12.4+.
1. обновляем comfy через update_comfyui.bat

2. как установить тритон и sage-attention в комфи на винду:
https://www.reddit.com/r/StableDiffusion/comments/1h7hunp/how_to_run_hunyuanvideo_on_a_single_24gb_vram_card/
Первый шаг в этой инструкции пропускаем (установка нод kijai/ComfyUI-HunyuanVideoWrapper можно пропустить, мы будем использовать официальные ноды встроенные в комфи. Были отзывы, что в нодах от kijai пока не поддерживаются лоры при работе с first-block-cache). Выполняем пункты 2-4, включаем переводчик, если надо. Последние пункты 5-8 со скачиванием моделей не выполняем, мы скачаем другие, они меньше и быстрее.

3. Качаем clip_l.safetensors and llava_llama3_fp8_scaled и hunyuan_video_vae_bf16.safetensors: https://comfyanonymous.github.io/ComfyUI_examples/hunyuan_video/
Качаем hunyuan fast: https://huggingface.co/Kijai/HunyuanVideo_comfy/blob/main/hunyuan_video_FastVideo_720_fp8_e4m3fn.safetensors и кладем в diffusion_models

4. в run_nvidia_gpu.bat для запуска comfy надо добавить флаг --use-sage-attention вот так:
.\python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build --use-sage-attention

5. Устанавливаем custom node через comfyui manager -> install via GIT URL:
https://github.com/chengzeyi/Comfy-WaveSpeed

6. Hunyuan воркфлоу: https://github.com/Mozer/comfy_stuff/blob/main/workflows/hunyuan_fast_wave_speed_with_lora.json
Flux воркфлоу: https://github.com/Mozer/comfy_stuff/blob/main/workflows/flux_wave_speed.json

Советы:
- 1280x720, 720x1280, 544x960, 960x544 - рекомендуемые разрешения. В остальных могут быть артефакты.
- при малом количестве кадров анимация может работать хуже и с артефактами, рекомендую 25 и 49 кадров (1 и 2 сек)
- img2video пока нет, но разрабы обещают. Есть video2video и IPadapter2video от kijai.


- FLUX dev (bonus) -
1024x1024 20 steps

FLUX - 1.26s/it, 26 s.
FBC - 1.21it/s, 17 s.
FBC + compile+ - 1.20it/s, 17 s.

Прирост скорости во флаксе + waveSpeed составил 35%.

Во флаксе compile+ не работает на 3000 серии с flux-fp8, но работает с bf16, из-за этого прироста скорости не заметно. В hunyuan compile+ работает и дает прирост.
1🔥36👍171🐳1
Hunyuan video2video и image2video

Эти воркфлоу используют HunyuanLoom (flowEdit) - эта штука преобразует входное видео в размытый движущийся поток (почти как controlnet). Обычный denoise тут не нужен, с ним картинка будет кипеть.
Для сохранения черт лица нужна лора на лицо. Без нее лицо будет другое. Куча лор на персонажей есть на civitai.


## video2video
Это самый простой воркфлоу, получается лучше всех. Использует HunyuanLoom (flowEdit). Для создания видео с Кеану использовал: skip_steps: 11, drift_steps: 15. Лора: 0.95 довольно хорошо передает его лицо под любым углом.
лору на Кеану: https://civitai.com/models/1131159/john-wick-hunyuan-video-lora
Воркфлоу video2video: https://github.com/Mozer/comfy_stuff/blob/main/workflows/hunyuan_video2video.json


## image+video 2 video
воркфлоу чуть посложнее: берет видео с движением (например, танец) и клеит его поверх статичной картинки. В результате хуньюань подхватывает движения.
видео с исходным танцем: https://civitai.com/images/50838820
лора на танцы: https://civitai.com/models/1110311/sexy-dance
Воркфлоу image+video2video: https://github.com/Mozer/comfy_stuff/blob/main/workflows/hunyuan_imageVideo2video.json


## image2video
самый сложный воркфлоу. Использует:
- HunyuanLoom (flowEdit)
- SAM2 comfyUI (можно и без него, но тогда маску, того что должно двигаться, придется рисовать пальцем)
- Видео белого шума: https://github.com/Mozer/comfy_stuff/blob/main/input/noise_8s.mp4
- Детальное описание вашей картинки.
- Воркфлоу image2video: https://github.com/Mozer/comfy_stuff/blob/main/workflows/hunyuan_img2video_sam_flow_noise.json

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

Сгенерировать детальное описание вашей картинки на английском можно тут:
https://huggingface.co/spaces/huggingface-projects/llama-3.2-vision-11B
Describe this image with all the details. Type (photo, illustration, anime, etc.), character's name, describe it's clothes and colors, pose, lighting, background, facial features and expressions. Don't use lists, just plain text description.



Установка
устанавливаем кастомные ноды в комфи, читаем их описание по установке:
https://github.com/kijai/ComfyUI-HunyuanLoom
https://github.com/neverbiasu/ComfyUI-SAM2 (опционально)


Замечания:
- 2 секунды видео на 3090 генерируются за 2 минуты (на 3060 - 7 минут).
- Главные параметры flowEdit: skip_steps (кол-во шагов из исходного видео или картинки, 1-4) и drift_steps (количество шагов генерации по промпту, 10-19).
- Конечное значение steps = skip_steps + drift_steps. Обычно выходит 17-22 для hanyuan fast модели. 10 шагов точно не хватит. Для обычной не fast модели будет больше (не тестил). Чем больше skip_steps тем более похожей на исходную картинку (или исходное видео) будет результат. Но тем меньше движения можно задать промптом. Если результат сильно размыт - проверяйте значение steps, оно должно быть равно сумме.
- Лучше всего получаются видео длиной 2 секунды (49 кадров). 73 кадра сложнее контролировать. Рекомендуемое разрешение 544x960.
- Есть два поля для промптов: Source prompt (описание вашей картинки) и Destination prompt (описание вашей картинки + движения в кадре).

Звук для вашего видео можно сгенерировать в MMAudio тут: https://huggingface.co/spaces/hkchengrex/MMAudio
9👍556😐3👏1
Yue-7b - генерируем песни на русском локально

Языки: английский, китайский, японский, корейский, русский (с акцентом).
генерация:
- по жанру + тексту песни
- по референсному аудио + жанру + тексту песни (почти кавер, позволяет задать нужное направление)
- в fp16 весит 12.5 GB. в формате nf4 занимает всего 6.5 GB vram!
- на русском лучше генерирует мужской голос. В женских - сильный акцент.

## Установка под Windows (без wsl)

Нужны
- питон 3.9 (3.8 не подойдет для flash-attention)
- torch 2.5.1 (flash-attention скомпилирован лишь для нескольких версий торча)
- cuda toolkit 12.4+

conda create -n yue python=3.9
conda activate yue
pip install torch==2.5.1 torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124

качаем файл flash_attn-2.7.1.post1+cu124torch2.5.1cxx11abiFALSE-cp39-cp39-win_amd64.whl
отсюда https://github.com/bdashore3/flash-attention/releases в папку, куда у вас идет установка
pip install flash_attn-2.7.1.post1+cu124torch2.5.1cxx11abiFALSE-cp39-cp39-win_amd64.whl

git lfs install
git clone https://github.com/multimodal-art-projection/YuE
cd YuE
pip install -r requirements.txt

cd inference/
git clone https://huggingface.co/m-a-p/xcodec_mini_infer


## Фиксим поддержку русского языка в UTF8
строку 120: with open(args.genre_txt) as f:
меняем на: with open(args.genre_txt, encoding="utf-8") as f:

строку 122: with open(args.lyrics_txt) as f:
меняем на: with open(args.lyrics_txt, encoding="utf-8") as f:


## Генерация
в папке inference создаем 2 файла genre.txt и lyrics.txt
в genre пишем: vocal punk rock electric guitar male vocal
Проверяем что кодировка в файлах UTF8
в lyrics пишем: 3-4 коротких сегмента: 2 куплета + 1 припев. При 2-х сегментах, у меня почему-то не запускался инференс. Пример:

Пластмассовый мир победил
...

[chorus]
Ооо - моя оборона
...

[verse]
...


Генерацию по промпту:
python infer.py --stage1_model m-a-p/YuE-s1-7B-anneal-en-cot --stage2_model m-a-p/YuE-s2-1B-general --genre_txt genre.txt --lyrics_txt lyrics.txt --run_n_segments 2 --stage2_batch_size 4 --output_dir ./output --cuda_idx 0 --max_new_tokens 1000

Генерация по промпту + референсному аудио:
python infer.py --stage1_model m-a-p/YuE-s1-7B-anneal-en-icl --stage2_model m-a-p/YuE-s2-1B-general --genre_txt genre.txt --lyrics_txt lyrics.txt --run_n_segments 2 --stage2_batch_size 4 --output_dir ./output --cuda_idx 0 --audio_prompt_path Egor_Letov_-_Moya_oborona.mp3 --max_new_tokens 1000


--run_n_segments - количество сегментов (куплетов + припевов)
--max_new_tokens - время песни в каждом сегменте. Длина песни если сегмента 2: 1000x2 = 20s, 3000 = 60s. Чем больше время, тем больше надо vram.

## Скорость и vram на 3090:
20s аудио - 12.5 GB (15 минут)
60s аудио - 15.6 GB (32 минуты)

## 8-12 GB VRAM и 3000 серия и nf4
Если у вас всего 8-12 GB попробуйте запустить модель в кванте nf4 (load_in_4bit=True). Особого падения качества пока не заметил. 10 секунд аудио будут занимать всего 6.6 GB VRAM. Запускать в gguf пока не имеет смысла, они будут автоматом конвертироваться в bf16, надо ждать нормальную реализацию гуфов для модели. На 2080 пока не запускается, flash attention похоже не поддерживается. Без него тоже можно, но будет медленнее и надо больше vram.

Для nf4 нужно установить:
pip install accelerate bitsandbytes
в infer.py измените строки 76-82 на:
model = AutoModelForCausalLM.from_pretrained(
stage1_model,
load_in_4bit=True,
torch_dtype=torch.bfloat16,
attn_implementation="flash_attention_2",
)

Скорость на 3060: 10s = 11 минут.

примеры на английском: https://map-yue.github.io/
потестить (русского нет):
- (квоты хватит на 10+10 секунд песни, не ставьте длину больше 10 секунд - упадет по ошибке): https://huggingface.co/spaces/innova-ai/YuE-music-generator-demo
- (15 секунд, ждать очереди больше часа): https://huggingface.co/spaces/fffiloni/YuE
9🔥32👍15🤣31