Что такое 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 нужной версии.
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 туда, где он не нужен).
