Поиск

Расширение контекста нейросетей без переобучения: сброс позиций и полярное сжатие памяти

Расширение контекста нейросетей без переобучения: сброс позиций и полярное сжатие памяти

Языковые модели, обученные на фиксированной длине контекста, теряют связность, когда входной текст выходит за пределы знакомого диапазона. Причина кроется в механизме позиционной разметки: во время обучения каждому токену присваивается угловая метка порядкового номера. Как только длина последовательности превышает обучающий лимит, угловой счетчик уходит на невиданный круг, и модель перестает отличать соседние слова от далеких. Традиционное решение — полное переобучение на длинных документах с арендой сотен видеокарт — стоит огромных денег и недель ожидания.

Проблема углового счетчика позиций и крах модели за пределами обучающего контекста

В стандартной архитектуре трансформера позиционные эмбеддинги реализованы через вращающиеся векторы (RoPE). Каждому токену соответствует угол, зависящий от его индекса. На этапе обучения модель учится связывать эти углы с семантикой порядка. Если на входе появляется токен с индексом, превышающим максимальный обучающий, его угол выходит за пределы известного распределения. Внимание перестает корректно оценивать относительные расстояния, и генерация распадается на бессмысленный набор слогов. Это жесткое математическое ограничение, а не нехватка параметров.

Гигантский транспортер трескается, лента токенов выходит за его пределы

Решение Оксфорда и Sakana AI: полное удаление позиционных эмбеддингов из обученной модели

Исследователи из Оксфорда и лаборатории Sakana AI предложили радикальный подход: полностью вырезать позиционные эмбеддинги из уже обученной модели. На первый взгляд это должно разрушить понимание порядка слов, ведь трансформер без позиций воспринимает последовательность как неупорядоченное множество. Однако эксперименты показали обратное: после удаления RoPE и короткой калибровки на исходной длине контекста модель начинает обрабатывать тексты в 2–4 раза длиннее обучающего лимита, превосходя классические методы интерполяции углов на задачах поиска фактов.

Почему это работает: маска внимания как источник порядка слов после формирования весов

Авторы работы обосновывают эффект тем, что позиционная разметка нужна только на старте обучения как временные подпорки. В процессе тренировки веса внимания усваивают структуру языка и причинно-следственные связи. После закрепления весов сама маска причинного внимания (causal mask), которая запрещает смотреть вправо, несет всю необходимую информацию о порядке. Явные угловые метки становятся избыточными, а их удаление снимает искусственный потолок длины.

Минимальная калибровка: восстановление способностей за менее одного процента от исходного времени тренировки

После вырезания позиционных эмбеддингов достаточно провести короткую калибровку на данных той же длины, что и при первичном обучении. Это занимает менее одного процента от исходного времени тренировки и не требует длинных документов. Модель быстро адаптируется к отсутствию явных позиций, используя неявный порядок из маски внимания. Результат — работающий контекст в 2–4 раза больше без затрат на масштабное дообучение.

Новое узкое место: взрывной рост KV-кэша при расширении контекста до 200 тысяч токенов

Снятие ограничения длины в самой модели открывает путь к контекстам в сотни тысяч токенов. Но тут возникает физическая проблема: буфер ключей и значений (KV-кэш) в 16-битном формате на 200 тысяч токенов потребляет до 80 процентов видеопамяти ускорителя. Даже на топовых картах это оставляет мало места для параллельных сессий и самих весов модели. Необходимо сжимать кэш, но наивное квантование до 2–3 бит создает накладные расходы на хранение масштабов для каждого блока, съедая выгоду.

Полярное сжатие Google (ICLR 2026): случайный поворот и переход в полярные координаты

На конференции ICLR 2026 команда Google представила метод полярного сжатия KV-кэша. Сначала вектор данных умножается на случайную ортогональную матрицу — это равномерно размазывает выбросы по координатам. Затем декартовы координаты переводятся в полярные: один общий радиус и набор углов. Ключевое наблюдение: после случайного поворота распределение углов становится строго предсказуемым по законам геометрии и не зависит от содержания текста — будь то медицинская карта или программный код.

Куб данных поворачивается и превращается в спираль полярных координат

Отказ от таблиц масштабирования: предсказуемое распределение углов даёт 2–3 бита без накладных расходов

Поскольку границы углов известны заранее, не нужно хранить отдельные коэффициенты масштаба и сдвига для каждого блока из 32 или 64 значений. Ключи сжимаются до 3 бит, значения — до 2 бит без единой строчки служебных таблиц. Остаточную погрешность округления компенсирует однобитный поправочный знак. Это устраняет главную проблему низкоразрядного квантования — накладные расходы на метаданные, которые ранее делали 2-битное сжатие невыгодным.

Результаты на железе: 5–6× экономия VRAM, до 8× ускорение attention на H100, точность до десятых долей процента

На ускорителях H100 полярное сжатие уменьшает занимаемую видеопамять ровно в 5–6 раз прямо во время инференса, без переобучения модели. Благодаря легким матрицам скорость вычисления внимания растет до 8 раз по сравнению с несжатым 16-битным кэшем. Качество ответов на бенчмарках длинного контекста совпадает с исходной моделью до десятых долей процента. Это делает метод готовым к производственному внедрению.

Торговые потери: программная распаковка 2–3 бит против аппаратного FP8 на тензор-ядрах

Современные видеокарты имеют аппаратную поддержку 8-битных чисел с плавающей запятой (FP8) внутри тензор-ядер. Стандартное квантование до 8 бит выполняется без задержек на перевод форматов. Для 2–3 битовых полярных кодов приходится запускать программные ядра распаковки углов, что добавляет накладные расходы на вычисления. Если видеопамяти хватает для 8-битного кэша, аппаратный FP8 будет быстрее.

Когда агрессивное сжатие оправдано: упирание в потолок памяти и выгода от параллельных сессий на одной карте

Сверхплотное сжатие становится выгодным, когда физическая память становится ограничивающим фактором. Пример: на карте с 12 ГБ свободной памяти под пользовательские сессии 8-битный кэш позволяет удержать лишь один длинный документ, а второй запрос встает в очередь. Применение 2–3 битового полярного сжатия вместе с удалением позиционных эмбеддингов позволяет втиснуть в те же 12 ГБ сразу 3–4 параллельных диалога удвоенной длины — без покупки нового железа и без многодневного дообучения.

Вопросы и ответы

Зачем удалять позиционные эмбеддинги из уже обученной модели?

Удаление снимает жесткий математический потолок длины контекста, заданный максимальным углом при обучении. После короткой калибровки модель обретает способность обрабатывать последовательности в 2–4 раза длиннее обучающего лимита без дорогого переобучения.

В чем суть полярного сжатия KV-кэша?

Данные поворачивают случайной ортогональной матрицей, затем переводят в полярные координаты (радиус и углы). Распределение углов становится предсказуемым, что позволяет квантовать ключи до 3 бит и значения до 2 бит без хранения таблиц масштабирования для каждого блока.

Когда стоит включать 2–3 битовое сжатие, а когда лучше оставить 8 бит?

Если видеопамяти достаточно для 8-битного кэша, аппаратный FP8 на тензор-ядрах даст большую скорость. Агрессивное сжатие оправдано, когда память становится узким местом: оно позволяет разместить в 3–4 раза больше параллельных длинных сессий на той же карте, компенсируя накладные расходы на программную распаковку.

Читайте также на сайте

—
02:36
25
Нет комментариев. Ваш будет первым!