Комментарии 4
Landmark attention пропущен. Он совсем плохой, никому не нужный? В июне вышло несколько моделей (minotaur, manticore) когда он был свеж и... Всё. Random-Access Infinite Context Length for Transformers забыт и оставлен во времена лламы1.
Я несколько не понимаю почему трансформерам нужно O(nn) памяти. Вместо Softmax(Q[:N] k[:N].T)V один раз можем же сделать частями, грубо softmax(Q[i] K[:N].T)V N раз (для I=0,1,2...) и будут те же O(N) памяти и O(NN) расчётов
Да, этот подход пропустил, спасибо, может добавлю позже
Матричные умножения работают сильно быстрее. Но идея верная, и это похоже на то, что делается в FlashAttention
Тогда ещё добавлю пожеланий на будущее
yarn, dynamic ntk, etc. Методы основанные на изменении существующих positional embedding - большинство из них даже не требуют finetune и работают с существующими моделями. Они отвечают на вопрос в заголовке и оказались настолько влиятельны, что сейчас есть в движках из коробки типа llamacpp. И настолько просты что зарождение можно было видеть на 4chan,localllama а не arxiv
block recurrent transformer. Тот который схож с rmt, но память и веса памяти отдельны, а не встроены в основной поток.
long range area. Не модель. Но хлеб и масло длинных текстов и тестов. У фейсбук есть описание многих моделей и их тестирование. Насколько помню Nystromformer там хорош.
mega. retnet строго не является трансформером так как self attention выкинут и заменён как было сказано в статье. MEGA, если прищуриться, имеет схожую идею(умножай прошлое @ прибавляй настоящее) + суёт выход в настоящий self attention. И лидирует на lra согласно paperswithcode.
S4 и прочие голодные гиппопотамчики. Тоже не трансформер. Но раз retnet упомянут. Как и retnet имеет 2 представления (cnn, rnn). На этом мое понимание кончается. Хороших объяснялок по s4 нет. Есть мало непонятных(и это не только моё имхо - s4 annotated упомянул неинтуитивность модели) где к середине мозги отрубаются . У меня от этого подгорает сильнее всего. Это один из самых удачных современных отказов от трансформеров. Большое количество материалов по llm говорят про исторические lstm, gru, Transformer(хорошо если rope упомянут) но про h3, s4, s5 ни слова. И они созданы для длинных текстов. Из топ10 моделей в lra половина основаны на structural state space. Половина. Это не rwkv который большую часть времени используется только автором поэтому хороша она или нет неясно. Эти модели явно уже доказали что они могут. И по ним очень мало доступных материалов
Ну ладно, механизм внимания можно оптимизировать, но вот полносвязную сеть за ним как? А насколько я понимаю размер этой сети выбирается 4*D, т е охренительно большая... Либо при оптимизации выходной вектор внимания брать меньшего размера, но тогда вряд ли трансформер сохранит свои свойства... Я понимаю, что я в этом олух, но может кто объяснит почему оптимизируют только часть self-attention? И второй вопрос: если вычисления в полносвязной сети стоят меньше, чем вычисления внимания, то нафиг этот алгоритм внимания вообще нужен? Можно же также поставить full connection слои вместо него. Почему так не делают?
«ИИ без границ»: как научить Transformer обрабатывать длинные тексты