Refresh

This website www.unite.ai/uk/how-to-train-and-use-hunyuan-video-lora-models/ is currently offline. Cloudflare's Always Online™ shows a snapshot of this web page from the Internet Archive's Wayback Machine. To check for the live version, click Refresh.

Зв'язатися з нами

Штучний Інтелект

Як тренувати та використовувати моделі Hunyuan Video LoRA

mm

опублікований

 on

ChatGPT-4o: варіація на тему «Створіть мені зображення 1792 x 1024». Воно має бути в стилі Теодора Жеріко та зображувати темну середньовічну фігуру, яка сидить перед ноутбуком, освітленим екраном. Ми дивимося обличчям до фігури, і бачимо лише задню частину кришки ноутбука. Навколо середньовічної фігури, що сидить, багато інших середньовічних чоловіків і жінок, яким цікаво, що відбувається на екрані комп’ютера.

Ця стаття покаже вам, як інсталювати та використовувати програмне забезпечення на базі Windows, яке може навчатися Hunyuan відео моделі LoRA, дозволяючи користувачеві генерувати користувацькі персоналії в моделі фундаменту Hunyuan Video:

Натисніть, щоб відтворити. Приклади нещодавнього вибуху знаменитостей Hunyuan LoRA від спільноти civit.ai.

На даний момент два найпопулярніші способи локального створення моделей Hunyuan LoRA:

1) diffusion-pipe-ui фреймворк на основі Docker, на який спирається Підсистема Windows для Linux (WSL) для обробки деяких процесів.

2) Тюнер Musubi, нове доповнення до популярних Kohya ss дифузійна навчальна архітектура. Musubi Tuner не потребує Docker і не залежить від WSL або інших проксі-серверів на базі Linux, але його може бути важко запустити в Windows.

Тому цей огляд буде зосереджений на Musubi Tuner і на наданні повністю локального рішення для навчання та генерації Hunyuan LoRA без використання веб-сайтів, керованих API, або комерційних процесів оренди GPU, таких як Runpod.

Натисніть, щоб відтворити. Зразки з навчання LoRA на Musubi Tuner для цієї статті. Усі дозволи, надані зображеною особою з метою ілюстрації цієї статті.

ВИМОГИ

Для встановлення потрібен щонайменше ПК з Windows 10 із картою NVIDIA серії 30+/40+ із принаймні 12 ГБ відеопам’яті (хоча рекомендовано 16 ГБ). Встановлення, використане для цієї статті, було протестовано на машині з 64 ГБ система Оперативна пам’ять і графічні карти NVIDIA 3090 із 24 ГБ відеопам’яті. Він був протестований на спеціальному тестовому стенді з використанням нової інсталяції Windows 10 Professional на розділі з 600+ ГБ вільного дискового простору.

УВАГА

Встановлення Musubi Tuner і його передумов також передбачає встановлення орієнтованого на розробника програмного забезпечення та пакетів безпосередньо в основну установку Windows на ПК. Враховуючи встановлення ComfyUI, на кінцевих етапах для цього проекту буде потрібно близько 400-500 гігабайт дискового простору. Хоча я кілька разів тестував процедуру без інцидентів у щойно встановлених середовищах Windows 10 для тестування, ні я, ні unite.ai не несемо відповідальності за будь-які пошкодження систем у результаті дотримання цих інструкцій. Я раджу вам створити резервну копію будь-яких важливих даних, перш ніж спробувати цю процедуру встановлення.

Міркування

Чи дійсний цей метод?

Сцена генеративного штучного інтелекту розвивається дуже швидко, і ми можемо очікувати кращих і оптимізованих методів фреймворків Hunyuan Video LoRA цього року.

…або навіть цього тижня! Поки я писав цю статтю, розробник Kohya/Musubi створив musubi-tuner-gui, складний графічний інтерфейс Gradio для Musubi Tuner:

Очевидно, що зручний графічний інтерфейс є кращим, ніж файли BAT, які я використовую в цій функції – коли musubi-tuner-gui запрацює. Поки я пишу, він був онлайн лише п’ять днів тому, і я не можу знайти жодного облікового запису, щоб хтось успішно ним користувався.

Відповідно до дописів у сховищі, новий графічний інтерфейс планується якнайшвидше включити безпосередньо в проект Musubi Tuner, який припинить своє поточне існування як автономне сховище GitHub.

На основі поточних інструкцій зі встановлення новий графічний інтерфейс клонується безпосередньо в існуюче віртуальне середовище Musubi; і, незважаючи на численні зусилля, я не можу зв’язати його з існуючою інсталяцією Musubi. Це означає, що коли він запуститься, він виявить, що у нього немає двигуна!

Щойно графічний інтерфейс буде інтегровано в Musubi Tuner, подібні проблеми обов’язково будуть вирішені. Хоча автор визнає, що новий проект "справді грубий", він оптимістично дивиться на її розвиток та інтеграцію безпосередньо в Musubi Tuner.

Враховуючи ці проблеми (також щодо шляхів за замовчуванням під час встановлення та використання Пакет UV Python, що ускладнює певні процедури в новому випуску), ймовірно, нам доведеться трохи почекати, щоб отримати більш плавний досвід навчання Hunyuan Video LoRA. Тим не менш, це виглядає дуже багатообіцяюче!

Але якщо ви не можете чекати і бажаєте трохи засукати рукави, ви можете запустити локальний відеонавчання Hunyuan LoRA прямо зараз.

Давайте розпочнемо.

Навіщо встановлювати Всі на голому металі?

(Пропустіть цей параграф, якщо ви не досвідчений користувач)
Досвідчені користувачі будуть дивуватися, чому я вирішив інсталювати стільки програмного забезпечення на «голій металевій» системі Windows 10, а не у віртуальному середовищі. Причина в тому, що основний порт Windows на базі Linux Пакет Тритон набагато складніше змусити працювати у віртуальному середовищі. Усі інші інсталяції на голому металі в підручнику неможливо встановити у віртуальному середовищі, оскільки вони мають безпосередньо взаємодіяти з локальним обладнанням.

Встановлення необхідних пакетів і програм

Для програм і пакетів, які потрібно інсталювати спочатку, порядок інсталяції має значення. Давайте почнемо.

1: Завантажте Microsoft Redistributable

Завантажте та встановіть пакет Microsoft Redistributable з https://aka.ms/vs/17/release/vc_redist.x64.exe.

Це простий і швидкий монтаж.

2: інсталюйте Visual Studio 2022

Завантажте випуск спільноти Microsoft Visual Studio 2022 із https://visualstudio.microsoft.com/downloads/?cid=learn-onpage-download-install-visual-studio-page-cta

Запустіть завантажений інсталятор:

Нам не потрібен кожен доступний пакет, встановлення якого буде важким і тривалим. На початковому Робочі навантаження сторінку, що відкривається, поставте галочку Розробка робочого столу за допомогою C++ (див. зображення нижче).

Тепер натисніть на Окремі компоненти у верхньому лівому куті інтерфейсу та скористайтеся полем пошуку, щоб знайти «Windows SDK».

За замовчуванням лише Пакет SDK для Windows 11 позначено галочкою. Якщо ви користуєтеся Windows 10 (ця процедура інсталяції не була перевірена мною на Windows 11), поставте прапорець біля останньої версії Windows 10, зазначеної на зображенні вище.

Знайдіть «C++ CMake» і перевірте це Інструменти C++ CMake для Windows перевіряється

Ця інсталяція займе принаймні 13 ГБ місця.

Після встановлення Visual Studio вона спробує запуститися на вашому комп’ютері. Дайте йому повністю відкритися. Коли нарешті відобразиться повноекранний інтерфейс Visual Studio, закрийте програму.

3: інсталюйте Visual Studio 2019

Деякі наступні пакети для Musubi потребують старішої версії Microsoft Visual Studio, тоді як для інших потрібна новіша версія.

