GPU, ускорители и инфраструктура LLM

Визуальный токен

Определение

Визуальный токен — единица представления изображения в последовательности, которую обрабатывает модель. В Qwen2-VL такую позицию занимает вектор признаков; специальный ID указывает, куда его подставить.

Также ищут: visual token · позиция визуального признака

Зачем это знать

По обработанной сетке можно посчитать, сколько позиций изображение займёт на входе Qwen2-VL. Затем к ним добавляют разделители и текст; расход памяти и задержку проверяют отдельно.

Наглядно

От сетки изображения к позициям LLM

От сетки изображения к позициям LLM После изменения размеров 448 × 896 пикселей Сетка с шагом 14 × 14 32 × 64 = 2048 ячеек Слияние блоков 2 × 2 2048 ÷ 4 = 512 позиций 512 визуальных позиций + 2 маркера изображения = 514 с разделителями
Одно неподвижное изображение Qwen2-VL в Transformers v4.45.2: размеры после обработки, patch_size=14, merge_size=2, одна временная группа. Визуальный кодировщик обрабатывает сетку, затем сливает соседние признаки. 514 позиций — вклад изображения с двумя разделителями; прочий вход считается отдельно. Источники схемы
Связи из словаря

Карта понятия

Доказательная часть

Что подтверждено

  1. В примере статьи Qwen2-VL для изображения 224×224 указаны 64 визуальные позиции и два маркера изображения; вместе это 66 позиций последовательности.

    Граница применимости: Пример формата Qwen2-VL в статье; число визуальных позиций и маркеры перечислены отдельно.

  2. В Qwen2-VL (Transformers v4.45.2) N=grid_t×grid_h×grid_w/merge_size². Для неподвижного изображения два одинаковых кадра при temporal_patch_size=2 образуют одну группу: grid_t=1. При patch_size=14 и merge_size=2 N=(H/28)×(W/28); H и W — размеры после обработки.

    Граница применимости: Считаются позиции визуальных признаков, не текст, не разделители и не вся длина запроса; grid_h/grid_w — сетка до пространственного слияния.

  3. В Transformers v4.45.2 при изменении размеров процессор Qwen2-VL передаёт smart_resize множитель patch_size×merge_size. При значениях 14 и 2 высота и ширина результата кратны 28.

    Граница применимости: Transformers v4.45.2, корректный вход и согласованная конфигурация; min_pixels и max_pixels влияют на результат.

  4. В Transformers v4.45.2 smart_resize с factor=28, min_pixels=56² и max_pixels=224² уменьшает квадрат 1000×1000 до 224×224. В Qwen2-VL при patch_size=14 и merge_size=2 одно такое изображение даёт 64 визуальные позиции; два разделителя считаются отдельно.

    Граница применимости: Выполнена отдельно smart_resize из закреплённого кода и проверен расчёт позиций для одной временной группы. Полный процессор и модель не запускались.

  5. В Qwen2-VL (Transformers v4.45.2) повторённый специальный ID отмечает позиции изображения. При обработке входа модель заменяет векторы этих позиций визуальными признаками; сами признаки не являются номерами слов словаря.

    Граница применимости: Transformers v4.45.2 при переданных input_ids и pixel_values и без внешнего inputs_embeds.

  6. При конечных размерах 448×448 и 448×896 сетка Qwen2-VL содержит соответственно 1024 и 2048 позиций до слияния, а после слияния — 256 и 512 визуальных позиций.

    Граница применимости: Авторский целочисленный расчёт одного изображения при patch_size=14, merge_size=2 и указанных итоговых размерах; это не замер времени или памяти.

  7. Размер JPEG в байтах и длина JSON сами по себе не задают число визуальных позиций Qwen2-VL: для расчёта нужны размеры после обработки и параметры сетки/слияния.

    Граница применимости: Вывод из пути пиксели → сетка → повторы image placeholder; не утверждение о биллинге внешнего API.

Перед спецификацией

Что проверить

  1. Считайте визуальные позиции по размерам после обработки и параметрам patch_size и merge_size.
  2. Складывайте визуальные позиции, маркеры изображения и прочий текстовый вход отдельными слагаемыми.
  3. Зафиксируйте изображения, текст и нагрузку; отдельно измерьте качество, время ответа, ошибки и пиковую память.
Открытые основания

Первоисточники

  • Исследование1
  • Документация4
  • Первичная публикация
    Qwen2-VL: Enhancing Vision-Language Model’s Perception of the World at Any Resolution Peng Wang et al.; Qwen Team, Alibaba Group · arXiv:2409.12191v1, 18 September 2024 · проверено

    §2.1 Model Architecture / Naive Dynamic Resolution; Unified Image and Video Understanding; §2.2.1 Data Format.

    Утверждения: 01 · 04

  • Официальная документация
    processing_qwen2_vl.py Hugging Face Transformers · git tag v4.45.2 · проверено

    Qwen2VLProcessor.__call__: image_grid_thw, merge_length, image_pad expansion and tokenizer.

    Утверждения: 02 · 04 · 05 · 06 · 07

  • Официальная документация
    image_processing_qwen2_vl.py Hugging Face Transformers · git tag v4.45.2 · проверено

    smart_resize; Qwen2VLImageProcessor.__init__ and _preprocess.

    Утверждения: 02 · 03 · 04 · 06

  • Официальная документация
    Qwen2-VL Hugging Face Transformers documentation · Transformers v4.45.2 · проверено

    Usage Tips / Image Resolution for performance boost; Qwen2VLImageProcessor and Qwen2VLForConditionalGeneration.

    Утверждения: 03 · 07

  • Официальная документация
    modeling_qwen2_vl.py Hugging Face Transformers · git tag v4.45.2 · проверено

    PatchEmbed, PatchMerger, vision forward and conditional-generation forward with image features.

    Утверждения: 05 · 07

Карта знаний

Связанные понятия

Из знания — в навык

Курсы по теме

Подтвердите действие