CERN прошивает нейросети прямо в FPGA для фильтрации данных Большого адронного коллайдера

Level-1 Trigger на ~1000 FPGA фильтрует данные за менее чем 50 наносекунд. Нейросеть AXOL1TL обнаруживает аномалии, которые классические алгоритмы пропускают.

Обложка: CERN прошивает нейросети прямо в FPGA для фильтрации данных Большого адронного коллайдера

Большой адронный коллайдер генерирует, по данным The Register, около 40 000 экзабайт сырых данных в год — это четверть всего интернета. Хранить всё невозможно, поэтому инженеры CERN пошли радикальным путём: они прошивают сверхкомпактные нейросети прямо в кремний FPGA-чипов. Модель принимает решение «сохранить или выбросить» за 50 наносекунд — быстрее, чем свет проходит 15 метров.

О том, как это устроено, рассказала Теа Аррестад, доцент физики частиц в ETH Zurich, на конференции Monster Scale Summit. А open-source транспайлер HLS4ML, который делает это возможным, уже доступен для всех. Подробности — в материале The Register.

Ключевые цифры

— LHC производит ~40 000 экзабайт нефильтрованных данных в год, хранить удаётся ничтожную долю

— Level-1 Trigger — система из ~1000 FPGA, которая фильтрует данные за менее чем 50 наносекунд

— AXOL1TL — нейросеть для обнаружения аномалий, прошитая прямо в чип

— HLS4ML — open-source транспайлер: Python-модель → C++ → прошивка FPGA или ASIC

— Модели квантизированы, обрезаны и дистиллированы до минимального размера

— Подход применим за пределами физики: edge ИИ, IoT, медицина, автономные системы

Проблема: 40 000 экзабайт данных в год

В 27-километровом кольце на глубине 100 метров под границей Швейцарии и Франции протоны разгоняются до околосветовых скоростей. Около 2800 пучков протонов несутся по кольцу с интервалом в 25 наносекунд. Из миллиардов протонов в каждом пучке столкнуться напрямую удаётся лишь ~60 парам.

Каждое столкновение порождает каскад новых частиц и несколько мегабайт данных. При миллиарде столкновений в секунду это даёт примерно петабайт данных ежесекундно — объём, сопоставимый со всей библиотекой Netflix.

«Если бы у нас было бесконечное количество вычислительных ресурсов, мы бы смотрели все данные», — говорит Аррестад. Но реальность такова, что сохранить и проанализировать удаётся менее 0,02% от всего массива. Остальное необходимо отбросить в реальном времени — прямо на уровне детекторов.

Решение: нейросеть в кремнии

Детекторы LHC, построенные на ASIC-чипах, буферизуют данные лишь на 4 микросекунды. После этого данные «падают со скалы» — они навсегда потеряны, если не были сохранены.

За принятие решения отвечает Level-1 Trigger — агрегат из примерно 1000 FPGA-чипов. Он получает сжатую информацию о событии по оптоволокну со скоростью ~10 ТБ/с и выдаёт единственное значение: «принять» (1) или «отклонить» (0).

Решение принимает алгоритм AXOL1TL — нейросеть для обнаружения аномалий, прошитая непосредственно в FPGA. Она обучена на «фоне» — известных событиях Стандартной модели. Всё, что выходит за рамки типичной картины столкновения, помечается как потенциально интересное. Как выразилась Аррестад, алгоритм «охотится за редкой физикой».

Время на решение — менее 50 наносекунд. Лишь ~110 000 событий в секунду (0,02% от всех столкновений) проходят фильтр и отправляются на поверхность. Далее данные проходят вторую стадию фильтрации — High Level Trigger на 25 600 CPU и 400 GPU — и сокращаются до ~1000 событий в секунду, порождая около петабайта данных в день.

HLS4ML: как модель попадает в чип

Стандартные библиотеки машинного обучения для edge-устройств (MLPerfMobile, MLPerfTiny) не справляются с потоковыми данными и задержками уровня CERN. Поэтому инженеры создали собственный инструментарий — HLS4ML.

HLS4ML — это open-source транспайлер, который преобразует обученную модель машинного обучения в C++-код, оптимизированный под конкретную аппаратную платформу: FPGA, ASIC или систему на кристалле. Фактически, он позволяет «напечатать» нейросеть в кремнии.

Цепочка выглядит так:

  1. Модель обучается в Python (PyTorch, TensorFlow, scikit-learn)
  2. Агрессивная оптимизация: квантизация (уникальная битовая ширина для каждого параметра), pruning (удаление лишних связей), дистилляция (передача знаний из большой модели в крошечную)
  3. HLS4ML транспилирует модель в C++, адаптированный под целевую платформу
  4. C++-код компилируется в bitstream — прошивку FPGA

