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

Гайд по инференсу Qwen-30B-A3B Q8 и Qwen3-32B на Huawei Atlas 300i Duo 96 GB

~ 15 мин
33
Сложный
Гайды
Гайд по инференсу Qwen-30B-A3B Q8 и Qwen3-32B на Huawei Atlas 300i Duo 96 GB

Введение

Китайские ИИ-ускорители считаются моветоном для большинства ИИ-энтузиастов. И дело не в том, что у них слабая производительность или мало VRAM — напротив, такие решения, как Huawei Atlas 300i Duo с 96 ГБ памяти и производительностью до 280 TOPS в INT8 дают возможность вполне успешно запускать даже самые современные ИИ-модели. А вот то, что действительно отпугивает любителей локального инференса, так это сложность настройки и запуска LLM на китайском чуде техники. Мы прошли эти 9 кругов ада на личном опыте, причем неоднократно, поэтому команда ServerFlow решила пощадить нервы наших читателей, подготовив подробный гайд (и видеогайд) по инференсу передовой ИИ-модели Qwen3-30B-A3B на не менее передовом NPU-ускорителе Huawei Atlas 300i Duo.

Подробнее о Huawei Atlas 300i Duo

Huawei Atlas 300I Duo — это однослотовый, полнопрофильный ИИ-ускоритель от компании Huawei, представленный в 2022 году и предназначенный для инференса локальных моделей искусственного интеллекта. Dual в названии этого решения добавлено не для красного словца — ускоритель имеет два NPU-процессора Ascend 310P, которые обеспечивают ИИ-производительность до 280 TOPS в INT8 и 140 TFLOPS в FP16, сохраняя энергоэффективность на уровне 1,86 TOPS/Вт. Но ключевая особенность Huawei Atlas 300I Duo даже не в двухчиповой конфигурации, а в огромном объеме память — 96 ГБ LPDDR4X. Да, это не сверхскоростная HBM и даже не быстрая GDDR, но за счет внушительной емкости VRAM, на карте можно с легкостью запускать даже самые современные языковые модели. Huawei Atlas 300I Duo поддерживает интеграцию в слот PCIe Gen4 x16 и потребляет всего 150 Вт. Карта имеет пассивную систему охлаждения, поскольку изначально Huawei Atlas 300I Duo ориентированы на интеграцию в плотные серверные шасси. Само собой, никаких CUDA и уж тем более ROCm эта карточка не поддерживает — у Huawei есть своя открытая библиотека инструментов для выполнения задач искусственного интеллекта под названием CANN. Пока решение выглядит как идеальный ИИ-ускоритель для тех, кто не хочет переплачивать за GPU AMD и Nvidia, но есть несколько важных нюансов, о которых мы расскажем ниже.
Huawei Atlas 300i Duo 96 GB
Передовой китайский ИИ-ускоритель Huawei Atlas 300I Duo с 96 ГБ  LPDDR4X.

Развертывание ИИ на Huawei Atlas 300I Duo

Переходим к гвоздю программы — пошаговому руководству для запуска нейросети Qwen3-30B-A3B на Huawei Atlas 300I Duo.

Подготовка системы и установка драйверов

Для начала обновим зависимости и встроенные инструменты командами:

sudo apt-get update
sudo apt-get install -y net-tools
sudo apt-get install -y make dkms gcc linux-headers-$(uname -r)

Затем выполним установку драйверов с официального сайта Huawei Ascend. Выберите тип устройства “ИИ-ускоритель”, название карты “Huawei Atlas 300I Duo”, версию библиотеки CANN 8.5.0, тип устройства NPU, формат пакетов run, архитектуру центрального процессора (в нашем случае x86) и версию прошивки Ascend HDK 25.3.RC1. Затем перед вами появится список драйверов — для скачивания у вас должен быть аккаунт на hiascend.com. Чтобы облегчить вам задачу, мы загрузили драйвера на Huawei Atlas 300I Duo в наш Telegram-канал и на наш файловый сервер.

Страница скачивания драйверов Huawei Ascend
Страница скачивания драйверов Huawei Ascend. Источник: Huawei Ascend.

Затем необходимо перейти в терминал и сделать файлы исполняемыми. Для этого выполните команду:

chmod +x Ascend-hdk-<chip_type>-npu-driver_<version>_linux-<arch>.run
chmod +x Ascend-hdk-<chip_type>-npu-firmware_<version>.run

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

sudo ./Ascend-hdk-310p-npu-driver_25.3.rc1_linux-x86-64.run --full --install-for-all

После успешной установки драйверов ИИ-ускорителя, вам также нужно обновить Firmware. Для этого введите команду:

sudo ./Ascend-hdk-310p-npu-firmware_7.8.0.2.212.run --full

После успешной установки всех драйверов, перезагрузите систему, чтобы изменения вступили в силу. Чтобы проверить, видит ли система ИИ-ускоритель Huawei Atlas 300I Duo, введите команду:

npu-smi info

Установка движка инференса MindIE

