Эфир 18.11 · Поток 318 ноября в 19:00 МСК — бесплатный практический эфир по ИИ-агентам · Живой Поток 3 стартует 23.11Эфир 18 ноября →Поток 3 (23.11)
РелизНаучная статья · В песочницуHugging Face Daily Papers→ оригинал

Почему RAG и длинный промпт тупеют: один конфликтующий факт обрушивает точность мелких LLM с 97% до 11%

Исследователи Калифорнийского университета в Сан-Диего (UCSD) проверили пять открытых моделей на 0,5–3 млрд параметров на извлечение фактов из контекста до 32K токенов. Обычный фоновый шум в промпте почти не вредит: у Qwen2.5-1.5B точность держится на уровне 97–100%. Но стоит подмешать в контекст хотя бы один конфликтующий факт в том же формате (например, устаревшее значение того же поля из базы или чата), как точность падает до 11–21%. Практический вывод для разработчиков RAG: перед подачей чанков в компактную модель обязательно дедуплицируйте противоречивые версии одного и того же факта.

AI-обработка оригинала Hugging Face Daily Papers; редакция Hamidun News
Почему RAG и длинный промпт тупеют: один конфликтующий факт обрушивает точность мелких LLM с 97% до 11%
Источник: Hugging Face Daily Papers. Коллаж: Hamidun News.
Слушать статью

Обычно считают, что нейросети путаются в длинных документах просто потому, что текста слишком много. Исследователи из Калифорнийского университета в Сан-Диего проверили это на задаче поиска факта в контексте и получили другой ответ. Представьте RAG-систему, в промпт которой попали две версии одного конфига: старая и новая, с разным значением одного и того же параметра. Именно такие записи, а не сами тысячи токенов, ломают ответ. Пока контекст до 32 тысяч токенов заполнен нейтральным текстом, модель Qwen2.5-1.5B отвечает верно в 97–100% случаев. Когда те же места занимают записи в формате нужного факта, точность падает до 11–21%. Практический вывод: перед отправкой в промпт стоит чистить конфликтующие дубли, а не только сокращать документ.

Как устроен эксперимент

Задача намеренно простая. В длинный текст прячут одну строку вроде «секретный код реки — 4821», а в конце спрашивают, какой код у реки. Строка лежит на случайной глубине, а длину контекста меняют от 512 до 32 тысяч токенов. Тест прогнали на пяти открытых моделях размером от 0,5 до 3 млрд параметров из четырёх семейств, включая Qwen2.5, Llama-3.2, SmolLM2 и OLMo-2.

Главное правило дизайна: длина и позиция нужной строки всегда одинаковы, меняется только то, что вокруг неё. В одном варианте это случайные числа, случайные слова или одно повторяющееся предложение. В другом — записи в шаблоне нужной строки с ключами из набора в 51 существительное. Есть и третий вариант: тот же нейтральный текст скрывают от внимания модели, но сохраняют позиции токенов.

Что показали измерения

На нейтральном тексте точность держится на уровне 97–100% у четырёх из пяти моделей: до 4 тысяч токенов у всех четырёх и до 32 тысяч у Qwen2.5-1.5B. Исключение — OLMo-2-1B: на 2048 токенах нейтрального текста она теряет 0,57 ната (точность 91%). Нат здесь — единица потерь по вероятности правильного ответа: чем больше, тем хуже.

Записи в формате нужной строки на длине от 8 до 32 тысяч токенов опускают точность до 11–21%. Самый вредный случай — запись с тем же ключом и другим значением. Одна такая запись увеличивает потери модели в 9–110 раз, и каждая следующая добавляет ещё. Сравнение на Qwen2.5-1.5B при 32 тысячах токенов: нейтральный текст стоит 0,004 ната, скрытый нейтральный текст — 1,20 ната, а конкурирующие записи — 4,76 ната. Медианные потери с конкурентами на этой модели составляют 2,82, 3,94, 4,03 и 4,76 ната на 8, 16, 24 и 32 тысячах токенов.

