TL;DR
При анализе и разметке видео с помощью мультимодальных LLM (MLLM) способ упаковки входных данных — подать ли в модель текстовую расшифровку речи и титров (ASR + OCR), нарезку кадров со звуком, нативное видео или текст вместе с видео — меняет точность классификации сильнее, чем смена самой модели. Авторы исследования проверили 9 способов подачи видео на 6 мультимодальных моделях и выяснили, что универсального «лучшего» формата не существует: на смысловых задачах половина моделей точнее работает по извлечённому тексту (разброс macro-F1 от 0,52 до 0,80), а другая половина — по нативному видео (0,70–0,77).
Практики часто действуют по интуиции: либо кидают в модель сырой видеофайл целиком («пусть сама всё увидит и услышит»), либо склеивают в один запрос и кадры со звуком, и текстовую расшифровку («чем больше данных, тем лучше»), а затем выбирают пайплайн по максимальному баллу F1 на тестовой выборке. Исследование доказывает, что обе привычки подводят: во-первых, при склейке текста и видео в один вызов (Text + video) модели почти никогда не объединяют сильные стороны обоих каналов и не обходят лучший одиночный формат; во-вторых, даже при выборе самого точного по F1 формата в 45% случаев итоговая доля категории в выборке ошибается более чем на 10 процентных пунктов от человеческой разметки.
Чтобы не получать искажённую аналитику, авторы предлагают проверять пайплайн разметки видео по четырём критериям валидности представления: достаточность (сохраняет ли выбранный формат канал, нужный для конкретной метки), использование (меняется ли ответ модели, если отключить звук или картинку), интеграция (помогает ли склейка каналов в одном запросе) и точность итоговых выводов (совпадает ли доля класса или коэффициент регрессии с ручной разметкой на контрольной выборке).
Схема метода
Диагностика и выбор формата подачи видео перед массовой разметкой (выполняется через серию тестовых прогонов по API или в локальном конвейере):
ШАГ 1 (Карта каналов): Для каждого поля анкеты укажи обязательный канал → [Речь / Текст на экране (OCR) / Визуал / Невербальный звук и интонация]
ШАГ 2 (Тест 2–3 маршрутов на выборке): Прогони один и тот же промпт на [Извлечённый текст (ASR + OCR)] vs [Нативное видео / 16 кадров + аудио]
ШАГ 3 (Проверка использования канала): Убери аудиодорожку из видео-маршрута → если ответы не изменились, модель игнорирует звук на этой задаче
ШАГ 4 (Калибровка по целевой метрике): Сравни с ручной разметкой не только F1, но и итоговую долю категории (prevalence) → выбери маршрут с минимальным смещением доли
Пример применения
Задача: Команда маркетинговой аналитики российского e-commerce бренда (продавцы на Ozon и Wildberries) хочет автоматически размечать по 2 000 вертикальных роликов (Reels и ВК Клипы) конкурентов в неделю. Нужно извлекать 4 признака: 1) есть ли в ролике конфликт/острая проблема покупателя, 2) есть ли призыв перейти по ссылке/артикулу, 3) показан ли спикер в кадре (говорящая голова или только распаковка руками), 4) используется ли фоновая трендовая музыка.
Промпт (Единый шаблон кодирования по JSON-схеме с переключаемой строкой входного маршрута):
Ты — аналитик видеоконтента. Проанализируй представленный рекламный ролик и закодируй его строго по приведённой ниже инструкции (кодовой книге).
Входные данные ролика:
[ДЛЯ МАРШРУТА «ИЗВЛЕЧЁННЫЙ ТЕКСТ»]: Тебе предоставлены метаданные ролика (описание, хэштеги), автоматическая расшифровка устной речи (ASR) и текст, распознанный с экрана раз в секунду без дублей (OCR).
[ИЛИ ДЛЯ МАРШРУТА «КАДРЫ + АУДИО»]: Тебе предоставлены метаданные ролика, 16 равномерно извлечённых кадров из первых 120 секунд видео и аудиодорожка.
Метаданные:
Канал: {название_аккаунта}
Описание и хэштеги: {описание_и_хэштеги}
Материалы ролика:
{текст_ASR_и_OCR_или_медиафайлы}
Инструкция по кодированию (верни строго валидный JSON):
1. "conflict_problem" (0 или 1): 1 — ролик строится вокруг острой бытовой проблемы, поломки, спора или негативного опыта покупателя (оценивай сам предмет обсуждения, а не эмоциональность тона); 0 — нейтральный обзор или перечисление характеристик.
2. "call_to_action_code" (0 или 1): 1 — есть голосовой, текстовый или чисто визуальный (всплывающая плашка со стрелкой, анимация с артикулом) призыв искать товар по артикулу или переходить по ссылке; 0 — призыва нет.
3. "speaker_visible" (0, 1 или 2): 0 — человек не появляется в кадре (только предметная съёмка или скринкаст); 1 — в кадре виден ведущий/блогер (говорящая голова); 2 — смешанный формат.
4. "background_music" (0 или 1): 1 — в ролике звучит музыкальное сопровождение; 0 — только речь, бытовые шумы или тишина.
Результат:
Модель вернёт строго типизированный JSON с кодами по четырём переменным. При сверке на контрольной сотне роликов аналитик увидит, что текстовый маршрут (ASR + OCR) отлично и дёшево извлекает наличие проблемы (conflict_problem) и текстовые артикулы на экране, видео-маршрут необходим для определения типа съёмки (speaker_visible), а для поля background_music часть мультимодальных моделей (например, семейство Gemma 4) почти всегда ставит 0 даже при наличии аудиодорожки — поэтому определение музыки нужно выносить в отдельный специализированный детектор, а не доверять общей MLLM.
Почему это работает
У мультимодальных моделей есть разрыв между тем, что подали на вход, и тем, что модель реально использует при ответе. Даже если модель технически принимает звук и картинку и умеет расшифровывать речь по прямой просьбе, внутри сложной задачи классификации она может полностью игнорировать невербальный аудиоканал. В эксперименте авторов обе модели Gemma 4 прекрасно делали транскрибацию английской речи, но при разметке видео практически не замечали фоновую музыку, а отключение звука на части задач вообще не меняло коды моделей.
Вторая ловушка — провал интеграции каналов. Когда в ролике смысл дублируется (голос диктора, титры на экране и картинка говорят об одном и том же, как в новостях или обзорах), предварительный перевод видео в текст через Whisper (ASR) + распознавание текста с кадров (OCR) убирает визуальный шум и для половины моделей даёт более высокую точность, чем подача видео напрямую. Казалось бы, если ошибки текстового и видео-маршрута разные, можно подать в один запрос и кадры со звуком, и готовый текст (Text + video). Но на практике модели теряются в дублирующемся мультимодальном контексте и почти никогда не показывают результата лучше, чем один — более удачный — маршрут по отдельности.
Третья ловушка — иллюзия высокого F1 при подсчёте статистики. Ошибки модели на конкретных роликах не случайны: они смещены в одну сторону. Поэтому маршрут, который победил по метрике macro-F1, в 25 из 42 проверок хуже других воспроизводит реальные связи между переменными (коэффициенты регрессии вовлечённости), а в 45% случаев завышает или занижает долю категории в выборке более чем на 10 процентных пунктов.
Шаблон промпта
Для прикладной разметки видео авторы исследовали в том числе двухшаговый маршрут Describe first («сначала опиши, потом кодируй»), который позволяет разделить тяжёлый мультимодальный просмотр и быструю классификацию по анкете:
=== ЗАПРОС 1: Мультимодальное описание ролика (подаётся видео или 16 кадров + аудио) ===
Внимательно посмотри и послушай представленный видеоролик. Составь подробное структурированное описание всего, что в нём происходит, по четырём блокам:
1. Устная речь: что именно говорят в ролике и кто говорит (ведущий, очевидцы, несколько голосов, интонация и подача).
2. Текст на экране: все заголовки, плашки, субтитры, призывы к действию и надписи в кадре.
3. Визуальный ряд: кто и что находится в кадре, как снято видео (студия, улица, анимация, вставки), жесты и мимика.
4. Звук и музыка: есть ли фоновая музыка, звуковые эффекты и какой у них характер.
=== ЗАПРОС 2: Кодирование по текстовому описанию (подаётся только текст) ===
Используя метаданные ролика и его подробное описание ниже, закодируй видео строго по правилам кодовой книги.
Метаданные: {метаданные}
Описание видео: {вывод_запроса_1}
Кодовая книга и категории:
{определения_переменных_и_допустимые_коды}
Верни ответ строго в формате JSON по заданной схеме:
{json_схема}
Что подставлять в плейсхолдеры:
- {метаданные} — источник/автор, описание под роликом, хэштеги или предшествующий диалог.
- {вывод_запроса_1} — сгенерированное на первом шаге описание речи, текста на экране, картинки и звука.
- {определения_переменных_и_допустимые_коды} — чёткие критерии из вашей инструкции разметчика (например, «оценивай тему сюжета, а не эмоциональность тона»).
- {json_схема} — перечень полей и допустимых значений, чтобы исключить непарсящиеся ответы.
🚀 Быстрый старт — вставь в чат:
Вот шаблон разметки видео с разделением по каналам и проверкой представления. Адаптируй под мою задачу: [твоя задача].
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит, какие именно признаки вы хотите извлекать из роликов, какие каналы (речь, титры, картинка, интонация/музыка) для них критичны и какую итоговую метрику вы считаете — потому что от этого зависит, хватит ли вам дешёвой связки ASR + OCR или нужен видео-маршрут.
Ограничения
⚠️ Склеивание текста и видео в один запрос не даёт синергии: Подача в один вызов одновременно кадров со звуком и распознанного текста (ASR + OCR) увеличивает расход токенов, но почти никогда не повышает точность по сравнению с лучшим одиночным маршрутом.
⚠️ Сбои на полных несжатых видеофайлах: При подаче оригинальных длинных видеофайлов целиком (маршрут Full video) модели регулярно падают по лимитам контекста и предобработки; стабильную работу даёт ограничение первыми 120 секундами в разрешении 448px или равномерная выборка 16 кадров.
⚠️ Сильное смещение долей классов даже у лучшего маршрута: Почти в половине случаев (45%) даже самый точный по F1 маршрут ошибается в оценке общей доли категории в выборке более чем на 10 процентных пунктов — без калибровки на небольшой ручной разметке доверять сырым процентам нельзя.
Как исследовали
Исследователи из Цюрихского университета взяли 6 открытых аудиовизуальных моделей (Gemma 4 E4B и 12B, Qwen2.5-Omni 7B, Qwen3-Omni 30B-A3B, Nemotron-3 Nano Omni 30B-A3B и MiniCPM-o 4.5) и прогнали их через 3 размеченных людьми датасета (всего 1 653 видео): 603 немецкоязычных новостных ролика из TikTok (7 смысловых категорий и 2 чисто аудиовизуальных якоря — «видно ли журналиста» и «есть ли музыка»), 400 англоязычных роликов с BitChute из датасета HateMM (враждебные высказывания и целевые группы) и 650 отрывков из ситкомов MUStARD (распознавание сарказма, где важна интонация). Промпт кодовой книги, температура (greedy decoding) и принудительная JSON-схема держались неизменными — меняли только 9 способов представления видео на входе: от одних метаданных и текста Whisper large-v3-turbo (ASR) + 1 кадр/с OCR до 16 кадров со звуком, нативного видео и двухшагового описания (Describe first).
Чтобы проверить, слушают ли модели звук на самом деле, авторы провели абляцию аудио на подвыборке роликов: подавали те же кадры с аудиодорожкой и без неё. Оказалось, что на сарказме и враждебной речи отключение звука заметно роняет точность, а вот наличие музыки в TikTok-роликах некоторые модели игнорируют даже со звуком. Но самый неожиданный результат дал тест инференциальной валидности: когда по ответам моделей пересчитали доли классов и регрессии вовлечённости, выяснилось, что победитель по метрике macro-F1 даёт самую близкую к людям оценку регрессии лишь в 17 из 42 сравнений, а разброс между текстовым и видео-маршрутом на одних и тех же моделях достигает десятков пунктов (0,52–0,80 на тексте против 0,70–0,77 на нативном видео).
Ресурсы
- Исследование: What Does the Model See? Representation Validity in Multimodal LLM-Based Video Analysis (arXiv:2611.05181v1, ноябрь 2026)
- Авторы: Christian Pipal, Eva-Maria Vogel, Morgan Wack (Department of Communication and Media Research, University of Zurich, Switzerland)
