3,583 papers
arXiv:2610.12942 88 9 окт. 2026 г. FREE

Visual ICL: примеры в промпте возвращают VLM к тому, что реально на картинке

КЛЮЧЕВАЯ СУТЬ
Обнаружено: модель видит трёхногого павлина, но уверенно говорит «две ноги». Глаза у неё в порядке. Просто привычка сильнее зрения. Метод Visual ICL (обучение на примерах прямо в промпте) позволяет заставить модель с картинками отвечать по тому, что видно, а не по тому, как обычно бывает. Перед вопросом ты кладёшь 8–16 пар «картинка → правильный ответ». Примеры не учат модель новому, они показывают, куда смотреть. Внимание уходит со слова «павлин» на слово «ноги». На нетипичных картинках у больших моделей это даёт от +15 до +27 пунктов точности, а на обычных точность почти не меняется. Всё делается одним запросом, без дообучения.
Адаптировать под запрос
⚡

TL;DR

Visual ICL (in-context learning, обучение на примерах прямо в промпте) для моделей, которые работают с картинками (VLM), означает: перед вопросом ты показываешь несколько пар «изображение → правильный ответ». Модель переключается с «как обычно бывает у такого объекта» на «что реально видно на этом изображении». Примеры нужно подбирать так, чтобы ответы были сбалансированы, а нетипичные случаи шли вместе с типичными.

Главная находка: когда модель ошибается на нестандартной картинке, она часто умеет видеть нужное, но привычка побеждает глаза. На трёхногом павлине она говорит «2 ноги», потому что у птиц обычно две. Это ошибка не зрения, а «авторитета знаний». Прирост от 16 примеров на нетипичных картинках в крупных моделях составил около +15…+27 п.п., а на обычных картинках точность почти не изменилась.

Метод одношаговый: в один запрос кладёшь 8–16 пар «картинка → ответ» из той же задачи, а потом задаёшь свой вопрос. Важное условие: модель должна уметь делать нужную операцию. Если способности нет (например, считать 4–5 объектов в сложной сцене), примеры почти не помогают.

🔬

Схема метода

ШАГ 1: Сформулируй задачу + закрытый список ответов → одна строка инструкции
ШАГ 2: Подбери 8–16 примеров (картинка → ответ) из ТОЙ ЖЕ задачи
        • ответы сбалансированы (не 12 «красных» и 2 «синих»)
        • типичные и нетипичные случаи вперемешку
ШАГ 3: Добавь запрос: новая картинка + тот же вопрос → ответ одним словом из списка
(всё в одном промпте, примеры идут ДО вопроса)
🚀

Пример применения

Задача: Ты ведёшь модерацию карточек на маркетплейсе (Ozon, Wildberries). Нужно автоматически сверять заявленный цвет товара с фото. Модель стабильно «исправляет» реальность: на фото синие бананы для кондитерской фотосессии она отвечает «жёлтый», потому что бананы жёлтые. Это сильная зона метода: цвет модель различает легко, мешает только привычка.

Промпт:

Ты проверяешь фото товаров для маркетплейса. Определи основной цвет 
предмета ТАК, КАК ОН ВИДЕН НА ЭТОМ ФОТО. Не опирайся на то, какого цвета 
такой предмет обычно бывает. Допустимые ответы: красный, синий, жёлтый, 
зелёный, розовый, фиолетовый, чёрный, белый.

Пример 1: [фото розового банана]. Вопрос: какой цвет предмета? Ответ: розовый
Пример 2: [фото жёлтого лимона]. Вопрос: какой цвет предмета? Ответ: жёлтый
Пример 3: [фото синей кружки "Хохлома"]. Вопрос: какой цвет предмета? Ответ: синий
Пример 4: [фото красного огурца]. Вопрос: какой цвет предмета? Ответ: красный
Пример 5: [фото зелёного помидора]. Вопрос: какой цвет предмета? Ответ: зелёный
Пример 6: [фото чёрного банана]. Вопрос: какой цвет предмета? Ответ: чёрный
... (до 8–16 примеров, ответы сбалансированы)

Теперь задача: [фото синего банана]. Вопрос: какой цвет предмета? 
Ответ одним словом из списка.

Результат: Модель выдаст одно слово из списка. Ожидай, что на нетипичных фото (синий банан) ответ станет чаще совпадать с реальным цветом, чем при запросе без примеров. На обычных фото (жёлтый лимон) качество почти не изменится. Если в выборке остались ошибки, смотри, не слишком ли однообразны примеры.

🧠

Почему это работает

Слабость. Модель училась на миллиардах картинок, где у павлина две ноги, а банан жёлтый. Когда на картинке иначе, внутри конкурируют два «пути ответа». Первый путь: узнать объект и ответить по привычке. Второй: посмотреть на пиксели и посчитать или определить. Если у запроса нет подсказки, какой путь нужен, чаще выигрывает привычка.

Сильная сторона. Модель хорошо ловит правило задачи по примерам. Пары «картинка → ответ» показывают ей: здесь нужен именно визуальный ответ. По исследованию, у модели внимание смещается с токенов «павлин» на токены «ноги». Примеры работают как указатель, а не как новое знание.

Как метод это использует. Примеры сдвигают вероятность в сторону пути «смотри на изображение». Баланс ответов нужен, чтобы выигрыш нельзя было объяснить тем, что модель просто выучила «чаще отвечать X».

Рычаги управления: - Число примеров: 1–2 почти ничего не дают. Рост идёт к 16, у больших моделей ещё и до 32. Для простых случаев хватит 4–8, это экономит токены и деньги. - Баланс ответов: уравнивай классы. Иначе модель начнёт угадывать по частоте. - Состав примеров: добавляй и типичные, и нетипичные случаи. Только «странные» примеры могут сместить модель в другую сторону. - Формулировка инструкции: требуй «закрытый список ответов» и «отвечай по тому, что видно, а не по привычке». Это сужает пространство и снижает болтовню. - Размер модели: на маленьких моделях (порядка 4–8B) эффект слабее и менее избирателен. Они больше перенимают формат ответа, чем смысл примеров.

📋

Шаблон промпта

Ты проверяешь изображения. Задача: {что определить}.
Отвечай ТОЛЬКО по тому, что реально видно на этом изображении. 
Не опирайся на то, как это обычно выглядит у такого объекта.
Допустимые ответы: {список ответов}.

Пример 1: {изображение_1}. Вопрос: {вопрос}. Ответ: {ответ_1}
Пример 2: {изображение_2}. Вопрос: {вопрос}. Ответ: {ответ_2}
...
Пример {N}: {изображение_N}. Вопрос: {вопрос}. Ответ: {ответ_N}

Теперь задача: {новое_изображение}. Вопрос: {вопрос}.
Ответ — одно значение из списка.

Что подставлять: - {что определить}: одна операция (цвет, форма, число, направление, взаимное положение). - {список ответов}: закрытый набор вариантов, как можно меньше. - Примеры: 8–16 штук из ТОЙ ЖЕ задачи. Ответы сбалансированы, нетипичные случаи есть. - {вопрос}: одна и та же формулировка во всех примерах и в запросе.

🚀 Быстрый старт — вставь в чат:

Вот шаблон визуального few-shot для проверки изображений. Адаптируй под 
мою задачу: [твоя задача]. Задавай вопросы, чтобы заполнить поля.

[вставить шаблон выше]

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

⚠️

Ограничения

⚠️ Нужна базовая способность: если модель плохо делает саму операцию, примеры почти не помогают. Прирост падал на сложном счёте (4–5 объектов), где модели приходится полагаться на хрупкое зрение. Метод выбирает уже имеющееся умение, а не создаёт его.

⚠️ Маленькие модели: у моделей небольшого размера эффект слабее и менее избирателен. Они в основном подхватывают формат ответа. В одном случае с 16 примерами точность на нетипичных картинках упала ниже, чем без примеров.

⚠️ Цена за обычные случаи: на типичных картинках точность в целом не страдала, но в счёте она снижалась на 6–7 п.п. Проверяй качество на обоих типах случаев.

⚠️ Узкая постановка: задачи были закрытые, с одним верным ответом из короткого списка. Для открытых описаний картинок выводы напрямую не переносятся.

⚠️ Лабораторные данные: картинки в основном искусственные, часть сгенерирована и отредактирована. Модели открытые (Qwen, InternVL, Gemma), не GPT, Claude или Gemini в их чат-версиях. Проверь эффект на своих фото.

⚠️ Механистическая часть недоступна: маскирование «подсказывающих» токенов в картинке требует доступа к внутренностям модели. В чате это не повторить, применим только приём с примерами.

🔍

Как исследовали

Идея была простой: если модель не справляется с нестандартной картинкой, то либо не умеет смотреть, либо привычка перекрывает зрение. Авторы использовали примеры в промпте как диагностический инструмент. Если примеры чинят ошибку, значит, зрение работало.

Они собрали набор из пяти задач: счёт ног животных, цвет животного, форма дорожного знака, направление объекта и пространственное положение. В каждой есть «реальные» картинки (привычка и факт совпадают) и «контрфактические» (привычка и факт расходятся, например ромбовидный знак «Стоп» или трёхногий павлин). Контрфактические картинки получали точечной правкой: меняли только нужное свойство, остальное оставляли. Картинки проверяли двое разметчиков вслепую.

Проверяли модели Qwen3-VL от 2B до 235B и ещё четыре семейства (Qwen2.5-VL, Qwen3.5, InternVL3.5, Gemma-4) на 0, 1, 2, 4, 8, 16 и 32 примерах, по 10 разных наборов примеров на каждую задачу. Примеры были сбалансированы по ответам. Главная проверка: если примеры учат только формату, прирост будет одинаков на реальных и контрфактических картинках. Прирост оказался неравномерным. У Qwen3-VL 235B на контрфактических картинках он составил +27,2 п.п., на реальных +2,9 п.п. У 32B: +15,1 против −1,6. Все семейства улучшились при ~30B, от +9,7 до +30,3 п.п.

Затем авторы заглянули внутрь моделей и показали, что при примерах внимание смещается с признаков «привычки» на признаки «реального ответа». Маскирование «привычных» токенов даёт сходный эффект. Удивило и вывод, который полезен практику: на маленьких моделях и на сложном счёте примеры почти не работают. Значит, метод выбирает имеющуюся способность, а не создаёт новую.

💡

Адаптации и экстраполяции

🔧 Техника: добавить «антипривычную» инструкцию + примеры → ещё меньше вероятность ответа по привычке

В начале промпта: «Правило: если на фото то, что отличается от нормы, ответь по фото. Норма не аргумент». Эффект этой фразы в статье отдельно не измеряли, измеряли примеры. Бери её как дополнение, не как замену.

Экстраполяция (в статье не проверялось): в агентах, которые смотрят скриншоты (Claude Code, Cursor с картинками), в файл инструкций можно положить 3–6 пар «скриншот интерфейса → что именно сломано». Особенно нетипичные: кнопка на непривычном месте, нестандартный цвет статуса. Гипотеза та же: показываем, что нужно смотреть на пиксели, а не на «как обычно бывает». Проверяй на своих скриншотах.

🔗

Ресурсы

  • Работа: In-Context Learning Can Help Vision-Language Models Overcome Training Priors
  • Авторы: Kun Wang, Xindi Wu, Sanghyuk Chun, Olga Russakovsky, Esin Tureci
  • Университет: Princeton University
  • Упомянутые модели: Qwen3-VL, Qwen2.5-VL, Qwen3.5, InternVL3.5, Gemma-4
  • Инструменты анализа: logit lens, LatentLens (для механистической части, читателю не нужны)

📋 Дайджест исследования

Ключевая суть

Обнаружено: модель видит трёхногого павлина, но уверенно говорит «две ноги». Глаза у неё в порядке. Просто привычка сильнее зрения. Метод Visual ICL (обучение на примерах прямо в промпте) позволяет заставить модель с картинками отвечать по тому, что видно, а не по тому, как обычно бывает. Перед вопросом ты кладёшь 8–16 пар «картинка → правильный ответ». Примеры не учат модель новому, они показывают, куда смотреть. Внимание уходит со слова «павлин» на слово «ноги». На нетипичных картинках у больших моделей это даёт от +15 до +27 пунктов точности, а на обычных точность почти не меняется. Всё делается одним запросом, без дообучения.

Принцип работы

