Не длина, а конфликтующие записи: точность LLM падает с 97–100% до 11–21%

Считается, что LLM путаются в длинных промптах из-за объёма текста, но исследователи UC San Diego показали другое. На обычном тексте до 32 тысяч токенов Qwen2.5-1.5B находит нужное значение в 97–100% случаев. Но если в контекст попадают похожие строки — например, старая версия конфига или черновик договора с другими цифрами, — точность падает до 11–21%. Для RAG важнее чистить устаревшие дубли, чем просто резать длину контекста.

AI-обработка оригинала Hugging Face Daily Papers; редакция Hamidun News
Не длина, а конфликтующие записи: точность LLM падает с 97–100% до 11–21%
Источник: Hugging Face Daily Papers. Коллаж: Hamidun News.
Слушать статью
Паспорт материала и цифры
ПараметрДанные
ПервоисточникHugging Face Daily Papers ↗
Главный редактор
Ключевой факт #1Всего одна конфликтующая запись с другим значением того же ключа сбивает модель в 9–110 раз сильнее обычного текста
Ключевой факт #2Рассеивание внимания между похожими строками объясняет 58% всех ошибок, а длина промпта — лишь 8%
Ключевой факт #3Эффект подтвердился на всех 5 протестированных открытых моделях от 0,5 до 3 млрд параметров

Обычно считают, что нейросети путаются в длинных документах просто потому, что текста слишком много. Исследователи из Калифорнийского университета в Сан-Диего проверили это на задаче поиска факта в контексте и получили другой ответ. Представьте 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
Что вы думаете?
Загружаем комментарии…