Comments 3
Спасибо, очень интересно! Сюда можно ещё отличия от мод коллапс внести, чтобы не путали класс эффектов.
А можно «пару» уточняющих? Насколько сильно обучалки влияют на эффект? Длинные доки в трейнинге часто размечены неравномерно по значимости, моделька может просто учиться, что важные токены стоят в начале и в конце (заголовки + summary). (Еле переключила на английский , буду писать в транскрипции, простите:) Ну, то есть пробовали ли вы обучать на датасете с равномерно распределённой значимостью по позиции?
А сэмплирование? Если модель на середине контекста менее уверена, то сэмплирование может съехать. Там есть разница между гриди, топ к, топ п, бим сёрч по устойчивости к этому эффекту?
А если сдвинуть важный факт ближе к началу или к концу, но оставить его «внутри» по логике дока, то улучшится ли качество?
Может ли RAG этот эффект устранить вообще (вы тут его вскользь упоминаете)? Допустим, если превратить док в чанки и подать их как топ к в ретривер факта, то исчезает ли эффект U?
А адаптер вы подключить пробовали? Сейчас некоторые лаборатории, вроде, собирают такие (которые усиливают средние токены). Дает ли это улучшение качества?
Большинство экспериментов используют одиночный Голд КВ факт (как же нелепо на русском, жесть). Но вопрос такой, немного глуповатый :) Если в середину положить несколько важных фактов подряд — возрастает ли их реколл? Там пороги насыщения есть какие-то?
простите, что завалила вопросами. Заранее благодарю за ответы.
Добрый день! Постараюсь ответить, как понял вопросы:
Про разметку значимости - чисто теоретически, т.к. моя работа не связана с обучением или файн тюном моделей. Но, это логичный вопрос, которым я задался - почему бы не давать в обучении достаточное количество примеров с значимой серединой, чтобы обучить внимание модели её учитывать. Есть работы, которые говорят: 1. Существуют attention sink и они заставляют модель смотреть на начало как на самое значимое место в тексте из-за каузального внимания. Т.е. первые токены наибольшее количество раз прогонялись при обучении моделей. 2. Учить нужно на претрейне этому, потому что файн тюн не дает практического эффекта для исправления потери в середине - относительно мало данных. 3. Собирать датасет для претрейна со значимой серединой - долго и очень дорого, проще исправить RoPE. 4. Фактически - даже такой претрейн датасет не даст значимого эффекта, т.к. это механизмы обучения внимания и позиционного кодирования - их нужно исправлять. 5. Полноценно исправить RoPE на текущий момент никто не смог, хотя сделать более равномерное распределение весов всё же получается. Но эффект все равно сохраняется, хотя и менее выраженный.
Вот по семплированию ответа у меня готового нет, хотя вопрос актуальный и интересный. Эффект будет иметь значение из-за того, что при семплировании учитываются скоры внимания, которые искажены из-за позиционного смещения. Но часть алгоритмов учитывает топ вероятных, среди которых может быть информация из середины. Самый уязвимый - жадный поиск, он же берет самые вероятные токены, а бим серч самый устойчивый, т.к. он формирует более вероятные последовательности. Остальные где-то по середине.
Rag - один из вариантов, как без вмешательства в веса и скоры внимания решать эту проблему. Наиболее частое решение - реранкер. Отчасти - это помогает.
Опять же, лично не пробовал механизмы выравнивания весов внимания, но их сейчас много, судя по научным работам. Тут из практики сказать ничего не могу, к сожалению.
В одной из работ, не помню в какой именно, исследовали качество, при увеличении "голд" чанков в середине. Вывод: качество или вообще не улучшается, или незначительно.
Итого: сейчас с эффектом все же лучше, чем 2 года назад. Но, во 2 части я планировал показать, что при увеличении контекстного окна - появляется понятие "эффективного" окна. В нем эффект минимален, если контекст больше - все тоже самое если есть необходимость понимать семантику.
Антипаттерн LLM-приложений: Когда модель игнорирует контекст. Часть 1