TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • flag Russian
    Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
.ml

18 May, 11:20

Открыть в Telegram Поделиться Пожаловаться

Эволюция Attention: от RNN к Transformer

Открываем серию постов, в которых расскажем про путь к линейному Attention.

До трансформеров в задачах перевода и классификации в основном использовали рекуррентные модели (RNN). В 2014 году появился механизм Attention. Он позволил не просто читать текст последовательно, а смотреть все входные токены и оценивать, какие из них важны для генерации.


Как это работало:

Двунаправленная RNN кодировала входную последовательность → для каждого шага декодера считалась релевантность входных токенов → получались веса через softmax → на их основе формировался контекст для генерации следующего токена.

Это дало заметный прирост качества в машинном переводе. Но главная проблема RNN оставалась — они работали плохо на длинных последовательностях. Чтобы «понять» слово, модели нужно было пройти весь текст и дойти до него.

Трансформеры стали следующим шагом эволюции

Чтобы видеть всю последовательность сразу и лучше моделировать зависимости между токенами, внесли ряд изменений:

• Отказались от рекуррентности — последовательность считается параллельно.
• Добавили self-attention — помимо энкодера внимание начинает применяться непосредственно к декодеру.
• Добавили Bahdanau Attention выразительности — вместо однослойного перцептрона используется dot product из обучаемых Q,K,V матриц.

Но появилась новая проблема: Attention имеет квадратичную сложность по длине последовательности. Это значит, что при росте контекста память и вычисления растут очень быстро.

Это пытались исправить разными способами:
• уменьшали число голов для экономии кэша;
• делали вычисление по части последовательности;
• создавали кернелы для эффективного вычисления Attention (например, Flash Attention).

Эти методы ускоряли вычисления, но не меняли саму формулу Attention.

Про то, как получилось преодолеть это ограничение — в следующем посте.

💜 Этот пост написал Владислав Попов, ML-инженер в Точка Банк

3.1k 0 46 8 62
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot