Погляд Anderson

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

mm
Додайте Unite.AI до бажаних джерел у Google
ChatGPT-4o: Variation on 'Create me an image 1792 x 1024. It should be in the style of Théodore Géricault, and should depict a dark medieval figure seated in front of a laptop, illuminated by the screen. We are facing the figure, and can only see the back of the laptop lid. Around the seated medieval figure are many other medieval men and women, curious as to what is happening on the computer screen'

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

[відео шириною=”1200″ висотою=”900″ mp4=”https://www.unite.ai/wp-content/uploads/2025/01/loras-hunyuan-AE2.mp4″][/відео]

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

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

1) Diffusion-pipe-ui Docker-based framework, який залежить від Windows Subsystem for Linux (WSL) для обробки деяких процесів.

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

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

[відео шириною=”1200″ висотою=”674″ mp4=”https://www.unite.ai/wp-content/uploads/2025/01/example-woman-hunyuan-loras.mp4″ loop=”true”][/відео]

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

ВИМОГИ

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

ПОПЕРЕДЖЕННЯ

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

РОЗВАЖЕННЯ

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

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

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

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

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

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

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

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

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

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

ЧОМУ ВСТАНОВЛЮВАТИ ЧОГОСЬ НА ГОЛУ?

(Пропустіть цей абзац, якщо ви не досвідчений користувач)
Досвідчені користувачі будуть дивуватися, чому я вибрав встановити так багато програмного забезпечення на голий Windows 10, а не у віртуальному середовищі. Причина полягає в тому, що основна частина Windows порту лінукс-орієнтованого пакету Triton значно складніше працює у віртуальному середовищі. Всі інші установки голих металів у цьому навчанні не могли бути встановлені у віртуальному середовищі, оскільки вони повинні взаємодіяти безпосередньо з локальним апаратним забезпеченням.

ВСТАНОВЛЕННЯ ПАКЕТІВ І ПРОГРАМ

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

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

Почніть завантажений інсталлятор:

Ми не потребуємо кожного доступного пакету, який би був важким і довгим інсталляційним процесом. На початковій сторінці Workloads, яка відкривається, позначте Desktop Development with C++ (див. зображення нижче).

Тепер перейдіть на вкладку Individual Components у верхньому лівому куті інтерфейсу та використайте пошукове поле, щоб знайти ‘Windows SDK’.

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

Пошукайте ‘C++ CMake’ і переконайтесь, що C++ CMake tools for 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 у пошуковому полі Start) та введіть та виконайте:

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 (local)’)

Завантажте пакет установки CUDA 12+ серії з:

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

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

ВСТАНОВЛЕННЯ NVIDIA CUDA TOOLKIT V11+

Почніть інсталлятор для 11+ серії CUDA Toolkit.

На сторінці Installation Options виберіть Custom (Advanced) та продовжуйте.

Відмітьте варіант NVIDIA GeForce Experience та натисніть Next.

Залиште Select Installation Location за замовчуванням (це важливо):

Натисніть Next та дайте інсталяції завершитися.

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

ВСТАНОВЛЕННЯ NVIDIA CUDA TOOLKIT V12+

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

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

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

nvcc --version

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

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

nvidia-smi

5: ВСТАНОВЛЕННЯ GIT

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

https://git-scm.com/downloads/win (’64-бітовий інсталатор Git для Windows’)

Почніть інсталатор:

Використовуйте значення за замовчуванням для Select Components:

Залиште редактор за замовчуванням у Vim:

Дайте GIT вирішити питання про імена гілок:

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

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

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

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

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

Використовуйте значення за замовчуванням (Fast-forward or merge) для Git Pull:

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

У розділі Configuring extra options залиште Enable file system caching позначеним, а Enable symbolic links відміченим ( якщо ви не досвідчений користувач, який використовує жорсткі посилання для централізованого репозиторію моделей).

Завершіть інсталяцію та протестуйте, чи правильно встановлено GIT, відкривши командний рядок Windows та введіть та виконайте:

git --version

ВХІД У GITHUB

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

Після цієї початкової авторизації ви повинні залишатися автентифікованими автоматично.

6: ВСТАНОВЛЕННЯ CMAKE

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

Завантажте його з:

https://cmake.org/download/ (‘Windows x64 Installer’)

Почніть інсталатор:

