Pull to refresh

Comments 5

В рамках рекуррентных сетей, лучше рассматривать подробнее не ParaRNN и старые RNN. Сейчас в 20026 году тенденция сместилась на рекуррентные трансформеры: Recurrent Transformer, Latent Recurrent Transformer, Test-Time Memory и другие. Они сочетают RNN и старый трансформер. Именно благодаря им достигается длинна контекста в 1 млн. токенов и более. Стоит рассмотреть их в статьях.

Recurrent Transformer: https://arxiv.org/pdf/2604.21215

Latent Recurrent Transformer (LRT): https://www.researchgate.net/publication/405317536_Latent_Recurrent_Transformer_Architecture_Exploration_Training_Strategies_and_Scaling_Behavior

Fast Byte Latent Transformer (Fast BLT): https://arxiv.org/pdf/2605.08044

Test-Time Memory архитектуры (Test-Time Training): https://arxiv.org/pdf/2604.06169

Так же понравилась представленная на Хабре работа Sessa (Selective State Space Attention): https://habr.com/ru/articles/990704/

В чистом виде от RNN мало толку, даже с учетом распараллеливания ParaRNN. Подобное решается в SSM (State Space Models) методом "сканирования". Если перенесете подобное в архитектуры выше и покажете, что это работает, то будет очень интересно.

Все вышеперечисленные архитектуры являются Quasi-LPV системами, так как они так или иначе зависят от входа или состояния. Но если Transformer и Sessa имеют рост состояния h_t, который линейно растет с длиной входа, то Mamba, RWKV, linear attention, DeltaNet и прочие линейные варианты по асимптотике имеют фиксированное состояние. RNN зависит от предыдущего состояния, и здесь появляется ParaRNN, где можно получить и параллельность, и зависимость от состояния. Однако в итоге все не так однозначно.

Особенно это заметно на контексте в 1M токенов: у нас нет нормального количества качественных и связных данных для эффективного обучения на таком и более длинном контексте. Поэтому нужно, чтобы модель могла нормально работать с длинным контекстом даже при минимальном количестве таких данных. Отсюда возникают два требования: вычислительная эффективность и качество.

Рост состояния напрямую помогает обойти часть ограничений, но сложность при этом растет, хотя память можно оставить линейной. Mamba, RWKV, linear attention, DeltaNet и другие архитектуры, которые бьют Transformer на длинном контексте за счет асимптотики, из-за той же асимптотики теряют эффективность в качестве из-за конечного состояния. У параллельных RNN состояние также фиксировано, но остается вопрос: даст ли что-то зависимость от предыдущего состояния.

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

Recurrent Transformers гораздо ближе к RNN, чем к Quasi-LPV. Они являются прямыми архитектурными наследниками рекуррентных нейросетей.
Основная идея Recurrent Transformers (например RMT), это разбиение длинной последовательности на сегменты и передача информации от одного сегмента к другому через фиксированное скрытое состояние.

В классических RNN это состояние называется h(t) и обновляется через полносвязный слой. В Recurrent Transformers роль h(t) играют специальные токены памяти (memory tokens), которые обновляются с помощью механизма Self-Attention. Математический граф вычислений здесь абсолютно такой же, как у RNN: последовательный, итеративный и использующий скрытый вектор для сжатия предыстории.

Если попытаться найти хоть какое-то сходство, то механизм Attention в Recurrent Transformers можно натянуть на структуру Quasi-LPV лишь концептуально: матрицы внимания (Attention weights) вычисляются динамически на основе текущих входных данных (токенов). В ТАУ это отдаленно напоминает изменение параметров системы в зависимости от её состояния. Однако это лишь аналогия.

Про обучение и остальное согласен. К Quasi-LPV скорее относятся Mamba (SSM), но Recurrent Transformers нет, он построен на RNN, а RNN напрямую к Quasi-LPV не относится, есть только сходство/аналогия.

Возможно, возникла некоторая путаница, поскольку само определение термина Quasi-LPV также эволюционировало. В данном случае я опираюсь на работу “On the State-Space Realization of LPV Input-Output Models: Practical Approaches”. То есть рассматривается система вида:

x_{t+1}=A(\rho_t)x_t+B(\rho_t)u_ty_t=C(\rho_t)x_t+D(\rho_t)u_t

где

\rho_t=\phi(x_t,u_t,y_t)

И Transformer, и Mamba и другие подходят под это определение. Единственное отличие состоит в том, что в Transformer и Sessa состояние будет расти с длиной входной последовательности.

RNN также является системой такого типа. Рассмотрим RNN:

x_{t+1}=\tanh(W_xx_t+W_uu_t+W_yy_t+b)

Обозначим

z_t=W_xx_t+W_uu_t+W_yy_t+bW_y = 0

и введем

\rho_{t,i}=\frac{\tanh(z_{t,i})}{z_{t,i}}

Тогда

\tanh(z_t)=D(\rho_t)z_t

Где D(\rho_t) просто диагональная матрица.

и получаем

x_{t+1}  =  D(\rho_t)W_xx_t  +  D(\rho_t)W_uu_t  +  D(\rho_t)W_yy_t  +  D(\rho_t)b

То есть в случае классической RNN:

x_{t+1}=A(\rho_t)x_t+B(\rho_t)u_t+c(\rho_t)

где

\rho_t=\phi(x_t,u_t,y_t)

Элемент c(p_t)можно убрать, если рассматривать систему через расширенное состояние.

И выход

y_t​=W_o​x_t​+b_o​

соответствует

y_t​=C(ρ_t​)x_t​+D(ρ_t​)u_t​

Спасибо за разьяснение, теперь понятно. Был не прав. С учетом описанного, согласен, что они все являются Quasi-LPV. Ранее не встречал "On the State-Space Realization of LPV Input-Output Models: Practical Approaches", хотя судя по всему работа старая.

Sign up to leave a comment.

Articles