Перейти к содержимому

Глава 134: Линейное Внимание и Модели Пространства Состояний (SSM)

Обзор

В течение многих лет сообщество глубокого обучения рассматривало механизмы Внимания (лежащие в основе Трансформеров) и модели Пространства Состояний (SSM, чьи корни уходят в непрерывную теорию управления и фильтры Калмана) как два фундаментально разных подхода к моделированию последовательностей. Однако выдающаяся статья 2024 года “Transformers are SSMs: Generalized Models and Efficient Algorithms Through Structured State Space Duality” (Дао и Гу) доказала их полную математическую эквивалентность.

В алгоритмическом трейдинге — особенно при обработке высокочастотных тиковых данных на уровне Книги Заявок (Limit Order Book, LOB) — классическое внимание (Attention) обречено на провал. Вычисление $O(N^2)$ перекрестных связей при каждом появлении нового бида или аска вычислительно фатально.

В этой главе представлены концепции Двойственности Структурированного Пространства Состояний (Structured State Space Duality, SSD) и Гейтированного Линейного Внимания (Gated Linear Attention, GLA). Вы узнаете, как переосмыслить архитектуру Трансформера до формы $O(N)$ рекуррентной нейросети (RNN), сохраняющей матрицу памяти константного размера. Концепция объясняет, как подавать миллионы тиков с бирж уровня Bybit в бесконечный поток памяти, который способен мгновенно адаптироваться и “перезабывать” нерелевантные данные.

Содержание

  1. Введение: Линейное внимание vs Обычное внимание
  2. Математические основы: Трансформеры — это SSMs
  3. Gated Linear Attention (GLA) и механизмы забывания
  4. Контекст трейдинга: Высокочастотный инференс
  5. Реализации на Python
  6. Архитектура в Rust
  7. Фреймворк для бэктестинга
  8. Ссылки

Введение: Линейное внимание vs Обычное внимание

Проблема квадратичной сложности $O(N^2)$

Классическое внимание опирается на функцию (ядро) Softmax: $$ \text{Output} = \text{softmax}(Q \cdot K^T) \cdot V $$

Поскольку Softmax применяется к результату перемножения $Q$ (Query / Запроса) и $K$ (Key / Ключа), вы обязаны сначала вычислить $Q \cdot K^T$. Для длины последовательности $N$ это порождает матрицу размером $N \times N$. Если $N = 100~000$ (количество тиков), ресурсы GPU исчерпываются мгновенно.

Решение линейной сложности $O(N)$

Линейное внимание убирает Softmax и применяет позитивную функцию признаков (feature map) $\phi(x)$ к $Q$ и $K$ по отдельности:

$$ \text{Output} = \phi(Q) \cdot (\phi(K)^T \cdot V) $$

Благодаря ассоциативности умножения матриц, мы сначала перемножаем $(\phi(K)^T \cdot V)$! Это представляет собой фиксированную по размеру «матрицу состояния» $S$, и вычислительная сложность в итоге возрастает линейно.


Математические основы: Трансформеры — это SSMs

Когда мы убираем Softmax и раскрываем линейное внимание в хронологическом времени по шагам последовательности $t$, обнаруживается невероятно глубокая связь. Сумму внимания можно строго переписать как рекуррентное уравнение шага:

$$ S_t = S_{t-1} + \phi(K_t)^T \cdot V_t $$ $$ O_t = \phi(Q_t) \cdot S_t $$

Из этого следует, что Линейное Внимание — это просто RNN. Матрица $S_t$ выступает в роли «Скрытого состояния». Расширив эту концепцию на формулу непрерывного обыкновенного дифференциального уравнения (ODE), авторы (Дао и Гу) доказали, что модели пространства состояний (SSMs) и механизмы Внимания разделяют общую структурную двойственность (duality).

Gated Linear Attention (GLA) и механизмы забывания

Если мы добавим зависящий от данных экспоненциальный фактор распада (затухания) $A$ (который полностью аналогичен матрице перехода в моделях SSM), мы получим Двойственность Структурированного Пространства Состояний (SSD) или Gated Linear Attention:

$$ S_t = A \cdot S_{t-1} + K_t^T \cdot V_t $$

В трейдинге фактор $A$ позволяет модели выборочно «забывать». Если на рынок “прилетает” важная новость, шлюзы (gates) модели уменьшают фактор экспоненты $A$, стирая устаревшую матрицу истории за миллисекунды, и позволяя адаптироваться к жестокой смене режима волатильности без полного ресета.


Контекст трейдинга: Высокочастотный инференс

Книги лимитных заявок (LOBs)

Поскольку матрица состояний $S$ постоянного размера, вы можете поддерживать живого непрерывного торгового бота.

  1. Подключитесь к WebSocket потоку Bybit.
  2. Каждую миллисекунду получайте новый снимок (слепок матрицы) LOB $x_t$.
  3. Извлеките векторы $K_t$ и $V_t$ и просто добавьте (просуммируйте) их к постоянной памяти $S$, умножив на фактор затухания.
  4. $O_t$ дает вероятностный тренд для будущего изменения цены. Время инференса на каждый следующий тик равно константе — $O(1)$.

Реализации на Python

В директории python/ содержатся реализации глубоких нейронных сетей, воспроизводящих SSD-двойственность.

01. Базовая ячейка двойственности

  • Файл: python/model.py Модуль содержит структуру ядра LinearAttentionSSMCell. Он явно разбивает матричные перемножения, убирает softmax, использует фактор непрерывного распада $\exp(A)$ и дает те же отображения размерностей, которые были доказаны на конференции ICML 2024.
Окно терминала
python python/model.py

02. Цикл обучения

  • Файл: python/train.py Генерирует смоделированные многомерные потоки тиков LOB, представляющие фиды с биржи Bybit. В алгоритм включено усечение градиентов (gradient clipping) для стабилизации RNN при обучении, а сама память линейного внимания оптимизируется через MSE.
Окно терминала
python python/train.py

03. Бэктест фреймворк

  • Файл: python/backtest.py Так как линейное внимание работает строго последовательно (рекуррентно), здесь вы не вычисляете списки индикаторов. Вы буквально скармливаете одну линию цены через скрытое состояние шаг за шагом с инференсом в $O(1)$. Метрики включают Sharpe Ratio, Drawdown, PnL.
Окно терминала
python python/backtest.py

Архитектура в Rust

Торговые системы для HFT не могут позволить себе задержки, порождаемые сборщиком мусора (Garbage Collector) в Python.

Директория rust/ демонстрирует, как в высокопроизводительной среде переносить непрерывную матрицу Состояний (State Matrix) по стримам необработанных float-данных.

Этот код воспроизводит, как SSD-матрицы динамически сохраняют и обновляют состояния без выделения новой памяти, гарантируя микросекундную реакцию на дисбалансы микроструктуры.

Окно терминала
cd rust
cargo run

Ссылки

  1. Dao, T., & Gu, A. (2024). Transformers are SSMs: Generalized Models and Efficient Algorithms Through Structured State Space Duality. ICML 2024. arXiv:2405.21060
  2. Yang, S., et al. (2024). Gated Linear Attention for Long-Context Modeling.
  3. Глава 133: HIPPO Framework - Математический базис полиномов непрерывного пространства состояний SSM.
  4. Глава 135: Бидирекциональная (двунаправленная) архитектура Mamba