group-telegram.com/rizzearch/232
Last Update:
Leave No Context Behind: Efficient Infinite Context Transformers with Infini-attention
Oh God, неужели наконец решили (холиварную) тему ограниченного контекста трансформеров - и получили бесконечный контекст при фиксированном компьюте брррррр
что же придумали авторы из гугла - давайте будем хранить в качестве памяти скользящее среднее (по сегментам) дот продакта между V и f(K), где f это какая-то нонлинеарити. затем такую память скармливаем с запросами (queries, Q) из нынешнего сегмента ⇒ получаем “аттеншн мапы” , которые потом суммируем взвешенного с обычным механизмом внимания ⇒ вот нам и бесконечный контекст, не так ли?
напоминает то, что придумали в TransformerXL, однако там история берется только по предыдущему сегменту, а не по всем, как тут. да и по сути компрессив мемори из инфини-аттеншна есть не что иное, как associative memory (которое мы упоминали здесь и здесь)
по факту это все выглядит как рнн со всеми ее недостатками (что вся история и память компрессится в один объект - в рнн в хидден стейт а тут в компрессив мемори) и при том без ее преимуществ, как бэкпроп во времени
к тому же и сами авторы отмечают, что их аттеншн по памяти происходит линейный - да, между нелинейными преобразованиями f(Q)f(K), но это не оч хорошо аппроксимирует софтмакс из стандартного аттна - а это сильно так бьет по перформансу на более сложных тасках (as far as I know)
коэффициент ЕМА, который соединяет аттеншн, полученный по предыдущей памяти, с аттеншном на данном сегменте (то есть классический) - обучаемый, но он никак не зависит от инпута - задается просто какой-то приор таким образом, ничем не лучше фиксированного гипера - его перебирать не надо руками или свипом, вот и вся разница
но если весь мой скепсис напрасен и это действительно работает - так только лучше
👀LINK