В области машинного обучения одной из наиболее острых проблем остается ограничение длины входных данных для трансформеров. Традиционные модели, такие как GPT, часто «ломаются», как только длина текста при генерации или анализе превышает ту, на которой они обучались. В новом видео Янник Килчер разбирает научную работу «Train Short, Test Long: Attention with linear biases enables input length extrapolation», авторы которой предложили элегантное и простое решение под названием ALiBi. Этот метод позволяет нейросетям успешно работать с последовательностями, которые в 2–10 раз длиннее тренировочных, без потери качества и значительных вычислительных затрат.
🧠 Проблема позиционного кодирования в трансформерах 1:43
Трансформеры, представленные в 2017 году в статье «Attention is all you need», фундаментально не являются моделями последовательностей — они работают с наборами (сетами) данных . Если подать в модель предложение без дополнительных меток, она не поймет, в каком порядке идут слова. Янник поясняет, что для механизма внимания (attention) не имеет значения, стоит слово в начале или в конце предложения, если у него один и тот же «ключ» (key) .
Чтобы решить эту проблему, разработчики используют позиционное кодирование:
- Синусоидальные энкодинги: использование длинных волн синусов и косинусов разной частоты для придания каждому токену уникальной подписи его позиции . Теоретически это должно помогать модели понимать относительные расстояния, но на практике такие модели плохо экстраполируют данные на большую длину .
- Обучаемые эмбеддинги: модель сама учит позиции, но это требует больше памяти и ограничивает длину текста строго тем окном, которое было при обучении .
- Проблема переноса информации: Янник отмечает, что при простом сложении позиционных меток с эмбеддингами слов в начале сети, модели приходится «протаскивать» информацию о позиции через все слои, что затрудняет вычисления .
🚀 Метод ALiBi: линейное смещение внимания 11:00
Метод ALiBi (Attention with Linear Biases) предлагает радикально сменить подход. Вместо того чтобы добавлять информацию о позиции к самим векторам слов (эмбеддингам), авторы решили воздействовать напрямую на механизм внимания, используя фиксированное линейное смещение .
Суть метода заключается в следующем:
- Инъекция в Query и Key: Позиционная информация не добавляется к значениям (Values), которые передаются между слоями, а вводится только в момент вычисления матрицы внимания между запросами (Queries) и ключами (Keys) .
- Линейное «наказание» за расстояние: В процессе вычисления внимания из результата перемножения вектора запроса и ключа вычитается значение, пропорциональное расстоянию между ними .
- Логарифмическая логика: Янник поясняет, что вычитание в лог-пространстве (так как далее следует Softmax) эквивалентно делению на константу. Таким образом, модель просто принудительно «забывает» или придает меньше веса тем токенам, которые находятся далеко в прошлом .
📉 Разные наклоны (slopes) для разных голов внимания 20:05
Одной из «изюминок» метода является использование разных коэффициентов смещения ($m$) для каждой головы внимания в трансформере. Авторы предложили использовать геометрическую прогрессию для выбора этих коэффициентов (например, 1/2, 1/4, 1/8 и т.д. для 8 голов) .
По мнению Янника Килчера, это отличное решение, так как:
- Оно привносит разнообразие в работу ансамбля голов внимания .
- Модель может сама выбирать, какие головы будут «смотреть» только на ближайший контекст (с крутым наклоном), а какие — сохранять более широкое внимание (с пологим наклоном) .
- Это не требует обучения параметров — коэффициенты фиксированы заранее .
📊 Результаты испытаний и экстраполяция 23:52
В экспериментах на наборе данных WikiText ALiBi показал превосходство над классическими методами. Модели, обученные на коротких последовательностях (например, 512 токенов), при тестировании на 1024 токенах и более сохраняли низкую перплексию (метрика качества предсказания текста), в то время как синусоидальные и роторные (Rotary) эмбеддинги немедленно выходили из строя .
Ключевые выводы экспериментов:
- Производительность: ALiBi работает быстрее обучаемых методов и потребляет меньше памяти .
- Парадокс улучшения: Иногда перплексия даже улучшалась при увеличении длины текста выше тренировочной, что авторы связывают с феноменом «проклятия ранних токенов» (early token curse) — когда начальные слова предложения сложнее предсказать из-за отсутствия контекста .
- Истинная причина успеха: Янник делает важное дополнение («Янник из будущего»): по его мнению, модель не столько учится рассуждать о сверхдлинном контексте, сколько просто перестает путаться в нем, так как далекое прошлое сильно обесценивается смещением и не создает шума при предсказании следующего слова .
💬 Мнение автора и перспективы 29:53
Янник Килчер оценивает работу как «очень простую и крутую», подчеркивая, что именно простота может стать ключом к массовому внедрению ALiBi . Однако он высказывает следующие сомнения и пожелания:
- Ограниченность тестов: Видео отмечает, что авторы фокусировались на авторегрессионном моделировании (генерации текста), но Яннику было бы интересно увидеть результаты в задачах поиска ответов в документах, где нужно связывать информацию из разных концов длинного текста .
- Практическая ценность: Только время покажет, станет ли это стандартом в индустрии, но доступность кода делает эксперименты с этой технологией очень простыми для любого разработчика .