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

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

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

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

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

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

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

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

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

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

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

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

Это я изучаю электронику, модель запущена на моём компьютере
Это я изучаю электронику, модель запущена на моём компьютере

Последние несколько недель моей "рабочей" моделью была GPT-OSS-120B (196GB) Я использовал 4х-битный квант - MXFP4 (63.4GB). Сейчас я перешёл на Qwen3-VL-30B-A3B-Thinking-FP8 (полная модель - 62.2GB, 8-битный квант - 32.3GB). По очкам GPT-OSS-120B - впереди:

Наверное эти очки посчитаны без квантования. GPT-OSS - high reasoning, QWEN3-VL - thinking
Наверное эти очки посчитаны без квантования. GPT-OSS - high reasoning, QWEN3-VL - thinking

Разница по очками небольшая в пользу GPT-OSS-120B, но только Qwen3-VL-30B может работать с изображениями на входе. Да и цензурирована GPT-OSS сильнее, хотя это и субъективно.

По скорости генерации токенов эти две модели более-менее одинаковы.

Здесь далее - туториал по запуску вот этой модели (8-битный квант):

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

Я думаю, что самые популярные движки для запуска моделей в домашних условиях - это llama.cpp и Ollama, но у них на данный момент модели этой серии не поддерживаются (в комментариях подсказывают, что уже появляются варианты). Когда поддержку добавят, то думаю, что 4-х битные кванты этой модели будут размером около 16-18GB.

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

Особенность vllm в том, что запустить модель можно только если она полностью помещается на 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"
      - "--reasoning-parser"
      - "deepseek_r1"

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

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

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

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

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

Может показаться странным, что значение поля "reasoning-parser" - "deepseek_r1", но без этого параметра "рассуждения" попадают в сам ответ, а не в ту его часть, которая для "рассуждений"

Скорость:

  • обработка промпта: 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

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