Search
Write a publication
Pull to refresh

Как развернуть Hunyuan на своем сервере, пошаговый гайд

Level of difficultyMedium

Что такое Hunyuan, можно почитать ТУТ

Если вкратце — это text2video(из текстового описания в видео) или image2video(из картинки + текстового описания в видео) модель от китайских разработчиков без NSFW (без цензуры), где вы, платя только за серверы, можете генерировать видео из текста или картинки в высоком разрешении. 

Но, если вы нашли этот пост, то и так знаете, что это и зачем оно вам нужно)

Чтобы развернуть ML-модель на арендованном сервере, нужно:

1. Арендовать сам сервер

2. Установить все рекомендуемые зависимости (библиотеки, драйверы для карты и CUDA)

3. Запустить сам Hunyuan в режиме, который вам нужен


Теперь по пунктам:


1. Арендуем сервер, нужен сервер с GPU A100 (80 Гб памяти)

Тут сразу несколько вариантов. Я рекомендую выбирать тот, который удобнее именно вам, в зависимости от ваших потребностей и кошелька. Какие сейчас есть варианты:

- Selectel/Яндекс (если нужно платить российской картой и нет иностранной) — это примерно 400-500 руб. в час (видеокарты дорогие). Я тестировал только Selectel, для быстрых тестов нормально.

- AWS/GCP/DigitalOcean — примерно 5 долларов, так что по сути те же деньги. Этот вариант я не рекомендую совсем.

- vast.ai — 1,3 доллара в час. По нашинским это примерно 100 руб. Это мой вариант, его и вам рекомендую.


Остальные параметры не особо важны, я рекомендую выбирать сервер с быстрым интернетом и диском не меньше 250гб, чтобы все быстро скачалось и без проблем уместилось на диск


Все ВМ можно остановить после того, как с ними поработали, тогда вы платите только за диск (в среднем около 100 руб. в сутки). При этом ВМ не уничтожается — вы сможете ее включить, когда вам будет нужно, и продолжить работу.

2. Устанавливаем все зависимости

Одна ошибка — и ты ошибся. Тут может начаться веселье, поэтому я рекомендую всегда внимательно изучать, какие конкретно версии использовались в проектах (особенно китайских — они не умеют делать оптимизацию под людей, только под GPU).

Для примера возьмем Hunyuan-I2V:

2.1 CUDA

CUDA — необходимая штука для работы с видеокартами. 

Что это такое? Совсем грубо — набор инструментов и библиотек для работы с GPU. Лучше почитать в интернете, если вам интересно.

Идеальный вариант — выбрать сервер с установленной CUDA нужной версии. Почти на всех хостингах есть выпадающий список шаблонов (Templates), иначе придется качать самостоятельно (не наш вариант).


В описании мы видим вот такую фразу:

We recommend CUDA versions 12.4 or 11.8 for the manual installation.

Это враньё — с CUDA 11.8 вы будете плясать с бубном очень долго, поэтому выбирайте сервер с CUDA 12.4 (или выше, но не сильно).


2.2 Python

Также надо выбрать образ с нужной нам версией Python(3.11). Я отметил его на скрине — там и Python, и CUDA нужной версии.

Готовый образ с нужной версией CUDA и Python
Готовый образ с нужной версией CUDA и Python


2.3 Conda

Найти инструкцию можно тут. Главное в конце (пункт 7) выбрать yes. В остальном инструкция написана хорошо, так что этот пункт я пропущу.


2.4 Библиотеки

У Hunyuan есть инструкция, как установить все зависимости. Тут есть несколько нюансов. Делайте строго по порядку, но не выключайте голову — если видите ошибки, значит, вы что-то сделали неправильно из шагов выше.


- flash-attention может устанавливаться долго, но если этого не произошло за 10-15 минут, значит, лучше не ждать — где-то ошибка (у меня обычно он устанавливается за 2-3 секунды).


- xfuser — в инструкции есть строчка:

python -m pip install xfuser==0.4.0

Если вы так сделаете, у вас ничего не заработает (лол). Просто не скачивайте его — он и так идет в зависимостях к PyTorch. Он в любом случае нужен, если вы арендуете сервер с несколькими GPU (я пробовал взять 4×A100). В остальных случаях он не нужен.


- Вот это вообще можете не делать — у вас уже все должно быть

pip install nvidia-cublas-cu12==12.4.5.8 

export LD_LIBRARY_PATH=/opt/conda/lib/python3.8/site-packages/nvidia/cublas/lib/

3. Осталось самое простое!

Скачать нужные модельки и запустить. Инструкция по установке моделей тут (будьте осторожны — они немного ошиблись с командами, добавили cd туда, где он не нужен).

После установки структура папок у вас должна быть такая:

 ├──ckpts
  │  ├──hunyuan-video-i2v-720p
  │  ├──text_encoder_i2v
  │  ├──text_encoder_2

Даже если вы криво скачали, можно просто перенести.


Если вы все правильно сделали, можно запускаться! Попробуйте запустить их пример из демо для одной GPU.

Если у вас сервер с несколькими GPU, порядок действий тот же, но команда запуска другая.

Как только все отработает, можно забирать готовое видео из папки results!

Какие видео будет делать вы? Пишите в комментариях!

У меня также есть телеграмм канал, приходите :-)

Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.