Залиште Add Cmake to the PATH environment variable позначеним.

Натисніть Next.

Введіть та виконайте цю команду у командному рядку 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-біт)’)

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

На кінці процесу установки натисніть Disable path length limit (вимагає підтвердження адміністратора 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 у Host64 у вашій власній установці). Потім вставте ці шляхи у вікно Редагування змінної середовища.

Після цього перезапустіть комп’ютер.

ВСТАНОВЛЕННЯ MUSUBI

ОНОВЛЕННЯ PIP

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

pip install --upgrade pip

ПОДВИЩЕННЯ

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

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

ВСТАНОВЛЕННЯ TORCH

У PowerShell введіть та виконайте:

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

Будьте терплячими, поки встановлюються численні пакети.

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

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

Це повинно вивести:

True

ВСТАНОВЛЕННЯ TRITON ДЛЯ WINDOWS

Наступним кроком є установка компонента Triton for 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

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

Давайте створимо папку установки: створіть папку з назвою Musubi на вашому робочому столі. Наступні приклади припускають, що ця папка існує: C:\Users\[Ваше ім'я профілю]\Desktop\Musubi\.

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

cd C:\Users\[Ваше ім'я профілю]\Desktop\Musubi

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

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

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

.\musubi\Scripts\activate

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

КЛОНУВАННЯ РЕПОЗИТОРІЮ

Перейдіть до щойно створеної папки musubi (яка знаходиться всередині папки 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\[Ваше ім'я профілю]\Desktop\Musubi\musubi\Scripts\activate

cd C:\Users\[Ваше ім'я профілю]\Desktop\Musubi\musubi\musubi-tuner

cmd

(Замініть [Ваше ім'я профілю] своїм справжнім ім’ям профілю 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\[Ваше ім'я профілю]\Desktop\Musubi\musubi\musubi-tuner\models\

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

ПІДГОТОВКА ДАНИХ

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

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

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

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

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

ПІДГОТОВКА ЗОБРАЖЕНЬ

СПИСОК БАЧЕННЯ

Версія TLDR:

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

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

Подробиці:

Як і у випадку з моделями Kohya-ss LoRAs для статичних генеративних систем, таких як Stable Diffusion, бакетинг використовується для розподілу навантаження по різним розмірам зображень, що дозволяє використовувати більші зображення без виклику помилок відсутності пам’яті під час навчання (тобто бакетинг “розрізує” зображення на шматки, які може обробити GPU, зберігаючи семантичну цілісність всього зображення).

Для кожного розміру зображення, який ви включаєте у свою навчальну вибірку (тобто 512×768 пікселів), створюється бакет або “підзадача”. Отже, якщо у вас є такий розподіл зображень, це як бакет-увага стає нерівномірною, і ризикує, що деякі фотографії будуть дані більшого значення під час навчання, ніж інші:

2x 512×768 пікселів зображення
7x 768×512 пікселів зображення
1x 1000×600 пікселів зображення
3x 400×800 пікселів зображення

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

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

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

Для простоти я використовував розмір 512×768 пікселів для всіх фотографій у своїй вибірці.

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

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

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

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

ТОМЛ-ФАЙЛИ

Процеси навчання та попередньої кешування моделей Hunyuan Video LoRA отримують файли шляхів з плоского текстового файлу з розширенням .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

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

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

КАПШУКИ

Hunyuan Video – це текст+візуальна базова модель, тому нам потрібні описові підписи до цих зображень, які будуть розглянуті під час навчання. Процес навчання зазнає невдачі без підписів.

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

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

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

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

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

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

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

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

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

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

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

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

@echo off

REM Activate the virtual environment

call C:\Users\[Ваше ім'я профілю]\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\[Ваше ім'я профілю]\Desktop\Musubi\musubi\musubi-tuner\cache_latents.py --dataset_config %TOML_PATH% --vae C:\Users\[Ваше ім'я профілю]\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\[Ваше ім'я профілю]\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\[Ваше ім'я профілю]\Desktop\Musubi\musubi\musubi-tuner\cache_text_encoder_outputs.py --dataset_config %TOML_PATH% --text_encoder1 C:\Users\[Ваше ім'я профілю]\Desktop\Musubi\musubi\musubi-tuner\models\llava_llama3_fp16.safetensors --text_encoder2 C:\Users\[Ваше ім'я профілю]\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, як раніше, як training.bat (або будь-яку іншу назву, яку ви хочете):

@echo off

REM Activate the virtual environment

call C:\Users\[Ваше ім'я профілю]\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\[Ваше ім'я профілю]\Desktop\Musubi\musubi\musubi-tuner\hv_train_network.py ^

--dit C:\Users\[Ваше ім'я профілю]\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\[Ваше ім'я профілю]\Desktop\Musubi\Output Models" ^

--output_name %OUTPUT_NAME% ^

--vae C:/Users/[Ваше ім'я профілю]/Desktop/Musubi/musubi/musubi-tuner/models/pytorch_model.pt ^

--vae_chunk_size 32 ^

--vae_spatial_tile_sample_min_size 128 ^

--text_encoder1 C:/Users/[Ваше ім'я профілю]/Desktop/Musubi/musubi/musubi-tuner/models/llava_llama3_fp16.safetensors ^

--text_encoder2 C:/Users/[Ваше ім'я профілю]/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

Замініть своє ім’я профілю Windows і створіть папку C:\Users\[Ваше ім'я профілю]\Desktop\Musubi\Output Models\, якщо вона не існує.

ПЕРЕГЛЯД НАВЧЕННЯ

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

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

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

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

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

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

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

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

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

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

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

Питання #3 – “Введіть ім’я виведеної моделі”. Назвіть свою модель! Найкраще зберігати ім’я коротким та простим.

Питання #4 – “Виберіть швидкість навчання”, яка за замовчуванням становить 1e-3 (варіант 1). Це хороша точка початку, поки ви не отримаєте більше досвіду.

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

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

Файл.BAT потім показує вам команду, яку він відправить до моделі Hunyuan, і запитає, чи хочете ви продовжити, y/n.

Продовжуйте та розпочніть навчання:

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

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

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

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

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

ВИКОРИСТАННЯ ВАШОЇ ПРОШЛОЇ МОДЕЛІ HUNYUAN VIDEO LORA

ВИБІР ЧЕРГОВИХ МОДЕЛЕЙ

Коли навчання завершиться, у вас буде модель чергового навчання для кожної епохи навчання.

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

ЯКУ ЧЕРГОВУ МОДЕЛЬ ВИБРАТИ?

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

COMFYUI

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

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

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

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

ПЕРЕТВОРЕННЯ МОДЕЛЕЙ ДЛЯ COMFYUI

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

Перед запуском цього файлу.BAT створіть папку C:\Users\[Ваше ім'я профілю]\Desktop\Musubi\CONVERTED\, яку очікує сценарій.

@echo off

REM Activate the virtual environment

call C:\Users\[Ваше ім'я профілю]\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\[Ваше ім'я профілю]\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\[Ваше ім'я профілю]\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 у папці CONVERTED сценарій запитає, чи хочете ви перетворити інший файл. Якщо ви хочете протестувати кілька чергових моделей у ComfyUI, перетворіть вибірку моделей.

Коли ви перетворите достатньо моделей, закрийте вікно командного рядка.

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

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

C:\Users\[Ваше ім'я профілю]\Desktop\ComfyUI\models\loras\

СТВОРЕННЯ МОДЕЛЕЙ HUNYUAN VIDEO LORA У COMFYUI

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

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

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

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

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

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

1) ШИРИНА І ВИСОТА

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

2) ДЛИНА

Це числове значення для кількості кадрів. Скільки секунд воно складає, залежить від частоти кадрів (встановлено на 30 кадрів за секунду у цьому розкладі). Ви можете перетворити секунди у кадри на основі частоти кадрів за допомогою Omnicalculator.

3) РОЗМІР ПАРТІЇ

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

4) КОНТРОЛЬ ПІСЛЯ ГЕНЕРАЦІЇ

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

5) НАЗВА LORA

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

6) ТОКЕН

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

7) КРОКИ

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

8) РОЗМІР КАФТРА

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

9) ЧАСОВЕ ПЕРЕКРИВАННЯ

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

ВИСНОВКИ

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

 

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

Письменник про машинне навчання, спеціаліст у галузі синтезу людських зображень. Колишній керівник дослідницького контенту в Metaphysic.ai, до його розформування в DNEG's Brahma.ai.
Портфоліо сайт: martinanderson.ai
Контакт: martin@martinanderson.ai