Недавно вышла коллекция моделей от Alibaba - Qwen3-VL:

https://huggingface.co/collections/Qwen/qwen3-vl-68d2a7c1b8a8afce4ebd2dbe

Эта модель не только "языковая", но ещё и "глазастая"
Эта модель не только "языковая", но ещё и "глазастая"

В своём блоге они написали (и показали) что могут модели этой коллекции:

  • LLM - то есть модель отвечает на вопросы. Поддерживаются 32 языка

  • Модель "видит":

    • можно прислать картинку и спросить про неё

    • можно нарисовать страницу карандашом, прислать фото и попросить написать HTML страницу с интерфейсом, как на картинке

    • можно отправить сканированные или сфотографированные страницы и попросить распознать текст, или попросить содержание в формате makrdown.

    • понимает математические формулы, и может в ответ объяснить математику

  • Контекст - 256k

  • Есть модель, которая использует "рассуждения", и есть - без "рассуждений"

Здесь далее - туториал по запуску вот этой модели:

https://huggingface.co/Qwen/Qwen3-VL-30B-A3B-Thinking-FP8

Я думаю, что самый популярный движок для запуска моделей в домашних условиях - это llama.cpp, на в нём на данный момент модели этой серии не поддерживаются.

2 октября вышла версия vllm 0.11.0 в которой добавили поддержку этой модели.

Особенность vllm в том, что c запустить модель можно только если она полностью помещается на GPU. Выгрузка в RAM теоретически есть, но практически - не работает.

По ссылке выше - модель размером 32.3 GB. Плюс ещё надо место для контекта.

Система:

  • OS: Ubuntu 24

  • GPU: NVIDIA RTX 4090D 48GB

  • Предполагается. что уже стоят NVIDIA драйверы, Docker и nvidia-container-toolkit

Docker Composer:

services:
  qwen3vl:
    image: vllm/vllm-openai:v0.11.0
    container_name: qwen3vl-30b-4090D
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              capabilities: [gpu]
              device_ids: ['0']
    ports:
      - "36000:8000"
    environment:
      TORCH_CUDA_ARCH_LIST: "8.9"
    volumes:
      - /home/slavik/.cache:/root/.cache
    ipc: host
    command:
      - "--model"
      - "Qwen/Qwen3-VL-30B-A3B-Thinking-FP8"
      - "--max-model-len"
      - "139268"
      - "--served-model-name"
      - "local-qwen3vl-30b"
      - "--dtype"
      - "float16"
      - "--gpu-memory-utilization"
      - "0.98"
      - "--max-num-seqs"
      - "2"

В манифесте выше вам нужно будет подправить:

  • путь, где вы будете хранить модель. Модель загрузится при первом запуске контейнера. Это может занять значительно время.

  • порт. Выше - это 36000

Контект - 139к. Вот столько помещаются у меня в 48GB VRAM.

VLLM при запуске компилирует данные из модели, и у меня это занимает 2-4 минуты.

Скорость:

  • обработка промпта: 4000+ токенов в секунду.

  • генерация токенов в ответ:

    • 90 токенов в секунду на маленьком контекст

    • 40 токенов в секунду на 120k контексте

VLLM не предоставляет никакого пользовательского интерфейса (UI), а только API.

Поэтому получить ответ можно либо отправив запрос с помощью утилиты, например curl:

curl 'http://192.168.0.123:36000/v1/chat/completions' \
 -H 'Content-Type: application/json' \
 -d '{
    "messages": [
        {
        "role": "user",
        "content": "Что такое счастье?"
        }
    ]
}' | jq

Либо используя какой-нибудь frontend.

Один из самых популярных - OpenWebUI. Я использую именно этот. И в общем всё работает: можно отправлять текст, картинки, даже сразу рендерится HTML из ответов. Вот только "рассуждения" для этой модели отображются в ответе, хотя у других моделей "рассуждения" обычно прячутся в отдельное поле.

"Рассуждает" модель довольно усердно, что может занимать значительное время, но качество ответов это серьёзно улучшает. Если же приоритет - скорость ответа, то можно использовать вот эту модель из этой же коллекции - она без "рассуждений" и отвечает сразу:

https://huggingface.co/Qwen/Qwen3-VL-30B-A3B-Instruct-FP8

В общем, модели - классные, удобные. Запускайте, пользуйтесь.

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