Huawei Atlas 300i Duo поддерживает инференс через движки vLLM или llama.cpp, но скорость оставляет желать лучшего — для достижения наибольшей производительности, Huawei разработала свой собственный открытый движок под названием MindIE. Вы могли бы подумать, что это очередной китайский костыль, который не идет ни в какое сравнение с западными аналогами, но вы ошибаетесь. MindIE поддерживает все современные механизмы ускорения инференса искусственного интеллекта, вроде PagedAttention, Continuous Batching, Sinking и далее по списку. В общем, в производительном многопоточном инференсе MindIE ничем не уступает тому же llama.cpp. Кроме того, MindIE поддерживает инференс современных открытых LLM, включая DeepSeek, Qwen, Mistral, GLM и других топовых нейросетей.

Страница движка инференса Huawei MindIE
Страница движка инференса Huawei MindIE. Источник: Huawei Ascend.

Чтобы скачать движок, перейдите на официальный страницу с версиями сборок контейнеров MindIE и выберите версию, которая подходит под версию вашей ОС, версию CANN 8.5.0 и архитектуру центрального процессора. В нашем случае мы будем использовать сборку 2.2.RC1-300I-Duo-py311-openeuler24.03-lts, так как именно на ней наиболее стабильно выполняется квантизация нейросетей и инференс ИИ-модели Qwen3, которую мы будем запускать на Huawei Atlas 300I Duo. Учтите, что если вы собираетесь запускать именно MoE-версию Qwen3, вам потребуется сборка 2.3.0-300I-Duo-py311-openeuler24.03-lts.

Затем выполняем установку контейнера для квантизации командой:

docker run -itd --net=host --ipc=host --shm-size=2g --name mindie_2.2_video
 --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:rw \
swr.cn-south-1.myhuaweicloud.com/ascendhub/mindie:2.2.RC1-300I-Duo-py311-openeuler24.03-lts

Для инференса ИИ-моделей также нужно установить отдельный контейнер, в нем будет выполняться непосредственно запуск LLM после их квантизации. Для установки контейнера инференса введите команду:

docker run -itd --net=host --ipc=host --shm-size=2g --name mindie_2.2_video
 --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:rw / swr.cn-south-1.myhuaweicloud.com/ascendhub/mindie:2.3.0-300I-Duo-py311-openeuler24.03-lts

Также не забудьте указать название образа, чтобы Docker автоматически выполнил его пул, если его нет на устройстве. В нашем случае назовем контейнер mindie_2.2_test. Вся дальнейшая настройка будет происходить именно в этом контейнере. Выполните команду для старта контейнера:

docker start mindie_2.2_test

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

docker exec -it mindie_2.2_test bash

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

dnf install -y git

В конце выполните установку cmake make в контейнере командой:

dnf install -y cmake make gcc gcc-c++ git

Квантизация Qwen3-32B на Huawei Atlas 300I Duo

Квантизация на ИИ-ускорителях Huawei Atlas 300I Duo — это не то же самое, что и на решениях AMD/Nvidia, так как квантизация напрямую связана с движком инференса MindIE и софтом для квантизации msModelSlim.

Квантизация выполняется следующим образом:
  • Берется исходная модель в формате FP16;
  • Через msModelSlim выбирается нужный режим квантизации;
  • Программа msModelSlim создает новые веса, дополнительные служебные тензоры и наборы параметров;
  • Результат квантизации сохраняется в виде нового набора файлов;
  • После этого готовая модель запускается через MindIE.
Как работает квантизация ИИ-моделей в экосистеме Huawei
Как работает квантизация ИИ-моделей в экосистеме Huawei. Источник: YouTube.

Huawei предлагает 5 методов квантизации нейросетей:
  • W8A8 — веса и активации переводятся в INT8, поддерживается на Huawei Atlas 300I Duo и Huawei Atlas 800I A2;
  • W8A8SC/W16A16SC — специальный формат для разряженной квантизации, где веса и активации переводятся в 8 или 16 бит, часть маловажных весов обнуляются и дополнительно кодируются, поддерживается только на Huawei Atlas 300I Duo;
  • W8A16 — веса в INT8, активации в 16-бит, поддерживается на Huawei Atlas 800I A2;
  • W4A8 — особый режим для MoE-моделей, поддерживается на Huawei Atlas 800I A2.
Виды квантизации в экосистеме Huawei
Виды квантизации в экосистеме Huawei. Источник: YouTube.

Чтобы приступить к процессу квантизации, сначала необходимо клонировать репозиторий msModelSlim с Git командой: 

env -u LD_LIBRARY_PATH git clone https://gitcode.com/Ascend/msit

После этого нужно перейти в msModelSlim и запустить bash-скрипт для установки необходимых зависимостей и сборки компонента weight_compression под установленный CANN, чтобы дальше можно было выполнять sparse-компрессию и упаковку весов в формат. Для перехода в msModelSlim введите команду:

cd msit/msmodelslim/

Для запуска bash-скрипта введите команду:

cd/usr/local/lib/python3.11/site-packages/msmodelslim/pytorch/weight_compression/compress_graph/
bash build.sh ~/../usr/local/Ascend/ascend-toolkit/latest
chmod -R 550 build

