Языковая модель без attention · 33.6M параметров · с нуля на PG19
Рекуррентная сеть сжимает всё прочитанное в один вектор с одной постоянной времени: давнее растворяется. Трансформер помнит всё, но платит растущим KV-кешем. ROTOR идёт третьим путём: состояние фиксированного размера, но с четырьмя явными масштабами времени и адресуемой записью.
Четыре банка, одно уравнение
В каждом блоке четыре экземпляра одной и той же памяти с постоянными времени τ = 4, 64, 4096 и 10 миллионов токенов. Быстрый банк живёт в пределах фразы, второй помнит абзац, третий главу, четвёртый не забывает вовсе. Куда писать, модель решает сама: у каждого банка свой гейт записи.
Фаза вместо позиции
Главное отличие от RoPE: поворот применяется не ко входу, а к самому состоянию памяти на каждом шаге. Самая быстрая пара координат банка проходит один радиан за τ токенов, остальные пары медленнее. Фаза записи становится положением на собственных часах банка: запрос ищет по содержанию, а по фазе понимает, когда это было записано. Четвёртый банк фазу не крутит, это чистая ассоциативная память, которая не стареет.
Точное параллельное обучение
Рекуррентность обычно учат шаг за шагом. Здесь та же формула считается кусками по 64 токена в замкнутой форме: одно треугольное решение и матричные произведения. Результат совпадает с пошаговым эталоном до 2·10−15, включая градиенты и границы кусков. Обучение идёт как у трансформера, генерация как у рекуррентной сети с O(1) состоянием.
Генерация блоками
Отдельная голова рисует восемь следующих токенов сразу из одного скрытого вектора. Рекуррентность проглатывает черновик одним проходом, основная голова сверяет каждый токен со своим жадным выбором, совпавший префикс принимается. Выход равен обычному жадному декодированию, только параллельно: спекулятивное декодирование встроено в модель, без второй сетки.
Почему это больше, чем RNN
У LSTM один масштаб, и забывание там единственный способ освободить место. Здесь четыре горизонта и адресуемая перезапись.
Память проверяема: любой банк можно выключить и измерить, что пропало. Протокол приёмки так и устроен: на разрывах от 16384 токенов модель обязана опираться на четвёртый банк.
Состояние не растёт с контекстом, а поток текста между записью и вопросом может быть любой длины.🦆🦆🦆
Поддержать канал ₽ / $ / ₿