У модели два пути ответа. Первый: узнать объект и ответить по привычке. Второй: посмотреть на картинку и ответить по ней. Если в запросе нет подсказки, чаще выигрывает привычка. Пары «картинка → ответ» работают как указатель. Они говорят модели: здесь нужен именно визуальный ответ, а не знание из головы. Это как инструктор, который сначала показывает на карте маршрут, а потом просит ехать самому. Что крутить: - Число примеров: 1–2 почти ничего не дают. Рост идёт до 16, у больших моделей до 32. Для простых случаев хватит 4–8, это экономит деньги. - Баланс ответов: не 12 «красных» и 2 «синих». Иначе модель начнёт угадывать по частоте. - Состав: типичные и нетипичные случаи вперемешку. Только «странные» примеры сдвинут модель в другую сторону. - Инструкция: закрытый список ответов и фраза «отвечай по тому, что видно, а не по привычке».

Почему работает

Модель училась на миллиардах картинок, где у павлина две ноги, а банан жёлтый. Эта привычка зашита глубоко. Когда на картинке иначе, два пути ответа борются, и привычка часто побеждает. Это ошибка не зрения, а излишнего доверия к своим знаниям: модель умеет увидеть нужное, но не использует это. Примеры сдвигают выбор в сторону «смотри на пиксели». Исследователи проверили это внутри модели: внимание переезжает с токенов «павлин» на токены «ноги». Баланс ответов нужен для честности. Иначе прирост можно списать на то, что модель просто выучила «чаще говорить X». Есть и цена. Метод только включает умение, которое уже есть. Если модель плохо считает 4–5 объектов в сложной сцене, примеры почти не помогают. У маленьких моделей (4–8 млрд параметров) эффект слабее. Они больше копируют формат ответа, чем смысл примеров. В одном случае с 16 примерами они выдали результат хуже, чем вообще без примеров.

Когда применять

Проверка изображений → сверка заявленного с реальным фото (цвет, форма, число, направление, взаимное положение), особенно когда модель «исправляет» нетипичное под привычное. Например, модерация карточек товаров на маркетплейсе или проверка сгенерированных картинок на соответствие заданию. Подходит, если ответ один и из короткого списка, а модель в принципе умеет делать эту операцию. НЕ подходит для подсчёта 4–5 объектов в сложной сцене, для свободных описаний картинок и для маленьких моделей. Там метод почти не помогает или даже вредит. На счёте даже у больших моделей точность на обычных картинках просела на 6–7 пунктов, поэтому проверяй оба типа случаев. Все данные получены на открытых моделях (Qwen, InternVL, Gemma) и в основном на искусственных картинках. Проверь эффект на своих фото.

Мини-рецепт

1. Сузь задачу: одна операция за раз, например только цвет или только число предметов.
2. Закрой список ответов: «красный, синий, жёлтый, зелёный…». Чем короче список, тем меньше болтовни.
3. Собери 8–16 примеров из той же задачи: ответы поровну по всем вариантам. Обычные и странные случаи вперемешку.
4. Одна формулировка вопроса: во всех примерах и в финальном запросе она должна совпадать дословно.
5. Скажи прямо, куда смотреть: <роль>Отвечай только по тому, что видно на этом изображении, не по привычке
6. Примеры кладёшь ДО вопроса: всё в одном запросе, без цепочки шагов.
7. Проверь на двух выборках: на нетипичных фото точность должна вырасти, на обычных не упасть. Если ошибки остались, посмотри, не слишком ли однообразны примеры.

Примеры

[ПЛОХО] : Какой цвет у предмета на фото? (на синем банане модель отвечает «жёлтый», потому что бананы жёлтые)
[ХОРОШО] : Ты проверяешь фото товаров. Определи основной цвет предмета ТАК, КАК ОН ВИДЕН НА ЭТОМ ФОТО. Не опирайся на то, какого цвета такой предмет обычно бывает. Допустимые ответы: красный, синий, жёлтый, зелёный, розовый, фиолетовый, чёрный, белый. Пример 1: [фото розового банана]. Какой цвет предмета? Ответ: розовый Пример 2: [фото жёлтого лимона]. Какой цвет предмета? Ответ: жёлтый Пример 3: [фото красного огурца]. Какой цвет предмета? Ответ: красный Пример 4: [фото зелёного помидора]. Какой цвет предмета? Ответ: зелёный ... (до 8–16 примеров, ответы поровну по цветам) Теперь задача: [фото синего банана]. Какой цвет предмета? Ответ одним словом из списка. Уникальная фишка: в примерах рядом стоят нетипичное (розовый банан, красный огурец) и обычное (жёлтый лимон). Модель видит, что правило «смотри на фото» работает всегда.
Источник: In-Context Learning Can Help Vision-Language Models Overcome Training Priors
ArXiv ID: 2610.12942 | Сгенерировано: 2026-10-12 05:20

