Как DataDog научил трансформеры предсказывать будущее ИТ-инфраструктуры

03 May, 2026

Представьте, что ваша система мониторинга — это не просто экран с кучей мигающих графиков, а опытный синоптик. Он не просто констатирует, что «сейчас ливень из 500-х ошибок», а за полчаса предупреждает: «через 20 минут загрузка CPU на базе данных подскочит до критической отметки, готовьтесь». Именно такую амбициозную задачу решает проект Toto от команды DataDog.

Это не очередная маленькая библиотека для рисования графиков. Перед нами полноценная foundation model (базовая модель), специально обученная работе с временными рядами в контексте обсервабилити. Если вы работали с Prophet от Meta или классическими ARIMA, то знаете, как тяжело они переваривают резкие всплески трафика или сложные зависимости между сотнями микросервисов. Ребята из DataDog решили, что пора перенести успехи больших языковых моделей (LLM) в мир мониторинга систем.

Что под капотом у Toto

Разработчики не стали мелочиться и обучили модель на чудовищном объеме данных — более 2 триллионов точек временных рядов. Основная часть этого массива взята из внутренних систем самого DataDog. Важный момент: клиентские данные в обучении не участвовали, только метрики их собственной инфраструктуры. Это позволило модели «насмотреться» на самые разные сценарии: от падения сетевых интерфейсов до постепенной деградации производительности БД.

В основе Toto лежит архитектура Transformer, оптимизированная под многомерные данные. Вот что делает её интересной:

  • Zero-Shot прогнозирование. Модель можно использовать «из коробки». Вам не нужно скармливать ей историю своих метрик за последние три года, чтобы она начала выдавать адекватные прогнозы. Она уже видела достаточно похожих паттернов, чтобы понимать типичное поведение систем.
  • Поддержка многомерности. В мониторинге метрики редко живут поодиночке. Рост потребления памяти обычно связан с очередью запросов или дисковым вводом-выводом. Toto использует механизм Proportional Factorized Space-Time Attention, который помогает модели отслеживать связи между разными переменными одновременно.
  • Вероятностные прогнозы. Вместо одной жесткой линии графика на будущее, модель выдает доверительные интервалы. Это критично для алертинга: вы можете настроить уведомление не на «превышение порога X», а на «вероятность выхода за пределы нормы выше 90%».
  • Дополнительные переменные. В феврале 2026 года в проект добавили поддержку экзогенных факторов. Теперь модели можно подсказать: «завтра в 14:00 у нас запланировано нагрузочное тестирование» или «в это время начнется распродажа», и она учтет эти события в прогнозе.

Как это выглядит в коде

Установка стандартная, через pip. Для тех, кто хочет максимальной скорости, авторы советуют докинуть xformers и flash-attention, чтобы задействовать возможности современных GPU по полной.

import torch
from toto.inference.forecaster import TotoForecaster
from toto.model.toto import Toto

# Грузим предобученные веса прямо с Hugging Face
toto = Toto.from_pretrained('Datadog/Toto-Open-Base-1.0')
toto.to('cuda') 

forecaster = TotoForecaster(toto.model)

# Представим, что у нас есть 7 разных метрик (каналов) за последние 4096 моментов времени
input_series = torch.randn(7, 4096).to('cuda') 

# Запускаем прогноз на 336 шагов вперед
forecast = forecaster.forecast(
    inputs,
    prediction_length=336,
    num_samples=256 # Генерируем 256 вариантов развития событий для оценки вероятности
)

# Забираем медианный прогноз
median_prediction = forecast.median  

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

Зачем нужен бенчмарк BOOM

Вместе с моделью DataDog выкатили BOOM (Benchmark of Observability Metrics). Это огромный датасет реальных метрик: сеть, базы данных, безопасность, инфраструктура.

Зачем это нам? В области Time Series долгое время не хватало адекватных «боевых» тестов. Большинство моделей тестировали на данных о погоде или потреблении электроэнергии. Но поведение облачного кластера под нагрузкой сильно отличается от того, как меняется температура в Лондоне. BOOM заполняет этот пробел, давая разработчикам линейку, которой можно измерить реальную профпригодность любой модели прогнозирования.

Практическая ценность

Главный вопрос: стоит ли тащить это в продакшен?

Если вы строите свою систему умных алертов или планируете мощности (capacity planning), Toto выглядит очень многообещающе. Вместо того чтобы писать сотни правил «если то, то это», можно использовать модель, которая понимает контекст.

Например, вы можете дообучить (fine-tune) Toto на своих специфических данных. В репозитории есть готовые скрипты и ноутбуки для этого. Результаты тестов показывают, что даже базовая модель неплохо справляется в zero-shot режиме, но после дообучения с учетом внешних факторов (тех самых экзогенных переменных) точность прогноза MAE (Mean Absolute Error) заметно вырастает.

Конечно, для работы Toto нужны ресурсы GPU, и это не тот инструмент, который стоит запускать на слабом сервере мониторинга ради одной метрики. Но для критически важных узлов системы такой «предсказатель» может сэкономить кучу нервов во время дежурств.

DataDog сделал отличный ход, открыв веса модели Toto-Open-Base-1.0. Это не просто «еще один трансформер», а попытка приручить хаос системных метрик с помощью тяжелой артиллерии из мира Deep Learning.

Проект подойдет тем, кто:

  1. Занимается разработкой систем AIOps.
  2. Ищет замену классическим статистическим методам прогнозирования, которые «ломаются» на сложных данных.
  3. Хочет поэкспериментировать с переносом обучения (transfer learning) в анализе временных рядов.

Попробовать стоит хотя бы ради того, чтобы увидеть, как модель, обученная на триллионах точек, понимает ваши графики лучше, чем стандартные пороговые значения.