Использование Open WebUI с vLLM на Dell Pro Max 16 Plus MB16250 с платой Qualcomm Inference Card в Linux
Summary: Узнайте, как обслуживать LLM с помощью vLLM, работающего на карточке логического вывода AI100, а затем использовать Open WebUI для общения с моделью.
Instructions
Предварительные условия
Выполните одноразовую настройку устройства Как настроить Dell Pro Max 16 Plus с платой Qualcomm Inference в Linux.
Для использования этой модели необходимо передать маркер Huffingface (HF_TOKEN). Во-первых, войдите в Huggingface (создайте бесплатную учетную запись, если у вас ее нет). Затем необходимо принять условия использования модели, перейдя по ссылке для моделей.
Утверждение доступа к модели займет 5–10 минут, после чего вы получите подтверждение по электронной почте. После этого вы можете создать токен. Из обнимающегося лица.
- Нажмите на иконку своего профиля в правом верхнем углу сайта Huggingface.
- В раскрывающемся меню выберите Параметры.
- На левой панели навигации нажмите Маркеры доступа.
- Нажмите кнопку + Создать новый токен .
- Укажите имя токена (например, my-hf-token).
- Нажмите кнопку « Чтение » (не выбирайте кнопки «Детализация» или «Запись»).
- Нажмите кнопку Создать токен .
- Отобразится значение токена. Немедленно скопируйте это значение и сохраните его в безопасном месте, так как оно больше не будет отображаться после того, как вы покинете страницу.
Теперь в терминале Ubuntu используйте логин huggingface-cli для ввода токена, который позволяет использовать модель Llama-3.2-1B-Instruct из Huggingface. Если у вас не установлен huggingface-cli, вам может потребоваться установка с помощью pip install huggingface-hub. Пример выходных данных.
Пример использования my-hf-token HF_TOKEN
dell@dell:~$ huggingface-cli login
⚠️ Warning: 'huggingface-cli login' is deprecated. Use 'hf auth login' instead.
_| _| _| _| _|_|_| _|_|_| _|_|_| _| _| _|_|_| _|_|_|_| _|_| _|_|_| _|_|_|_|
_| _| _| _| _| _| _| _|_| _| _| _| _| _| _| _|
_|_|_|_| _| _| _| _|_| _| _|_| _| _| _| _| _| _|_| _|_|_| _|_|_|_| _| _|_|_|
_| _| _| _| _| _| _| _| _| _| _|_| _| _| _| _| _| _| _|
_| _| _|_| _|_|_| _|_|_| _|_|_| _| _| _|_|_| _| _| _| _|_|_| _|_|_|_|
A token is already saved on your machine. Run `hf auth whoami` to get more information or `hf auth logout` if you want to log out.
Setting a new token will erase the existing one.
To log in, `huggingface_hub` requires a token generated from https://huggingface.co/settings/tokens .
Enter your token (input will not be visible):
Add token as git credential? (Y/n) y
Token is valid (permission: read).
The token `my-hf-token` has been saved to /home/dell/.cache/huggingface/stored_tokens
Your token has been saved in your configured git credential helpers (store).
Your token has been saved to /home/dell/.cache/huggingface/token
Login successful.
The current active token is: `my-hf-token`
dell@dell:~$ HF_TOKEN=<INSERT YOUR TOKEN HERE>
Скачать предварительно собранный QPC Llama 3.2:1B Instruct
В этом сценарии мы будем использовать предварительно созданный QPC для предварительно скомпилированного каталога моделей Llama 3.2:1B Instruct-Zentree-Qualcinn для облачных ускорителей ИИ.Предупреждение: Это незащищенная ссылка, используйте ее на свой страх и риск.
Выполните следующие действия, чтобы скачать и извлечь QPC из архива. Плата логического вывода AI100 использует до двух однокристальных систем (система на кристалле), поэтому мы загружаем эту конкретную предварительно собранную версию, используя адрес ссылки для скачивания Zentree. Если у вас еще не установлен curl, вы можете установить его в терминале с помощью команды sudo apt install curl.
# Use existing Downloads folder for model downloads
cd ~/Downloads
# Download QPC archive from Zentree as llama3.2-1b-instruct.tar.gz
curl -fSL https://dc00tk1pxen80.cloudfront.net/SDK1.20.4/meta-llama/Llama-3.2-1B-Instruct/Llama-3.2-1B-Instruct_qpc_16cores_128pl_8192cl_1fbs_2devices_mxfp6_mxint8.tar.gz -o llama3.2-1b-instruct.tar.gz
# Extract QPC archive
tar -xzvf llama3.2-1b-instruct.tar.gz
# Rename extracted directory to llama3.2-1b-instruct-qpc
mv $(tar -tzf llama3.2-1b-instruct.tar.gz | head -1 | cut -f1 -d"/") llama3.2-1b-instruct-qpc
Обслуживание модели обучения Llama 3.2:1B с помощью vLLM
Откройте терминал и выполните следующую команду.
-v ~/Downloads/llama3.2-1b-instruct-qpc:/root/qpcСтрока сопоставляется с каталогом загрузки QPC из шага Скачать Llama 3.2:1B Инструктируйте предварительно созданный QPC, раздел 2: Скачайте предварительно собранный QPC Llama 3.2:1B Instruct.- HF_TOKEN должен быть задан так же, как в разделе Prequesites 1, который будет передан в контейнер
- Обслуживаемая модель выглядит следующим образом:
meta-llama/Llama-3.2-1B-Instructиз Llama 3.2:1B Instruct-Zentree-Qualcinn Каталог предварительно скомпилированных моделей для облачных ускорителейИИ.Предупреждение: Это незащищенная ссылка, используйте ее на свой страх и риск.
max-num-seq- это один полный размер партии из каталога предварительно скомпилированных моделей Llama 3.2:1B Instruct-Zentree-Qualcinn для облачных ускорителейИИ.Предупреждение: Это незащищенная ссылка, используйте ее на свой страх и риск.
max-model-lenсоставляет 8192 из Context Length (CL) в Llama 3.2:1B Instruct-zentree-Qualcinn Precompiled Model Catalog for Cloud AI Accelerators.Предупреждение: Это незащищенная ссылка, используйте ее на свой страх и риск.
max-seq_len-to-captureсоставляет 128 из Chunking Prompt Length из Llama 3.2:1B Instruct-zentree-Qualcinn Precompiled Model Catalog for Cloud AI Accelerators.Предупреждение: Это незащищенная ссылка, используйте ее на свой страх и риск.
Если вы ранее не использовали эту версию контейнера Docker AI100, он получает ~14 ГБ перед открытием контейнера Docker. Перед открытием контейнера Docker убедитесь, что HF_TOKEN настроен.
docker run --rm -it \
--name qaic-bench \
--device=/dev/accel/accel1 \
--device=/dev/accel/accel2 \
--network host \
--ulimit nofile=1048576 \
-e OMP_NUM_THREADS=8 \
-e HF_TOKEN=$HF_TOKEN \
-v ~/Downloads/llama3.2-1b-instruct-qpc:/root/qpc \
ghcr.io/quic/cloud_ai_inference_ubuntu24:1.20.6.0 \
/opt/vllm-env/bin/vllm serve meta-llama/Llama-3.2-1B-Instruct \
--max-num-seq 1 \
--max-model-len 8192 \
--max-seq_len-to-capture 128 \
--device qaic \
--device-group 0,1 \
--quantization mxfp6 \
--kv-cache-dtype mxint8 \
--override-qaic-config "qpc_path=/root/qpc/qpc"
Модель готова к выводу, как только появится сообщение «Загрузка приложения завершена».
meta-llama/Llama-3.2-1B-Instruct ограничено. Для доступа к нему необходимо иметь доступ и пройти аутентификацию. Пожалуйста, авторизуйтесь».
Чтобы остановить vLLM (выгрузку модели и закрытие контейнера), нажмите Ctrl+C в этом окне терминала. Разгрузка более крупных моделей может занять до 1 минуты.
Справочные материалы: Docker — руководство пользователя Qualcomm® Cloud AI SDK и vLLM — руководство пользователя Qualcomm® Cloud AI SDK
Запустить контейнер Open WebUI
Откройте новый терминал и выполните следующую команду.
docker run -d \
-p 3000:8080 \
-e WEBUI_AUTH=False \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
--name open-webui \
ghcr.io/open-webui/open-webui:main-slim
При этом извлекается контейнер с Open WebUI, если он ранее не скачивался. Через ~20 секунд Open WebUI доступен в браузере по следующей ссылке: http://localhost:3000/
http://localhost:3000/
Контейнер будет работать в фоновом режиме, пока не будет остановлен контейнер. Используйте следующие команды в терминале для остановки, перезапуска или обновления контейнера.
Чтобы остановить контейнер, выполните следующие действия. docker rm -f open-webui
Чтобы перезапустить существующий контейнер, выполните следующие действия. docker start open-webui
Чтобы обновить контейнер, выполните следующие действия. docker pull ghcr.io/open-webui/open-webui:main-slim
См.: Быстрый старт | Открыть WebUI
Настройка Open WebUI
Используйте браузер для перехода по следующей ссылке http://localhost:3000/admin/settings/connections
- Добавление подключения OpenAI API — в строке Управление подключениями OpenAI API нажмите + для типа подключения справа.
- Переключите тип подключения на Local.
- Задайте для URL-адреса значение
http://host.docker.internal:8000/v1 - Нажмите Сохранить.
См.: Быстрое начало работы/открытие WebUI
Использование Open WebUI
Используйте браузер для подключения по этой ссылке http://localhost:3000/ и начать чат, Open WebUI автоматически определит модель. Можно поддерживать контейнер активным и изменять его модели с помощью vLLM или остановить контейнер с помощью команд, описанных в разделе 4: Запустите контейнер Open WebUI.