Проблемы LLM

ПроблемаСутьКак обойти
Модель с картинками отвечает по привычке, а не по тому, что видноКартинка нетипичная: у павлина три ноги, банан синий. Модель отвечает «две ноги», «жёлтый». Зрение при этом работает. Внутри спорят два пути: «узнать объект и ответить как обычно» и «посмотреть на пиксели». Без подсказки чаще побеждает привычка. Это бьёт по любым задачам с проверкой фото: цвет, число, форма, положениеПокажи в запросе несколько пар «картинка → верный ответ» из той же задачи. Добавь фразу «отвечай по тому, что видно, а не по тому, как обычно бывает». Детали в методе ниже

Методы

МетодСуть
Сбалансированные примеры перед вопросом — возврат к тому, что видноПоложи в один запрос 8–16 пар «картинка → ответ» из той же задачи, потом задай свой вопрос. Формат: инструкция, закрытый список ответов, примеры, новая картинка. Ответ — одно слово из списка. Почему работает: примеры показывают модели, что здесь нужен визуальный ответ. Внимание смещается с названия объекта («павлин») на нужную деталь («ноги»). Правила подбора: (1) Ответы поровну по классам. Иначе модель угадывает по частоте, а не смотрит. (2) Типичные и нетипичные случаи вперемешку. Только странные примеры могут сдвинуть модель в другую сторону. (3) Один и тот же текст вопроса везде. (4) Закрытый список ответов, как можно короче. Сколько: 1–2 примера почти ничего не дают. Для простых случаев хватит 4–8, для сложных нужно ближе к 16. Когда не работает: модель не умеет саму операцию, например считает 4–5 объектов в сложной сцене. Маленькие модели (около 4–8B) тоже слабее. Они копируют формат ответа, а не смысл. Для открытых описаний картинок метод не проверен. Проверяй: качество и на нетипичных, и на обычных фото. На некоторых задачах обычные случаи слегка проседают
📖 Простыми словами

In-Context Learning Can Help Vision-LanguageModelsOvercome Training Priors

arXiv: 2610.12942

Зрительные нейросети часто врут тебе прямо в лицо, потому что их мозги забиты шаблонами из обучающей выборки. Когда VLM смотрит на картинку, внутри сталкиваются два процесса: честный анализ пикселей и тупая привычка. Если на фото снять реквизит в виде синего банана, модель видит объект «банан» и упрямо пишет, что он жёлтый. Приоры побеждают факты, а нейросеть игнорирует то, что видит собственными глазами.

Это как уставший дежурный терапевт, который даже не поднимает взгляда от бумажки. Ты заходишь с зелёной сыпью на лбу, а он, услышав слово «температура», на автомате строчит рецепт на парацетамол. Формально диагноз поставлен, но по факту — мимо кассы. Нейросети просто лень напрягать зрение, если в базе уже лежит готовый шаблонный ответ.

Лечится эта близорукость через Visual ICL — демонстрацию примеров прямо в промпте. Ты скармливаешь модели несколько пар «картинка → правильный ответ» прямо перед рабочим вопросом. Главный трюк — сбалансированная выборка: покажи и обычные вещи, и явные аномалии вроде синего банана. Тогда сеть переключает внутренний тумблер: вырубает автопилот и начинает реально считывать пиксели, а не угадывать по памяти.

Тестировали механику на базовых цветах и формах, но принцип абсолютно универсален. Это работает для модерации товаров на маркетплейсах, контроля брака на фабричных конвейерах и разбора редких рентгеновских снимков. Везде, где реальность отклоняется от нормы из интернета, стандартная VLM сядет в лужу. Визуальные подсказки пробивают слепоту без долгого и нудного обучения.

Мораль простая: если в твоих данных есть хоть капля нестандартного контекста, модель гарантированно начнёт фантазировать. Не сливай бюджет на дорогой fine-tuning — просто загрузи правильные визуальные референсы в начало запроса. Три-четыре картинки в промпте наглядно объяснят алгоритму, что от него хотят факты, а не его дурацкие привычки.

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с