tgoop.com/tensorbanana/1236
Last Update:
vibevoice-7b-exl3 с реалтайм скоростью
Оригинал работает так: 2 прохода LLM (позитив+негатив) + диффузия на основе этих проходов.
## Оптимизация
- заменил LLM движок HF-transformers на exllamav3 (LLM стала быстрее в 3 раза)
- заменил 2 прохода LLM на один, но с кэшем для негативного прохода
- уменьшил число шагов до 5 (чуть меньше вариативности)
- прикрутил разделение входного текста на абзацы (т.к. на длинном тексте начинает глючить)
- диффузию не трогал, думаю прикрутить TeaCache
- добавил стриминг с буфером 1s. Воспроизведение теперь начинается почти мгновенно
## Требования:
- nvidia 3000+ (2000 серия не подойдет для exllamav3, но ноду можно запустить и без exllamav3)
- от 8 GB vram (лучше 12)
- flash-attention-2 (без него exllamav3 не работает)
- моя exllamav3
- модель должна полностью входить в vram, частичной выгрузки нет
## Потребление vram
- 7b-exl-8bit + no-llm-bf16 - 12.6GB
- 7b-exl-4bit + no-llm-bf16 - 9.5GB (реалтайм на 3090, 9.00 it/s)
- 7b-exl-4bit + no-llm-nf4 - 7.3GB (nf4 в 1.5 раза медленнее)
- 1.5b-exl-8bit + no-llm-nf4 - 4.7GB
- exl3 кванты по скорости +- одинаковые. Но 4bit у меня чуть-чуть быстрее.
- nvidia 3060 всего на 20% процентов медленее чем 3090.
## Установка
Винда: flash-attention-2 + exllamav3 + мои ноды
Linux: только ноды
Под виндой компилировать трудно, поэтому вот ссылки на скомпилированные whl.
flash-attention-2 whl: https://huggingface.co/lldacing/flash-attention-windows-wheel/tree/main
моя exllamav3 whl: https://github.com/Mozer/exllamav3/releases/tag/v0.0.6
Узнать вашу версию питона, торча и куды можно в comfyui - меню - Help - about
Ниже я все ставлю на свой python 3.11, torch 2.6.0, cuda126. Для других версий, ищите сами по ссылкам выше (или компилируйте). Для flash-attention важно совпадение версии питона, торча и cuda. Для exllama главное, чтобы версия питона совпадала, на остальное - пофиг.
cd C:\DATA\SD\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\python_embeded
python.exe -m pip install https://huggingface.co/lldacing/flash-attention-windows-wheel/resolve/main/flash_attn-2.7.4%2Bcu126torch2.6.0cxx11abiFALSE-cp311-cp311-win_amd64.whl
# exllamav3-v0.0.6 выбираем whl под свою версию питона (главное чтобы версия питона совпадала, на остальное пофиг):
# удаляем старую exllamav3, если она у вас есть:
python.exe -m pip uninstall exllamav3
# ставим мою exllamav3 (тут ссылка на 3.11 версию питона):
python.exe -m pip install https://github.com/Mozer/exllamav3/releases/download/v0.0.6/exllamav3-0.0.6+cu128.torch2.7.0-cp311-cp311-win_amd64.whl
python.exe -m pip install -U "triton-windows<3.5
После этого ставим мои ноды через comfyui manager - install via git url:
https://github.com/mozer/comfyUI-vibevoice-exl3
Либо через: cd ComfyUI/custom_nodes && git clone https://github.com/mozer/comfyUI-vibevoice-exl3
Перезапустить комфи.
## Воркфлоу
Воркфлоу с wav2lip (опционально): https://github.com/Mozer/ComfyUI-VibeVoice-exl3/blob/main/examples/vibevoice_exl3_with_wav2lip.json
Модельки качать вручную не надо. Но если сильно хочется, то они тут: https://huggingface.co/collections/tensorbanana/vibevoice-68cd1bac5766dc65e90380c1
Если вручную - изучите структуру папок: /models/vibevoice/models--tensorbanana--vibevoice-1.5b-exl3-8bit/snapshots/badfbb16dd63a1a8e633ba6eb138a21303ed1325/model.safetensors
- Грузить в ноду надо сразу 2 модельки, пример: VibeVoice-7B-no-llm-bf16 (3.2GB) + vibevoice-7b-exl3-4bit (4.4 GB).
- Если шум в аудио на выходе - снизьте значение negative_llm_steps_to_cache до 1-2 или совсем до 0 (как в оригинале, но будет медленнее). Чем длинее кусок - тем больше вероятность шума.
- Используйте split_by_newline:True для разбиения текста на куски по абзацам. Разбивать на куски по предложениям я не советую, интонация будет разная в каждом предложении.
BY Tensor Banana
Share with your friend now:
tgoop.com/tensorbanana/1236