Тому також завантажте безкоштовну версію спільноти Visual Studio 19 або від Microsoft (https://visualstudio.microsoft.com/vs/older-downloads/ – потрібен обліковий запис) або Techspot (https://www.techspot.com/downloads/7241-visual-studio-2019.html).

Встановіть його з тими ж параметрами, що й для Visual Studio 2022 (див. процедуру вище, за винятком того, що Windows SDK уже позначено в інсталяторі Visual Studio 2019).

Ви побачите, що інсталятор Visual Studio 2019 уже знає про нову версію під час встановлення:

Після завершення інсталяції та відкриття та закриття встановленої програми Visual Studio 2019 відкрийте командний рядок Windows (введіть CMD у Почати пошук) і введіть і введіть:

where cl

Результатом має бути відоме розташування двох інстальованих версій Visual Studio.

Якщо ви замість цього отримаєте INFO: Could not find files for the given pattern(s), див Перевірте шлях розділ цієї статті нижче та скористайтеся цими інструкціями, щоб додати відповідні шляхи Visual Studio до середовища Windows.

Збережіть будь-які зміни, внесені відповідно до Перевірте шляхи розділ нижче, а потім знову спробуйте команду where cl.

4: Встановіть CUDA 11 + 12 Toolkits

Для різних пакетів, встановлених у Musubi, потрібні різні версії NVIDIA CUDA, який прискорює та оптимізує навчання на відеокартах NVIDIA.

Причина, чому ми встановили версії Visual Studio перший полягає в тому, що інсталятори NVIDIA CUDA шукають будь-які існуючі інсталяції Visual Studio та інтегруються з ними.

Завантажте інсталяційний пакет CUDA серії 11+ із:

https://developer.nvidia.com/cuda-11-8-0-download-archive?target_os=Windows&target_arch=x86_64&target_version=11&target_type=exe_local (завантажити "exe (локальний") )

Завантажте інсталяційний пакет CUDA Toolkit серії 12+ із:

https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64

Процес інсталяції ідентичний для обох інсталяторів. Ігноруйте будь-які попередження про наявність чи відсутність шляхів інсталяції у змінних середовища Windows – ми збираємося розглянути це вручну пізніше.

Встановіть NVIDIA CUDA Toolkit V11+

Запустіть інсталятор для CUDA Toolkit серії 11+.

At Параметри установкивиберіть Спеціальні (розширені) і продовжуйте.

Зніміть прапорець біля опції NVIDIA GeForce Experience і натисніть МАЙБУТНІ.

Залишати Виберіть Місце встановлення за замовчуванням (це важливо):

Натисніть МАЙБУТНІ і завершіть установку.

Ігноруйте будь-які попередження або примітки, які дає інсталятор Nsight Visual Studio інтеграція, яка не потрібна для нашого випадку використання.

Встановіть NVIDIA CUDA Toolkit V12+

Повторіть весь процес для окремого інсталятора NVIDIA Toolkit 12+, який ви завантажили:

Процес інсталяції для цієї версії ідентичний описаному вище (версія 11+), за винятком одного попередження щодо шляхів середовища, яке ви можете ігнорувати:

Коли інсталяція версії 12+ CUDA завершена, відкрийте командний рядок у Windows і введіть:

nvcc --version

Це має підтвердити інформацію про встановлену версію драйвера:

Щоб перевірити, чи розпізнається ваша картка, введіть і введіть:

nvidia-smi

5: Встановіть GIT

GIT займатиметься встановленням репозиторію Musubi на вашій локальній машині. Завантажте програму встановлення GIT за адресою:

https://git-scm.com/downloads/win ("Налаштування 64-розрядної Git для Windows")

Запустіть інсталятор:

Використовувати налаштування за замовчуванням для Виберіть Компоненти:

Залиште стандартний редактор на Vim:

Нехай GIT вирішить щодо назв гілок:

Використовуйте рекомендовані параметри для Шлях Навколишнє середовище:

Використовуйте рекомендовані налаштування для SSH:

Використовуйте рекомендовані параметри для Транспортний сервер HTTPS:

Використовуйте рекомендовані налаштування для перетворення кінця рядка:

Виберіть консоль Windows за замовчуванням як емулятор терміналу:

Використовувати налаштування за замовчуванням (Перемотування вперед або об’єднання) для Git Pull:

Використовуйте Git-Credential Manager (налаштування за замовчуванням) для Credential Helper:

In Налаштування додаткових параметрів, залишати Увімкнути кешування файлової системи галочкою, і Увімкніть символічні посилання не позначено (якщо ви не досвідчений користувач, який використовує жорсткі посилання для централізованого сховища моделей).

Завершіть інсталяцію та перевірте, чи правильно встановлено Git, відкривши вікно CMD і ввівши:

git --version

Вхід на GitHub

Пізніше, коли ви спробуєте клонувати репозиторії GitHub, вас можуть запитати облікові дані GitHub. Щоб передбачити це, увійдіть у свій обліковий запис GitHub (створіть його, якщо необхідно) у будь-якому браузері, встановленому у вашій системі Windows. Таким чином, метод автентифікації 0Auth (спливаюче вікно) повинен займати якомога менше часу.

Після цього початкового виклику ви повинні залишатися автоматично автентифікованими.

6: Встановіть CMake

CMake 3.21 або новіша потрібна для частини процесу встановлення Musubi. CMake — це кросплатформна архітектура розробки, здатна оркеструвати різноманітні компілятори та компілювати програмне забезпечення з вихідного коду.

Завантажте його за адресою:

https://cmake.org/download/  ("Інсталятор Windows x64")

Запустіть інсталятор:

Забезпечувати Додайте Cmake до змінної середовища PATH перевіряється

Натисніть МАЙБУТНІ.

Введіть і введіть цю команду в командному рядку Windows:

cmake --version

Якщо CMake встановлено успішно, він відобразить щось на зразок:

cmake version 3.31.4
CMake suite maintained and supported by Kitware (kitware.com/cmake).

7: Встановіть Python 3.10

Інтерпретатор Python є центральним у цьому проекті. Завантажте версію 3.10 (найкращий компроміс між різними вимогами пакетів Musubi) за адресою:

https://www.python.org/downloads/release/python-3100/ ("Інсталятор Windows (64-розрядна версія)")

Запустіть інсталятор завантаження та залиште налаштування за замовчуванням:

Наприкінці процесу встановлення натисніть Вимкнути обмеження довжини шляху (потрібне підтвердження адміністратора UAC):

У командному рядку Windows введіть і введіть:

python --version

Це повинно призвести до Python 3.10.0

Перевірте шляхи

Клонування та інсталяція фреймворків Musubi, а також його нормальна робота після інсталяції вимагає, щоб його компоненти знали шлях до кількох важливих зовнішніх компонентів Windows, зокрема CUDA.

Тож нам потрібно відкрити середовище шляху та перевірити, чи є там усі реквізити.

Швидкий спосіб отримати доступ до елементів керування середовищем Windows – це ввести текст Відредагуйте змінні системного середовища у панель пошуку Windows.

Натиснувши цю кнопку, відкриється Властивості системи панель керування. У нижньому правому куті Властивості системи, Натисніть Змінні оточення кнопку, і вікно викликається Змінні оточення відкривається. в Системні змінні панелі в нижній половині цього вікна, прокрутіть униз до Шлях і двічі клацніть його. Відкриється вікно під назвою Редагувати змінні середовища. Перетягніть ширину цього вікна ширше, щоб ви могли бачити повний шлях змінних:

Ось важливі записи:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6\libnvvp
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\libnvvp
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.42.34433\bin\Hostx64\x64
C:\Program Files\Git\cmd
C:\Program Files\CMake\bin

У більшості випадків правильні змінні шляху вже повинні бути присутніми.

Додайте будь-які шляхи, яких бракує, натиснувши Нові ліворуч від Редагувати змінну середовища вікно та вставлення у правильний шлях:

НЕ просто копіюйте та вставляйте зі шляхів, перелічених вище; перевірте, чи існує кожен еквівалентний шлях у вашій інсталяції Windows.

Якщо є незначні варіації шляху (зокрема під час інсталяції Visual Studio), використовуйте шляхи, перелічені вище, щоб знайти правильні цільові папки (тобто, x64 in Ведучий64 у вашій власній установці. Потім наклеїти ті шляхи в Редагувати змінну середовища вікна.

Після цього перезавантажте комп'ютер.

Встановлення Musubi

Оновіть PIP

Використання останньої версії інсталятора PIP може згладити деякі етапи встановлення. У командному рядку Windows з правами адміністратора (див Висота, нижче), введіть і введіть:

pip install --upgrade pip

Висота

Деякі команди можуть вимагати підвищених привілеїв (тобто для запуску від імені адміністратора). Якщо на наступних етапах ви отримуєте повідомлення про помилку щодо дозволів, закрийте вікно командного рядка та знову відкрийте його в режимі адміністратора, ввівши CMD у вікні пошуку Windows, клацнувши правою кнопкою миші Командний рядок і вибір Запуск від імені адміністратора:

На наступних етапах ми будемо використовувати Windows Powershell замість командного рядка Windows. Ви можете знайти це, ввівши Powershell у вікно пошуку Windows і (за потреби) клацніть його правою кнопкою миші, щоб Запуск від імені адміністратора:

Встановіть Torch

У Powershell введіть і введіть:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

Запасіться терпінням, поки встановлюється багато пакетів.

Після завершення ви можете перевірити інсталяцію PyTorch із підтримкою GPU, набравши та ввівши:

python -c "import torch; print(torch.cuda.is_available())"

Це повинно призвести до:

C:\WINDOWS\system32>python -c "import torch;
print(torch.cuda.is_available())"
True

Встановіть Triton для Windows

Далі проводиться установка Triton для Windows компонент. У Powershell з підвищеними правами введіть (в одному рядку):

pip install https://github.com/woct0rdho/triton-windows/releases/download/v3.1.0-windows.post8/triton-3.1.0-cp310-cp310-win_amd64.whl

(Інсталятор triton-3.1.0-cp310-cp310-win_amd64.whl працює як для процесорів Intel, так і для процесорів AMD, якщо архітектура є 64-розрядною, а середовище відповідає версії Python)

Після запуску це повинно призвести до:

Successfully installed triton-3.1.0

Ми можемо перевірити, чи Triton працює, імпортувавши його в Python. Введіть цю команду:

python -c "import triton; print('Triton is working')"

Це має вивести:

Triton is working

Щоб перевірити, чи Triton підтримує GPU, введіть:

python -c "import torch; print(torch.cuda.is_available())"

Це повинно призвести до True:

Створіть віртуальне середовище для Musubi

Відтепер ми встановлюватимемо подальше програмне забезпечення в a Віртуальне середовище Python (Або venv). Це означає, що все, що вам потрібно буде зробити, щоб видалити все наступне програмне забезпечення, це перетягнути папку встановлення venv у кошик.

Давайте створимо папку встановлення: створіть папку під назвою Мусубі на робочому столі. У наведених нижче прикладах передбачається, що ця папка існує: C:\Users\[Your Profile Name]\Desktop\Musubi\.

У Powershell перейдіть до цієї папки, ввівши:

cd C:\Users\[Your Profile Name]\Desktop\Musubi

Ми хочемо, щоб віртуальне середовище мало доступ до того, що ми вже встановили (особливо Triton), тому ми будемо використовувати --system-site-packages прапор. Введіть це:

python -m venv --system-site-packages musubi

Зачекайте, поки буде створено середовище, а потім активуйте його, ввівши:

.\musubi\Scripts\activate

З цього моменту ви можете визначити, що ви перебуваєте в активованому віртуальному середовищі, за тим, що (musubi) з’являється на початку всіх ваших підказок.

Клонуйте репозиторій

Перейдіть до новоствореного мусубі папку (яка знаходиться всередині Мусубі папку на робочому столі):

cd musubi

Тепер, коли ми в правильному місці, введіть таку команду:

git clone https://github.com/kohya-ss/musubi-tuner.git

Дочекайтеся завершення клонування (це не займе багато часу).

Вимоги до встановлення

Перейдіть до папки встановлення:

cd musubi-tuner

Введіть:

pip install -r requirements.txt

Зачекайте, поки завершиться багато інсталяцій (це займе більше часу).

Автоматизація доступу до Hunyuan Video Venv

Щоб легко активувати та отримати доступ до нового venv для майбутніх сеансів, вставте наступне в блокнот і збережіть його під назвою activate.bat, зберігаючи його за допомогою Всі файли варіант (див. зображення нижче).

@echo off

call C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\Scripts\activate

cd C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner

cmd

(Замінити [Your Profile Name]зі справжнім іменем вашого профілю користувача Windows)

Не має значення, у якому місці ви збережете цей файл.

Відтепер ви можете двічі клацати activate.bat і негайно розпочати роботу.

Використання Musubi Tuner

Завантаження моделей

Процес навчання Hunyuan Video LoRA вимагає завантаження щонайменше семи моделей, щоб підтримувати всі можливі параметри оптимізації для попереднього кешування та навчання Hunyuan video LoRA. Разом ці моделі важать більше 60 Гб.

Поточні інструкції щодо їх завантаження можна знайти за адресою https://github.com/kohya-ss/musubi-tuner?tab=readme-ov-file#model-download

Однак це інструкції щодо завантаження на момент написання:

clip_l.safetensors
llava_llama3_fp16.safetensors
та
llava_llama3_fp8_scaled.safetensors
можна завантажити за адресою:
https://huggingface.co/Comfy-Org/HunyuanVideo_repackaged/tree/main/split_files/text_encoders

mp_rank_00_model_states.pt
mp_rank_00_model_states_fp8.pt
та
mp_rank_00_model_states_fp8_map.pt
можна завантажити за адресою:
https://huggingface.co/tencent/HunyuanVideo/tree/main/hunyuan-video-t2v-720p/transformers

pytorch_model.pt
можна завантажити за адресою:
https://huggingface.co/tencent/HunyuanVideo/tree/main/hunyuan-video-t2v-720p/vae

Хоча ви можете розмістити їх у будь-якому каталозі, який ви виберете, для узгодженості з подальшим сценарієм розмістимо їх у:

C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\models\

Це узгоджується з розташуванням каталогу до цього пункту. Будь-які наступні команди чи інструкції передбачають, що саме тут розташовані моделі; і не забудьте замінити [Ім’я вашого профілю] справжньою назвою папки профілю Windows.

Підготовка набору даних

Ігноруючи суперечки спільноти з цього приводу, можна сказати, що вам знадобиться десь від 10 до 100 фотографій для навчального набору даних для вашого Hunyuan LoRA. Дуже хороші результати можна отримати навіть із 15 зображеннями, за умови, що зображення добре збалансовані та якісні.

Hunyuan LoRA можна навчати як на зображеннях, так і на дуже коротких відеокліпах з низькою роздільною здатністю, або навіть на суміші кожного з них, хоча використовувати відеокліпи як навчальні дані складно, навіть для карти на 24 ГБ.

Однак відеокліпи дійсно корисні, лише якщо ваш персонаж рухається таким незвичайним чином, що модель фонду Hunyuan Video могла про це не знати, або вміти вгадувати.

Прикладами можуть бути Кролик Роджер, ксеноморф, Маска, Людина-павук або інші особистості, які володіють створеного характерний рух.

Оскільки Hunyuan Video вже знає, як рухаються звичайні чоловіки та жінки, відеокліпи не є необхідними для отримання переконливого людського типу персонажа Hunyuan Video LoRA. Тому ми будемо використовувати статичні зображення.

Підготовка зображення

The Bucket List

Версія TLDR:

Найкраще або використовувати зображення однакового розміру для вашого набору даних, або розділити 50/50 між двома різними розмірами, тобто 10 зображень розміром 512x768 пікселів і 10 зображень розміром 768x512 пікселів.

Навчання може пройти добре, навіть якщо ви цього не зробите – Hunyuan Video LoRA може бути напрочуд поблажливим.

Довша версія

Як і у випадку з Kohya-ss LoRA для статичних генеративних систем, таких як стабільна дифузія, ковшування використовується для розподілу робочого навантаження між зображеннями різного розміру, дозволяючи використовувати більші зображення, не спричиняючи помилок нестачі пам’яті під час навчання (тобто групування «розрізає» зображення на частини, які може обробити графічний процесор, зберігаючи при цьому смислова цілісність всього образу).

Для кожного розміру зображення, яке ви включаєте у свій навчальний набір даних (тобто 512x768 пікселів), для цього розміру буде створено сегмент або «підзавдання». Отже, якщо у вас є такий розподіл зображень, ось як велика увага стає незбалансованою, і існує ризик того, що деяким фотографіям буде приділено більше уваги під час навчання, ніж іншим:

2x 512x768px зображення
7x 768x512px зображення
1x 1000x600px зображення
3x 400x800px зображення

Ми бачимо, що увага відра розподіляється нерівномірно між цими зображеннями:

Тому або дотримуйтеся одного розміру формату, або намагайтеся підтримувати відносно рівномірний розподіл різних розмірів.

У будь-якому випадку уникайте дуже великих зображень, оскільки це, швидше за все, уповільнить навчання та призведе до незначної користі.

Для простоти я використовував 512x768 пікселів для всіх фотографій у своєму наборі даних.

Відмова від відповідальності: Модель (особа), використана в наборі даних, надала мені повний дозвіл на використання цих зображень для цієї мети та схвалила всі вихідні дані на основі штучного інтелекту, які зображують її схожість, представлені в цій статті.

Мій набір даних складається з 40 зображень у форматі PNG (хоча JPG також підходить). Мої зображення зберігалися в C:\Users\Martin\Desktop\DATASETS_HUNYUAN\examplewoman

Ви повинні створити a cache папка всередині папки навчальних зображень:

Тепер давайте створимо спеціальний файл, який буде налаштовувати навчання.

Файли TOML

Процеси навчання та попереднього кешування Hunyuan Video LoRAs отримують шляхи файлів із плоского текстового файлу з .toml розширення.

Для мого тесту TOML знаходиться в C:\Users\Martin\Desktop\DATASETS_HUNYUAN\training.toml

Вміст мого навчального TOML виглядає так:

[general]

resolution = [512, 768]

caption_extension = ".txt"

batch_size = 1

enable_bucket = true

bucket_no_upscale = false

[[datasets]]

image_directory = "C:\\Users\\Martin\\Desktop\\DATASETS_HUNYUAN\\examplewoman"

cache_directory = "C:\\Users\\Martin\\Desktop\\DATASETS_HUNYUAN\\examplewoman\\cache"

num_repeats = 1

(Подвійні зворотні косі риски для каталогів зображень і кешу не завжди потрібні, але вони можуть допомогти уникнути помилок у випадках, коли в шляху є пробіл. Я навчив моделі з файлами .toml, які використовували одинарний пересилання вперед і одинарний- зворотні косі риски)

Ми можемо бачити в resolution розділу, що розглядатимуться дві роздільності – 512 пікселів і 768 пікселів. Ви також можете залишити це на 512 і все одно отримати хороші результати.

Підписи

Відео Hunyuan є a текст+vision базова модель, тому нам потрібні описові підписи до цих зображень, які будуть розглянуті під час навчання. Без титрів тренувальний процес не вийде.

Є безліч систем субтитрів із відкритим кодом, які ми могли б використати для цього завдання, але давайте будемо простими та використаємо taggui система. Незважаючи на те, що він зберігається на GitHub, і хоча він завантажує деякі дуже важкі моделі глибокого навчання під час першого запуску, він поставляється у формі простого виконуваного файлу Windows, який завантажує бібліотеки Python і простий графічний інтерфейс.

Після запуску Taggui використовуйте Файл > Завантажити каталог щоб перейти до вашого набору даних зображень, і за бажанням введіть ідентифікатор маркера (у цьому випадку, прикладова жінка), які будуть додані до всіх підписів:

(Обов'язково вимкніть Завантажити в 4-біт коли Taggui відкривається вперше – він видаватиме помилки під час субтитрів, якщо це залишити ввімкненим)

Виберіть зображення в лівому стовпці попереднього перегляду та натисніть CTRL+A, щоб вибрати всі зображення. Потім натисніть кнопку «Почати автоматичні субтитри» праворуч:

Ви побачите, як Taggui завантажує моделі в невеликому CLI у правому стовпці, але лише якщо ви вперше запускаєте субтитри. В іншому випадку ви побачите попередній перегляд підписів.

Тепер кожна фотографія має відповідний підпис .txt із описом вмісту зображення:

Ви можете натиснути Додаткові параметри у Taggui, щоб збільшити довжину та стиль підписів, але це виходить за межі цього огляду.

Вийдіть з Taggui і перейдемо до…

Приховане попереднє кешування

Щоб уникнути надмірного навантаження на графічний процесор під час навчання, необхідно створити два типи попередньо кешованих файлів – один для представлення прихованого зображення, отриманого з самих зображень, а інший для оцінки кодування тексту, що стосується вмісту підписів.

Щоб спростити всі три процеси (2x кеш + навчання), ви можете використовувати інтерактивні файли .BAT, які ставитимуть вам запитання та виконуватимуть процеси, коли ви надасте необхідну інформацію.

Для прихованого попереднього кешування скопіюйте наведений нижче текст у блокнот і збережіть його як файл .BAT (тобто назвіть його приблизно так: latent-precache.bat), як і раніше, переконавшись, що тип файлу в спадному меню в Зберегти як діалог є Всі файли (див. зображення нижче):

@echo off

REM Activate the virtual environment

call C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\Scripts\activate.bat

REM Get user input

set /p IMAGE_PATH=Enter the path to the image directory:

set /p CACHE_PATH=Enter the path to the cache directory:

set /p TOML_PATH=Enter the path to the TOML file:

echo You entered:

echo Image path: %IMAGE_PATH%

echo Cache path: %CACHE_PATH%

echo TOML file path: %TOML_PATH%

set /p CONFIRM=Do you want to proceed with latent pre-caching (y/n)?

if /i "%CONFIRM%"=="y" (

REM Run the latent pre-caching script

python C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\cache_latents.py --dataset_config %TOML_PATH% --vae C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\models\pytorch_model.pt --vae_chunk_size 32 --vae_tiling

) else (

echo Operation canceled.

)

REM Keep the window open

pause

(Переконайтеся, що ви замінили [Ім'я вашого профілю] з вашою справжньою назвою папки профілю Windows)

Тепер ви можете запустити файл .BAT для автоматичного прихованого кешування:

Коли з’являться відповідні запитання щодо файлу BAT, вставте або введіть шлях до набору даних, папок кешу та файлу TOML.

Попереднє кешування тексту

Ми створимо другий файл BAT, цього разу для попереднього кешування тексту.

@echo off

REM Activate the virtual environment

call C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\Scripts\activate.bat

REM Get user input

set /p IMAGE_PATH=Enter the path to the image directory:

set /p CACHE_PATH=Enter the path to the cache directory:

set /p TOML_PATH=Enter the path to the TOML file:

echo You entered:

echo Image path: %IMAGE_PATH%

echo Cache path: %CACHE_PATH%

echo TOML file path: %TOML_PATH%

set /p CONFIRM=Do you want to proceed with text encoder output pre-caching (y/n)?

if /i "%CONFIRM%"=="y" (

REM Use the python executable from the virtual environment

python C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\cache_text_encoder_outputs.py --dataset_config %TOML_PATH% --text_encoder1 C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\models\llava_llama3_fp16.safetensors --text_encoder2 C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\models\clip_l.safetensors --batch_size 16

) else (

echo Operation canceled.

)

REM Keep the window open

pause

Замініть назву свого профілю Windows і збережіть його як text-cache.bat (або будь-яку іншу назву), у будь-якому зручному місці, згідно з процедурою для попереднього BAT-файлу.

Запустіть цей новий BAT-файл, дотримуйтесь інструкцій, і необхідні файли з текстовим кодуванням з’являться в cache папка:

Навчання Hunyuan Video Lora

Навчання справжньому LoRA займе значно більше часу, ніж ці два підготовчі процеси.

Хоча є також багато змінних, про які ми можемо хвилюватися (наприклад, розмір партії, повтори, епохи та чи використовувати повні чи квантовані моделі, серед іншого), ми збережемо ці міркування на інший день, щоб глибше поглянути на тонкощі створення LoRA.

Наразі давайте трохи мінімізуємо вибір і навчимо LoRA на «середніх» налаштуваннях.

Ми створимо третій файл BAT, цього разу для початку навчання. Вставте це в Блокнот і збережіть як файл BAT, як і раніше, як навчання.bat (або будь-яке ім'я, будь ласка):

@echo off

REM Activate the virtual environment

call C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\Scripts\activate.bat

REM Get user input

set /p DATASET_CONFIG=Enter the path to the dataset configuration file:

set /p EPOCHS=Enter the number of epochs to train:

set /p OUTPUT_NAME=Enter the output model name (e.g., example0001):

set /p LEARNING_RATE=Choose learning rate (1 for 1e-3, 2 for 5e-3, default 1e-3):

if "%LEARNING_RATE%"=="1" set LR=1e-3

if "%LEARNING_RATE%"=="2" set LR=5e-3

if "%LEARNING_RATE%"=="" set LR=1e-3

set /p SAVE_STEPS=How often (in steps) to save preview images:

set /p SAMPLE_PROMPTS=What is the location of the text-prompt file for training previews?

echo You entered:

echo Dataset configuration file: %DATASET_CONFIG%

echo Number of epochs: %EPOCHS%

echo Output name: %OUTPUT_NAME%

echo Learning rate: %LR%

echo Save preview images every %SAVE_STEPS% steps.

echo Text-prompt file: %SAMPLE_PROMPTS%

REM Prepare the command

set CMD=accelerate launch --num_cpu_threads_per_process 1 --mixed_precision bf16 ^

C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\hv_train_network.py ^

--dit C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\models\mp_rank_00_model_states.pt ^

--dataset_config %DATASET_CONFIG% ^

--sdpa ^

--mixed_precision bf16 ^

--fp8_base ^

--optimizer_type adamw8bit ^

--learning_rate %LR% ^

--gradient_checkpointing ^

--max_data_loader_n_workers 2 ^

--persistent_data_loader_workers ^

--network_module=networks.lora ^

--network_dim=32 ^

--timestep_sampling sigmoid ^

--discrete_flow_shift 1.0 ^

--max_train_epochs %EPOCHS% ^

--save_every_n_epochs=1 ^

--seed 42 ^

--output_dir "C:\Users\[Your Profile Name]\Desktop\Musubi\Output Models" ^

--output_name %OUTPUT_NAME% ^

--vae C:/Users/[Your Profile Name]/Desktop/Musubi/musubi/musubi-tuner/models/pytorch_model.pt ^

--vae_chunk_size 32 ^

--vae_spatial_tile_sample_min_size 128 ^

--text_encoder1 C:/Users/[Your Profile Name]/Desktop/Musubi/musubi/musubi-tuner/models/llava_llama3_fp16.safetensors ^

--text_encoder2 C:/Users/[Your Profile Name]/Desktop/Musubi/musubi/musubi-tuner/models/clip_l.safetensors ^

--sample_prompts %SAMPLE_PROMPTS% ^

--sample_every_n_steps %SAVE_STEPS% ^

--sample_at_first

echo The following command will be executed:

echo %CMD%

set /p CONFIRM=Do you want to proceed with training (y/n)?

if /i "%CONFIRM%"=="y" (

%CMD%

) else (

echo Operation canceled.

)

REM Keep the window open

cmd /k

Як зазвичай, обов’язково замініть усі екземпляри of [Ім’я вашого профілю] з вашим правильним іменем профілю Windows.

Переконайтеся, що каталог C:\Users\[Your Profile Name]\Desktop\Musubi\Output Models\ існує, і створіть його в цьому місці, якщо ні.

Попередній перегляд навчання

Існує дуже проста функція попереднього перегляду навчання, нещодавно ввімкнена для тренера Musubi, яка дозволяє примусово призупиняти модель навчання та генерувати зображення на основі збережених вами підказок. Вони зберігаються в автоматично створеній папці під назвою Зразок, у тому самому каталозі, де зберігаються навчені моделі.

Щоб увімкнути це, вам потрібно буде зберегти принаймні одну підказку в текстовому файлі. Навчальний BAT, який ми створили, попросить вас ввести розташування цього файлу; тому ви можете назвати файл підказки як завгодно та зберегти його будь-де.

Ось кілька наочних прикладів для файлу, який буде виводити три різні зображення, якщо запитуватиме програма навчання:

Як ви можете бачити в прикладі вище, ви можете поставити прапорці в кінці підказки, що вплине на зображення:

–w є ширина (за замовчуванням 256px, якщо не встановлено, відповідно до документи)
– є висота (за замовчуванням 256 пікселів, якщо не встановлено)
–f це кількість кадрів. Якщо встановлено значення 1, створюється зображення; більше одного, відео.
–d – насіння. Якщо не встановлено, це випадково; але ви повинні налаштувати його, щоб бачити, як розвивається одна підказка.
–s – кількість кроків генерації, за замовчуванням 20.

Читати офіційна документація для додаткових прапорів.

Хоча попередній перегляд навчання може швидко виявити деякі проблеми, які можуть змусити вас скасувати навчання та переглянути дані чи налаштування, заощаджуючи таким чином час, пам’ятайте, що кожна додаткова підказка ще трохи сповільнює навчання.

Крім того, чим більша ширина та висота зображення попереднього перегляду тренування (як встановлено в прапорцях, перелічених вище), тим більше це уповільнює навчання.

Запустіть навчальний BAT-файл.

Питання #1 «Введіть шлях до конфігурації набору даних. Вставте або введіть правильний шлях до файлу TOML.

Питання #2 «Введіть кількість епох для навчання». Це змінна методом проб і помилок, оскільки на неї впливає кількість і якість зображень, а також підписи та інші фактори. Загалом, краще встановлювати його занадто високим, ніж занадто низьким, оскільки ви завжди можете зупинити навчання за допомогою Ctrl+C у вікні навчання, якщо ви вважаєте, що модель просунулася достатньо. Спочатку встановіть значення 100 і подивіться, як воно піде.

Питання #3 це «Введіть назву вихідної моделі». Назвіть свою модель! Можливо, краще, щоб ім’я було досить коротким і простим.

Питання #4 це «Вибрати швидкість навчання», яка за умовчанням дорівнює 1e-3 (варіант 1). Це гарне місце для початку, оскільки очікується подальший досвід.

Питання #5 «Як часто (кроками) зберігати зображення попереднього перегляду». Якщо ви встановите це значення занадто низько, ви побачите незначний прогрес між збереженнями попереднього перегляду зображення, і це сповільнить навчання.

Питання #6 «Яке розташування файлу текстових підказок для попереднього перегляду навчання?». Вставте або введіть шлях до текстового файлу підказок.

Потім BAT покаже вам команду, яку він надішле до моделі Hunyuan, і запитає вас, чи хочете ви продовжити, так/ні.

Почніть навчання:

Протягом цього часу, якщо ви перевірите розділ GPU на вкладці «Продуктивність» диспетчера завдань Windows, ви побачите, що процес займає близько 16 ГБ відеопам’яті.

Можливо, це не випадкова цифра, оскільки це обсяг відеопам’яті, доступний на багатьох відеокартах NVIDIA, а вихідний код, можливо, було оптимізовано для виконання завдань у 16 ​​ГБ на користь тих, хто володіє такими картами.

Тим не менш, дуже легко підвищити це використання, надсилаючи більше надмірних прапорів навчальній команді.

Під час навчання ви побачите у нижній правій частині вікна CMD цифру, яка показує, скільки часу минуло з початку навчання, а також оцінку загального часу навчання (який значно змінюватиметься залежно від встановлених прапорців, кількості навчальних зображень , кількість навчальних зображень попереднього перегляду та кілька інших факторів).

Типовий час навчання становить близько 3-4 годин із середніми налаштуваннями, залежно від доступного обладнання, кількості зображень, налаштувань прапорців та інших факторів.

Використання навчених моделей LoRA у відео Hunyuan

Вибір контрольних точок

Після завершення навчання ви матимете модель контрольної точки для кожної епохи навчання.

Цю частоту збереження користувач може змінити на більш або рідше, за бажанням, шляхом внесення змін до --save_every_n_epochs [N] номер у навчальному файлі BAT. Якщо ви додали низький показник збереження за крок під час налаштування навчання за допомогою BAT, буде велика кількість збережених файлів контрольних точок.

Який пункт пропуску вибрати?

Як згадувалося раніше, найперші навчені моделі будуть найбільш гнучкими, тоді як пізніші контрольні точки можуть запропонувати найбільше деталей. Єдиний спосіб перевірити ці фактори — запустити кілька LoRA та створити кілька відео. Таким чином ви зможете дізнатися, які контрольні точки є найпродуктивнішими та представляють найкращий баланс між гнучкістю та точністю.

ComfyUI

Найпопулярнішим (хоча і не єдиним) середовищем для використання Hunyuan Video LoRA на даний момент є ComfyUI, редактор на основі вузлів із продуманим інтерфейсом Gradio, який працює у вашому веб-браузері.

Джерело: https://github.com/comfyanonymous/ComfyUI

Джерело: https://github.com/comfyanonymous/ComfyUI

Інструкції зі встановлення прості та доступний в офіційному репозиторії GitHub (додаткові моделі потрібно буде завантажити).

Перетворення моделей для ComfyUI

Ваші навчені моделі зберігаються у форматі (дифузори), який несумісний із більшістю реалізацій ComfyUI. Musubi може конвертувати модель у ComfyUI-сумісний формат. Давайте налаштуємо файл BAT, щоб реалізувати це.

Перш ніж запускати цей BAT, створіть C:\Users\[Your Profile Name]\Desktop\Musubi\CONVERTED\ папку, яку очікує сценарій.

@echo off

REM Activate the virtual environment

call C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\Scripts\activate.bat

:START

REM Get user input

set /p INPUT_PATH=Enter the path to the input Musubi safetensors file (or type "exit" to quit):

REM Exit if the user types "exit"

if /i "%INPUT_PATH%"=="exit" goto END

REM Extract the file name from the input path and append 'converted' to it

for %%F in ("%INPUT_PATH%") do set FILENAME=%%~nF

set OUTPUT_PATH=C:\Users\[Your Profile Name]\Desktop\Musubi\Output Models\CONVERTED\%FILENAME%_converted.safetensors

set TARGET=other

echo You entered:

echo Input file: %INPUT_PATH%

echo Output file: %OUTPUT_PATH%

echo Target format: %TARGET%

set /p CONFIRM=Do you want to proceed with the conversion (y/n)?

if /i "%CONFIRM%"=="y" (

REM Run the conversion script with correctly quoted paths

python C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\convert_lora.py --input "%INPUT_PATH%" --output "%OUTPUT_PATH%" --target %TARGET%

echo Conversion complete.

) else (

echo Operation canceled.

)

REM Return to start for another file

goto START

:END

REM Keep the window open

echo Exiting the script.

pause

Як і у випадку з попередніми файлами BAT, збережіть сценарій як «Усі файли» з Блокнота, назвавши його convert.bat (або як вам подобається).

Після збереження двічі клацніть новий файл BAT, який запитає розташування файлу для конвертації.

Вставте або введіть шлях до навченого файлу, який потрібно конвертувати, клацніть yі натисніть клавішу Enter.

Після збереження перетвореного LoRA у КОНВЕРТОВАНО папку, сценарій запитає, чи хочете ви конвертувати інший файл. Якщо ви хочете протестувати кілька контрольних точок у ComfyUI, конвертуйте вибірку моделей.

Після перетворення достатньої кількості контрольних точок закрийте вікно команд BAT.

Тепер ви можете скопіювати перетворені моделі в папку models\loras у вашій установці ComfyUI.

Зазвичай правильне розташування виглядає приблизно так:

C:\Users\[Your Profile Name]\Desktop\ComfyUI\models\loras\

Створення відео LoRA Hunyuan у ComfyUI

Хоча робочі процеси ComfyUI на основі вузлів спочатку здаються складними, налаштування інших досвідчених користувачів можна завантажити, перетягнувши зображення (створене за допомогою ComfyUI іншого користувача) безпосередньо у вікно ComfyUI. Робочі процеси також можна експортувати як файли JSON, які можна імпортувати вручну або перетягнути у вікно ComfyUI.

Деякі імпортовані робочі процеси матимуть залежності, які можуть не існувати у вашій установці. Тому встановіть ComfyUI-менеджер, який може автоматично отримувати відсутні модулі.

Джерело: https://github.com/ltdrdata/ComfyUI-Manager

Джерело: https://github.com/ltdrdata/ComfyUI-Manager

Щоб завантажити один із робочих процесів, які використовуються для створення відео з моделей у цьому посібнику, завантажте цей файл JSON і перетягніть його у своє вікно ComfyUI (хоча є набагато кращі приклади робочого процесу, доступні в різних спільнотах Reddit і Discord, які прийняли Hunyuan Video, і мій власний адаптований з одного з них).

Тут не місце для розширеного підручника з використання ComfyUI, але варто згадати кілька важливих параметрів, які вплинуть на результат, якщо ви завантажите та використаєте макет JSON, на який я посилався вище.

1) Ширина і висота

Чим більше ваше зображення, тим довше триватиме генерація, і тим вищий ризик помилки браку пам’яті (OOM).

2) Довжина

Це числове значення кількості кадрів. Скільки секунд це додано, залежить від частоти кадрів (у цій розкладці встановлено 30 кадрів/с). Ви можете конвертувати секунди>кадри на основі fps на Omnicalculator.

3) Розмір партії

Чим вищий ви встановите розмір партії, тим швидше може з’явитися результат, але тим більшим буде навантаження на VRAM. Установіть занадто високе значення, і ви можете отримати OOM.

4) Контроль після створення

Це контролює випадкове насіння. Опції для цього підвузла є фіксованою, приріст, декремент та randomize. Якщо ви залишите його на фіксованою і не змінюйте текстову підказку, ви отримуватимете те саме зображення кожного разу. Якщо ви зміните текстову підказку, зображення зміниться обмежено. The приріст та декремент параметри дозволяють досліджувати найближчі вихідні значення, а randomize дає вам абсолютно нову інтерпретацію підказки.

5) Ім'я Лора

Вам потрібно буде вибрати власну встановлену модель тут, перш ніж намагатися згенерувати.

6) Жетон

