Гайд по запуску ComfyUI на Huawei Atlas 300i Duo | Блог Serverflow Скачать
прайс-лист
Бесплатная
доставка по РФ
Бонус за
обратную связь
Интернет-магазин
Серверного оборудования
8 (800) 222-70-01 Консультация IT-специалиста Сравнение

Гайд по запуску ComfyUI на Huawei Atlas 300i Duo

~ 10 мин
43
Средний
Гайды
Гайд по запуску ComfyUI на Huawei Atlas 300i Duo

Введение

В прошлой статье мы рассказали вам, как запускать большие языковые модели на китайском ИИ-ускорителе Huawei Atlas 300i Duo. Но на развертывании LLM возможности этого передового решения не заканчиваются — вы также можете использовать его для инференса диффузионных нейросетей, генерирующих детальные изображения по вашему текстовому запросу или по референсным медиа-материалам. Однако, ввиду специфики программного стека и отсутствия большого ИИ-сообщества вокруг решений Huawei, найти полезный гайд по развертыванию диффузионок на NPU-ускорителях — дело непростое. Команда ServerFlow решила исправить это и подготовила для вас подробное руководство по запуску диффузионных ИИ-моделей через ComfyUI на Huawei Atlas 300i Duo.

Скачивание и запуск контейнера

О подготовке системы, скачивании драйверов и дополнительных инструментов мы рассказывали в предыдущем материале, поэтому сразу переходим на этап скачивания и развертывания контейнера движка инференса MindIE с ComfyUI. Для этого идем на официальный страницу с версиями сборок контейнеров MindIE и выбираем версию 2.2.RC1-300I-Duo-py311-openeuler24.03-lts. Находим нужный контейнер и выполняем установку командой:

docker run -itd --net=host --ipc=host --shm-size=2g --name mindie_2.2_comfyui_test
 --device=/dev/davinci0 --device=/dev/davinci1 --device=/dev/davinci_manager
 --device=/dev/hisi_hdc --device=/dev/devmm_svm
 -v /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro
 -v /usr/local/sbin:/usr/local/sbin:ro
 -v /data/models:/data/models
 -v /root/.cache/huggingface:/root/.cache/huggingface:r
swr.cn-south-1.myhuaweicloud.com/ascendhub/mindie:2.2.RC1-300I-Duo-py311-openeuler24.03-lts

Не забываем указать название образа, чтобы Docker автоматически выполнил его пул. В нашем случае название: mindie_2.2_comfyui_test.

После установки запускаем контейнер командой:

 docker start mindie_2.2_comfyui_test

Затем войдите в контейнер командой:

docker exec -it mindie_2.2_comfyui_test bash

После входа в среду, пропишите команду для проверки работы NPU-ускорителя внутри контейнера:

npu-smi info

Теперь клонируем репозиторий ComfyUI версии 0.3.65 в контейнер:

wget -O ComfyUI-v0.3.65.zip https://github.com/comfyanonymous/ComfyUI/archive/refs/tags/v0.3.65.zip

Затем нужно распаковать архив через этот python-скрипт:

python3 - <<'PY'
import zipfile
with zipfile.ZipFile('/ComfyUI-v0.3.65.zip', 'r') as z:
    z.extractall('/')
print('done')
PY

Теперь нужно перейти в папку с файлами ComfyUI командой:

cd ComfyUI-0.3.65/

В эту папку нужно установить все необходимые зависимости для запуска ComfyUI. Мы будем скачивать их будем через зеркало Huawei Cloud PyPI mirror.

pip install -r requirements.txt -i 
https://mirrors.huaweicloud.com/repository/pypi/simple

Когда все зависимости установлены, нужно проверить версии torch-модулей — убедитесь, что они полностью идентичны нашим версиям. 

Корректные версии torch-модулей ComfyUI
Корректные версии torch-модулей. Источник: YouTube.

Для проверки выполните команду:

pip list | grep torch

Запуск сервера инференса ComfyUI

Если все выполнено корректно, можно приступать к запуску сервера инференса ComfyUI:

 python3 main.py --listen 0.0.0.0 --port 8188 --auto-launch --disable-xformers --cpu-vae

Как вы можете заметить, мы перенесли VAE-операции на CPU, и это сделано не просто так. Дело в том, что в противном случае ComfyUI не будет работать корректно на Huawei Atlas 300i Duo, так как при выполнении операций кодирования и декодирования VAE на NPU могут возникать ошибки совместимости отдельных операторов и типов данных, из-за чего генерация будет завершается с ошибкой.

После запуска сервера в терминале появится ссылка, при переходе на которую вы попадете в интерфейс ComfyUI. Теперь перейдите во вкладку templates и найдите Stable Diffusion XL, после чего выберите именно модель в SDXL Turbo workflow и скопируйте ее URL. Скачайте веса нейросети в папку checkpoints.

Затем перейдите в контейнер и перейдите в эту папку:

comfyui/models/checkpoints

Теперь пропишите wget и вставьте скопированный URL. Дождитесь скачивания, после чего вы можете перейти в ComfyUI и запустить генерацию изображения. Рекомендуем отслеживать нагрузку на NPU при генерации с помощью команды npu-smi info. Не удивляйтесь, что нагрузка идет только на один чип — дело в том, что ComfyUI не может распределить нагрузку между двумя чипами. Первая генерация займет очень много времени, но последующие запуски будут происходить почти моментально.

Инференс SDXL Turbo в ComfyUI на Huawei Atlas 300i Duo

Скорее всего, сгенерированные изображения вас не обрадуют — SDXL Turbo вышла еще в 2023 году, поэтому уровень ее производительности оставляет желать лучшего. Результаты генерации показали в нашем новом видео на YouTube. Другие, более современные ИИ-модели, к сожалению, не поддерживают запуск на Huawei Atlas 300i Duo. Мы также делали попытки выполнить инференс более современных диффузионок, таких как Flux 1.dev и Wan2.1, но они не увенчались успехом — flux 1.dev просто не поддерживается, а генерация видео wan2.1 обрывается, так как мощностей одного NPU просто не хватает.

Выводы

Несмотря на то, что запуск ComfyUI на Huawei Atlas 300i Duo возможен, особого смысла в таком сценарии использования нет — ИИ-ускоритель поддерживает только старые модели, а из-за особенностей работы платформы ComfyUI, нагрузка будет уходить только на один NPU-чип, что режет производительность генерации в два раза. Ввиду этого, можно подвести итог, что Huawei Atlas 300i Duo — это отличное решение для инференса именно больших языковых моделей, но никак не диффузионных нейросетей. Если вы решили приобрести Huawei Atlas 300I Duo, обращайтесь в компанию ServerFlow — наши специалисты проведут вас за руку от покупки топового китайского ИИ-ускорителя до настройки всего необходимого софта и запуска вашей первой локальной ИИ-модели.
Автор: Serverflow Serverflow
Поделиться

Комментарии 0

Написать комментарий
Сейчас тут ничего нет. Ваш комментарий может стать первым.
Написать отзыв
До 6 фото, размером до 12Мб каждое
Мы получили ваш отзыв!

Он появится на сайте после модерации.

Написать комментарий

Комментарий появится на сайте после предварительной модерации

До 6 фото, размером до 12Мб каждое
Мы получили ваш отзыв!

Он появится на сайте после модерации.

Мы свяжемся с вами утром

График работы: Пн-Пт 10:00-18:30 (по МСК)

Обработаем вашу заявку
в ближайший рабочий день

График работы: Пн-Пт 10:00-18:30 (по МСК)