Архитектура FPGA принципиально отличается от классической фон-неймановской модели, где процессор последовательно извлекает инструкции из памяти и выполняет их одну за другой. В FPGA нет такого цикла — вычисления запускаются сразу, как только на вход поступают данные. Каждый слой нейросети реализован как отдельный физический блок на чипе, а значительная часть кремния отведена под предвычисленные таблицы поиска (LUT), которые заменяют сложные арифметические операции мгновенной выдачей результата.

Интересно, что для этих задач древовидные модели (tree-based) оказались не менее эффективными, чем глубокое обучение, но при значительно меньших затратах ресурсов. Это логично: данные Стандартной модели — по сути табличные, а для каждого столкновения LHC выдаёт структурированный набор дискретных измерений.

Почему не GPU?

Может показаться, что GPU — естественный выбор для ИИ-задач. Но для Level-1 Trigger они не подходят по нескольким причинам:

  • Латентность. GPU работают с задержками в микро- и миллисекунды. Для Level-1 Trigger нужны наносекунды — на три порядка быстрее
  • Детерминизм. FPGA обеспечивают жёсткое детерминированное время выполнения. GPU с их конвейерами и шедулерами такого не гарантируют
  • Энергопотребление. Тысяча FPGA потребляет значительно меньше энергии, чем эквивалентное количество GPU
  • Всё на чипе. Решения должны приниматься без обращения к внешней памяти — даже к очень быстрой. На FPGA модель буквально впаяна в кремний

GPU используются на второй стадии фильтрации (High Level Trigger), где допустимы задержки в миллисекунды и есть время на реконструкцию полной картины столкновения. Но на первом уровне, где данные живут лишь 4 микросекунды, компромиссов быть не может.

За пределами физики частиц

Пока гиганты вроде OpenAI и Google строят всё более крупные модели, CERN движется в противоположном направлении — к максимально компактному ИИ. И этот подход применим далеко за пределами физики высоких энергий:

  • Edge ИИ и IoT. Промышленные датчики, системы умного города и автономные устройства часто не могут позволить себе связь с облаком. Модель в FPGA работает автономно и с минимальной задержкой
  • Медицина. Например, компания Xilinx (ныне AMD) уже использует FPGA для ускорения обработки геномных данных в секвенаторах ДНК. Аналогичный подход применим к анализу данных МРТ, ЭКГ или потоков с хирургических роботов в реальном времени
  • Автономный транспорт. Принятие решений в беспилотных автомобилях и дронах, где задержка при обращении к облаку недопустима
  • Телеком и кибербезопасность. Инспекция сетевого трафика на скоростях в сотни гигабит без снижения пропускной способности

HLS4ML — проект с открытым исходным кодом, опубликованный на GitHub. Любой инженер может использовать тот же инструментарий, что и учёные CERN, для компиляции моделей машинного обучения в прошивку FPGA.

FAQ

Что такое FPGA и чем она отличается от GPU?

FPGA (Field-Programmable Gate Array) — это микросхема, логику которой можно перепрограммировать после производства. В отличие от GPU, где тысячи универсальных ядер выполняют инструкции последовательно, FPGA реализует алгоритм как физическую схему: данные проходят через логические вентили без каких-либо программных инструкций. Это даёт наносекундные задержки и детерминированное время выполнения.

Можно ли использовать HLS4ML вне CERN?

Да. HLS4ML — проект с открытым исходным кодом, опубликованный на opensource.web.cern.ch. Согласно документации проекта, он поддерживает модели из Keras, PyTorch и ONNX и генерирует C++-код для синтеза на различных платформах FPGA (Xilinx Vivado HLS, Intel HLS). Инструмент активно используется в академической среде и начинает проникать в промышленность.

Насколько маленькими должны быть модели для FPGA?

Модели для Level-1 Trigger в CERN — это единицы-десятки килобайт параметров с агрессивной квантизацией (уникальная битовая ширина для каждого веса). Для сравнения: GPT-4 занимает сотни гигабайт. Всё дело в компромиссе: модель должна целиком умещаться на чипе без обращения к внешней памяти, потому что даже обращение к DRAM занимает десятки наносекунд — слишком медленно для Level-1 Trigger.

Выводы

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

По данным CERN, команда подготовила прошивку AXOL1TL для включения в trigger menu LHC — набор алгоритмов, которые решают, какие столкновения сохранить. А в конце года коллайдер остановят для модернизации до High-Luminosity LHC (запуск в 2031), который увеличит поток данных в 10 раз — до 63 ТБ/с. Это потребует ещё более агрессивной компрессии моделей.

Инструменты, созданные для физики частиц, уже выходят за пределы лаборатории. HLS4ML с открытым исходным кодом позволяет любому разработчику применить подход CERN к своим задачам — от промышленной автоматизации до медицинских устройств. А с переходом на High-Luminosity LHC ограничения станут жёстче, и именно эти методы компрессии определят, какие открытия сможет сделать следующее поколение детекторов.