Якщо ви навчили свою модель запускати концепцію за допомогою маркера (наприклад, 'приклад-людина'), додайте це тригерне ​​слово у підказку.

7) Кроки

Це означає, скільки кроків система застосує до процесу дифузії. Вищі кроки можуть отримати кращу деталізацію, але існує межа ефективності цього підходу, і цей поріг може бути важко знайти. Загальний діапазон кроків становить близько 20-30.

8) Розмір плитки

Це визначає, скільки інформації обробляється одночасно під час генерації. За замовчуванням встановлено значення 256. Підвищення його може пришвидшити генерацію, але занадто високе підвищення може призвести до особливо неприємного досвіду OOM, оскільки це відбувається в самому кінці тривалого процесу.

9) Тимчасове перекриття

Генерація людей Hunyuan Video може призвести до «ореолу» або непереконливого руху, якщо це значення встановлено занадто низько. Загалом, нинішня мудрість полягає в тому, що для кращого руху слід встановити більше значення, ніж кількість кадрів.

Висновок

Хоча подальше вивчення використання ComfyUI виходить за рамки цієї статті, досвід спільноти Reddit і Discords може полегшити процес навчання, і є кілька онлайн-путівники які знайомлять з основами.

 

Вперше опубліковано в четвер, 23 січня 2025 р