Глава 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 в бесконечный поток памяти, который способен мгновенно адаптироваться и “перезабывать” нерелевантные данные.
Содержание
- Введение: Линейное внимание vs Обычное внимание
- Математические основы: Трансформеры — это SSMs
- Gated Linear Attention (GLA) и механизмы забывания
- Контекст трейдинга: Высокочастотный инференс
- Реализации на Python
- Архитектура в Rust
- Фреймворк для бэктестинга
- Ссылки
Введение: Линейное внимание 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$ постоянного размера, вы можете поддерживать живого непрерывного торгового бота.
- Подключитесь к WebSocket потоку Bybit.
- Каждую миллисекунду получайте новый снимок (слепок матрицы) LOB $x_t$.
- Извлеките векторы $K_t$ и $V_t$ и просто добавьте (просуммируйте) их к постоянной памяти $S$, умножив на фактор затухания.
- $O_t$ дает вероятностный тренд для будущего изменения цены. Время инференса на каждый следующий тик равно константе — $O(1)$.
Реализации на Python
В директории python/ содержатся реализации глубоких нейронных сетей, воспроизводящих SSD-двойственность.
01. Базовая ячейка двойственности
- Файл:
python/model.pyМодуль содержит структуру ядраLinearAttentionSSMCell. Он явно разбивает матричные перемножения, убирает softmax, использует фактор непрерывного распада $\exp(A)$ и дает те же отображения размерностей, которые были доказаны на конференции ICML 2024.
python python/model.py02. Цикл обучения
- Файл:
python/train.pyГенерирует смоделированные многомерные потоки тиков LOB, представляющие фиды с биржи Bybit. В алгоритм включено усечение градиентов (gradient clipping) для стабилизации RNN при обучении, а сама память линейного внимания оптимизируется через MSE.
python python/train.py03. Бэктест фреймворк
- Файл:
python/backtest.pyТак как линейное внимание работает строго последовательно (рекуррентно), здесь вы не вычисляете списки индикаторов. Вы буквально скармливаете одну линию цены через скрытое состояние шаг за шагом с инференсом в $O(1)$. Метрики включают Sharpe Ratio, Drawdown, PnL.
python python/backtest.pyАрхитектура в Rust
Торговые системы для HFT не могут позволить себе задержки, порождаемые сборщиком мусора (Garbage Collector) в Python.
Директория rust/ демонстрирует, как в высокопроизводительной среде переносить непрерывную матрицу Состояний (State Matrix) по стримам необработанных float-данных.
- Движок (библиотека):
rust/src/lib.rs - Живой инференс (запуск):
rust/src/main.rs
Этот код воспроизводит, как SSD-матрицы динамически сохраняют и обновляют состояния без выделения новой памяти, гарантируя микросекундную реакцию на дисбалансы микроструктуры.
cd rustcargo runСсылки
- Dao, T., & Gu, A. (2024). Transformers are SSMs: Generalized Models and Efficient Algorithms Through Structured State Space Duality. ICML 2024. arXiv:2405.21060
- Yang, S., et al. (2024). Gated Linear Attention for Long-Context Modeling.
- Глава 133: HIPPO Framework - Математический базис полиномов непрерывного пространства состояний SSM.
- Глава 135: Бидирекциональная (двунаправленная) архитектура Mamba