Внутри модели авторы отследили одну величину: долю внимания, которая остаётся на нужной строке. Её считали по восьми головам внимания, которые сильнее всего смотрят на эту строку, с последнего токена запроса. На 126 473 прогонах эта доля объясняет от 35 до 58% разброса потерь, а логарифм длины контекста — только 2–8%. Разрыв сохраняется на длинах от 8 до 32 тысяч токенов. Пересказ идеи простой: похожие записи отбирают внимание у нужной, и именно это совпадает с ошибками.

Почему «длина вредит сама по себе» не подтвердилось

Прежние работы скрывали лишние токены от внимания при сохранённых позициях и видели падение точности, из чего делали вывод о вреде длины. Авторы воспроизвели это на 1000 вопросах MMLU с Llama-3.2-3B и Qwen2.5-7B-Instruct: на 30 тысячах скрытых токенов потери составили 11–18 пунктов. Но в задаче поиска та же маскировка стоит 46 пунктов точности на 32 тысячах токенов, а тот же текст, оставленный видимым, не стоит ничего. Значит, такой протокол не измеряет чистую цену длины.

Что с этим делать

Для практики важнее не число токенов, а число утверждений, которые спорят с нужным ответом. Устаревшие редакции договоров, черновики и дубли логов с другими значениями — самые опасные соседи для нужного фрагмента. Авторы также выложили код, инструмент измерения внимания и все 126 тысяч замеров на GitHub и Hugging Face, так что на открытых моделях долю внимания на нужном фрагменте можно проверять самостоятельно.

Есть и ограничения. Модели небольшие, от 0,5 до 3 млрд параметров, а задача — простой поиск значения по ключу, а не реальные корпоративные документы. Связь внимания и ошибок получена по статистике прогонов. Поэтому вывод относится именно к поиску фактов в длинном контексте, а не ко всем задачам с длинными входами.

Сюжет

Вопросы и ответы по материалу

Что известно по теме: как устроен эксперимент?

Задача намеренно простая. В длинный текст прячут одну строку вроде «секретный код реки — 4821», а в конце спрашивают, какой код у реки. Строка лежит на случайной глубине, а длину контекста меняют от 512 до 32 тысяч токенов. Тест прогнали на пяти открытых моделях размером от 0,5 до 3 млрд параметров из четырёх семейств, включая Qwen2.5, Llama-3.2, SmolLM2 и OLMo-2. Главное правило дизайна: длина и позиция нужной строки всегда одинаковы, меняется только то, что вокруг неё.

Что известно по теме: что показали измерения?

На нейтральном тексте точность держится на уровне 97–100% у четырёх из пяти моделей: до 4 тысяч токенов у всех четырёх и до 32 тысяч у Qwen2.5-1.5B. Исключение — OLMo-2-1B: на 2048 токенах нейтрального текста она теряет 0,57 ната (точность 91%). Нат здесь — единица потерь по вероятности правильного ответа: чем больше, тем хуже. Записи в формате нужной строки на длине от 8 до 32 тысяч токенов опускают точность до 11–21%. Самый вредный случай — запись с тем же ключом и другим значением.

Что известно по теме: почему «длина вредит сама по себе» не подтвердилось?

Прежние работы скрывали лишние токены от внимания при сохранённых позициях и видели падение точности, из чего делали вывод о вреде длины. Авторы воспроизвели это на 1000 вопросах MMLU с Llama-3.2-3B и Qwen2.5-7B-Instruct: на 30 тысячах скрытых токенов потери составили 11–18 пунктов. Но в задаче поиска та же маскировка стоит 46 пунктов точности на 32 тысячах токенов, а тот же текст, оставленный видимым, не стоит ничего. Значит, такой протокол не измеряет чистую цену длины.

ЖХ
Жемал Хамидун — CPO Alpina Digital, продакт-менеджер AlpinaGPT. Делает AI-продукты с 2019 года. Hamidun News — pet project, который вырос в production-агрегатор с 6000+ читателей.
✦ Единое AI-пространство · Nomad

Протестируйте новые LLM и мультимодальные модели в одном окне

Платформа Nomad AI (nomadnet.ai) даёт прямой доступ к Claude Opus 5.5, GPT-6, Gemini 3.1, DeepSeek и автономным агентам без VPN, зарубежных карт и зоопарка подписок.

Открыть Nomad AI →Автономный Nomad Agent
Что вы думаете?
Загружаем комментарии…