Затерянные посередине: позиционное смещение в LLM и его влияние на финансовый ИИ
Оглядываясь на запись DocFinQA — где пайплайны на основе поиска и LLM с длинным контекстом потерпели неудачу при обработке документов SEC с контекстом в 123 тысячи токенов — вопрос, который я оставил открытым, заключался в том, почему это произошло. Статья Лю и др. (TACL 2024, arXiv:2307.03172) дает механистический ответ, и оказывается, что этот тип сбоя проще и устойчивее, чем я ожидал.
Статья
«Затерянные посередине: как языковые модели используют длинные контексты» Нельсона Ф. Лю, Кевина Лина, Джона Хьюитта, Ашвина Паранджапе, Микеле Бевилакуа, Фабио Петрони и Перси Ляна описывает два целевых эксперимента: ответы на вопросы по нескольким документам на базе NaturalQuestions-Open (с 10, 20 и 30 извлеченными документами) и синтетический поиск пар «ключ-значение» (с 75, 140 и 300 парами). В каждом эксперименте они систематически меняли положение релевантного документа или пары «ключ-значение» внутри входного контекста — начало, середина или конец — при сохранении всех остальных параметров. Вывод однозначен: производительность описывает U-образную кривую с провалом в середине контекста, и эта кривая проявляется у всех протестированных моделей.
Ключевые идеи
- U-образная форма реальна и стабильна. В сценарии QA с 20 документами точность в первой позиции составила около 75%, снизилась до примерно 55% на 10-й позиции и восстановилась до 72% на 20-й позиции — разрыв между краями и центром составил около 20 пунктов.
- Все модели следуют одной и той же схеме. Протестированные модели включают как закрытые, так и открытые, малые и большие: GPT-3.5-Turbo (4K и 16K), GPT-4, Claude-1.3 (8K и 100K), MPT-30B-Instruct и LongChat-13B. U-образная кривая проявилась в каждой из них, включая модели, явно позиционируемые как имеющие расширенные окна контекста.
- Даже Claude-1.3-100K не застрахован. Вариант со 100K-контекстом вел себя так же, как и остальные. Длинное окно контекста не означает, что модель действительно распределяет внимание равномерно по нему.
- Базовый уровень «закрытой книги» отрезвляет. GPT-3.5-Turbo без каких-либо документов правильно ответила на 56,1% вопросо в NaturalQuestions; при наличии прямого доступа только к одному релевантному документу результат достиг 88,3%. Но в худших средних позициях в сценарии с 20 документами производительность упала ниже уровня «закрытой книги» — это означает, что добавление контекста было активно вредным.
- Модели энкодер-декодер (Flan-T5-XXL, Flan-UL2) более надежны в пределах своей тренировочной длины, но возвращаются к той же схеме, когда контекст ее превышает. Архитектурное различие имеет значение, но оба типа все равно деградируют при масштабировании.
- Коренная причина — причинная маскировка внимания. Каждый токен может обращаться только к предшествующим токенам, поэтому позиции в самом начале накапливают больший суммарный вес внимания во всей модели, чем позиции в середине. Эффекты недавности также подтягивают вверх показатели в конце контекста.