## Контекст
С Free Electron Laser (FEL) LCLS-II будет генерировать лучи X-ray с частотой до 1 MHz, при этом детекторы будут создавать потоки данных, превышающие 1 TB/s. Эта скорость обработки данных представляет собой огромный технический вызов, так как существующие инфраструктуры трансмиссии и хранения данных становятся просто недоступными по цене. Машинное обучение (ML) может стать решением для реального времени, но традиционные решения не могут справиться с такими высокими скоростями потока данных из-за высокой задержки. Чтобы решить эти проблемы, SLAC разработала SLAC Neural Network Library (SNL) - специальный фреймворк для развертывания моделей нейронных сетей на Field-Programmable Gate Arrays (FPGA). SNL позволяет динамически обновлять веса моделей без перекомпиляции FPGA, что делает ее подходящей для применения в адаптивных обучающих системах. Для удобства и доступности мы предлагаем Auto-SNL, расширение Python, которое легко преобразует модели Python в код SNL.
## Метод
SNL - это фреймворк, который позволяет развертывать модели нейронных сетей на FPGA с динамическим обновлением весов. Используется методология High-Level Synthesis (HLS), которая позволяет писать модели в Python, а затем генерировать код для FPGA. Мы также внедрили Auto-SNL - расширение Python, которое автоматически преобразует модели в код HLS, совместимый с SNL. Этот подход позволяет уменьшить затраты на разработку и повысить эффективность. Мы провели эксперименты на Xilinx ZCU102 FPGA, сравнив SNL с hls4ml, текущим лидером в этой области. Мы протестировали несколько моделей нейронных сетей, различных fixed-point precisions и конфигураций синтеза.
## Результаты
Мы провели эксперименты на Xilinx ZCU102 FPGA и сравнили SNL с hls4ml. Результаты показали, что SNL достигает конкурентных или лучших результатов по задержкам в большинстве тестовых моделей нейронных сетей. В некоторых случаях SNL также уменьшил потребление FPGA ресурсов. Это демонстрирует универсальность SNL в различных областях, включая высокоэнергетическую физику, медицинскую импедианту, робототехнику и др. Мы показали, что SNL может обрабатывать большие потоки данных в режиме реального времени, что делает его подходящим для систем с низкими задержками.
## Значимость
Мы применили нашу разработку к различным областям, включая high-energy physics, medical imaging, robotics, и др. Использование SNL позволит эффективно обрабатывать большие потоки данных в реальном времени, что может быть применено в различных приложениях, от обработки изображений до распознавания объектов. Это делает SNL перспективным инструментом для развития систем в реальном времени.
## Выводы
Мы доказали, что SNL может стать эффективным решением для реального времени, позволяя обрабатывать большие потоки данных