Затем создайте папку, чтобы сохранять квантизованную модель командой:

mkdir -p ~/../data/models/Qwen3-32B-w8a8s

В нашем случае мы будем выполнять кванизацию W8A8S ИИ-модели Qwen3-32B. Стоит отметить, что квантизацию ИИ-ускоритель Huawei Atlas 300I Duo поддерживает только на одном NPU-чипе, поэтому второй чип нужно временно сделать невидимым командой:

export ASCEND_RT_VISIBLE_DEVICES=0

Затем запускаем квантизацию указав путь до исходной модели, путь до квантизованной модели, NPU-чип и тип квантизации. Для запуска введите команду:

msmodelslim quant --model_path /data/models/Qwen3-32B --save_path /data/models/Qwen3-32B-w8a8s/ --device npu --model_type Qwen3-32B --quant_type w8a8s --trust_remote_code True

Будьте готовы, что процесс будет долгим — у нас он занял 17 минут.

А теперь необходимо закончить квантизацию модели Qwen3-32B, но уже в формат W8A8SC. Для этого также нужно создать отдельную папку командой:

mkdir -p /data/models/Qwen3-32B-w8a8sc-tp2

В этот раз нужно включить уже оба чипа, так как в противном случае готовая модель будет запускаться только на одном NPU, что урежет производительность в два раза. Для активации двух чипов введите команду:

export ASCEND_RT_VISIBLE_DEVICES=0,1

Затем запускаем скрипт для квантизации W8A8SC следующей командой:

torchrun --nproc_per_node 2
 -m examples.convert.model_slim.sparse_compressor
 --model_path /data/models/Qwen3-32B-w8a8s
 --save_directory /data/models/Qwen3-32B-w8a8sc-tp2

Квантизация снова отнимет много времени — в этот раз 21 минута.

Квантизация Qwen-30B-A3B Q8 на Huawei Atlas 300I Duo

Мы также решили выполнить квантизацию MoE-модели Qwen-30B-A3B Q8, которая при инференсе будет работать быстрее стандартной dense-модели.

Для этого снова создаем отдельную папку для MoE-модели и выполняем скрипт, модифицированный нашими специалистами, так как стандартный алгоритм квантизации не работает. Скрипт скинули в наш Telegram-канал. Для запуска скрипта выполните команду:

python3 /usr/msit/msmodelslim/example/Qwen3-MOE/quant_qwen_moe_w8a8.py \
 --model_path /data/models/Qwen3-30B-A3B \
 --save_path /data/models/Qwen3-30B-A3B-w8a8-fixed \
 --anti_dataset /data/models/qwen3-moe_anti_prompt_50.json \
 --calib_dataset /data/models/qwen3-moe_calib_prompt_50.json \
 --batch_size 1 \
 --device_id 0 \
 --trust_remote_code True

В отличие от dense-модели, при квантизации MoE каждый слой нейросети будет обрабатываться поочередно, что можно наглядно увидеть в логах.

Запуск моделей через движок инференса MindIE

Чтобы запустить квантизированные модели, необходимо отредактировать конфиг-файл MindIE: выключите https, укажите номера NPU-чипов, их количество, а также путь до выбранной модели. Чтобы открыть конфиг-файл, введите команду:

vim usr/local/Ascend/mindie/latest/mindie-service/conf/config.json

Затем добавить в окружение пути к библиотекам PyTorch, а также загрузить переменные окружения MindIE Service и Ascend Toolkit. Это нужно для того, чтобы система корректно находила исполняемые файлы необходимые для работы сервиса и NPU. Для этого введите команду:

export LD_LIBRARY_PATH=/usr/local/lib64/python3.11/site-packages/torch/lib:$LD_LIBRARY_PATH
 source /usr/local/Ascend/mindie/latest/mindie-service/set_env.sh
 source /usr/local/Ascend/ascend-toolkit/set_env.sh

После этого запустите mindieserivece deamon — это процесс, который запускает сервер инференса ИИ-моделей через движок MindIE. Для запуска введите команду:

./usr/local/Ascend/mindie/latest/mindie-service/bin/mindieservice_daemon

Если вы увидели надпись “daemon start success”, значит инференс прошел успешно. С ИИ-моделями уже можно вести диалог, но лучше всего перейти в веб-интерфейс для удобства работы, например, OpenWebUI. Для этого перейдите в OpenWebUI, зайдите в настройки администратора, и в настройках подключения OpenAI API укажите эндпоинт с вашим локальным адресом http (именно http, а не https).

Если все введено корректно, в разделе моделей OpenWebUI должна появится ваша ИИ-модель. Выберите ее и смело задавайте свой первый вопрос вашей локальной нейросети!

Инференс Qwen-30B-A3B Q8 на на Huawei Atlas 300I Duo
Инференс Qwen-30B-A3B Q8 на на Huawei Atlas 300I Duo. Источник: YouTube.

Выводы

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

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

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

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

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

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

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

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

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

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

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

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