CERN, LHC 실시간 데이터 필터링에 FPGA 기반 초소형 AI 모델 적용
CERN uses ultra-compact AI models on FPGAs for real-time LHC data filtering
TL;DR Highlight
CERN은 PyTorch/TensorFlow 모델을 FPGA에 직접 탑재하여 LHC의 초당 수백 테라바이트 충돌 데이터를 나노초 단위로 필터링한다.
Who Should Read
엣지 디바이스나 FPGA에 AI 모델을 올리는 작업을 하거나 고려 중인 임베디드/하드웨어 개발자. 또는 극단적인 저지연(나노초~마이크로초) 추론이 필요한 시스템을 설계하는 ML 엔지니어.
Core Mechanics
- LHC는 연간 약 40,000 엑사바이트(현재 인터넷 전체의 약 1/4 규모)의 원시 데이터를 생성하며, 피크 시에는 초당 수백 테라바이트에 달한다. 이 데이터를 모두 저장하거나 처리하는 건 물리적으로 불가능하기 때문에 전체 충돌 이벤트의 약 0.02%만 보존된다.
- 첫 번째 필터링 단계인 Level-1 Trigger는 약 1,000개의 FPGA로 구성되어 있고, 들어오는 데이터를 50나노초 이내에 평가해야 한다. 여기서 AXOL1TL이라는 특수 알고리즘이 실시간으로 작동하며, 보존 가치가 있는 이벤트인지를 즉시 판단한다.
- CERN은 HLS4ML이라는 오픈소스 도구를 사용해 PyTorch나 TensorFlow로 작성된 ML 모델을 합성 가능한 C++ 코드로 변환하고, 이를 FPGA·SoC·ASIC에 직접 배포한다. GPU/TPU 방식 대비 훨씬 적은 전력과 칩 면적으로 극단적인 속도를 구현한다.
- AXOL1TL은 VAE(변분 오토인코더, 입력 데이터를 압축했다가 복원하면서 이상치를 탐지하는 구조)로 훈련되었다. 추론 시에는 디코더를 제거하고 KL divergence의 mu² 항만 이상 점수(anomaly score)로 사용하며, 40MHz 클럭 기준 2 클럭 사이클 이내에 동작한다.
- 칩 리소스의 상당 부분을 신경망 레이어가 아닌 사전 계산된 룩업 테이블(lookup table)에 할당한다. 일반적인 입력 패턴에 대한 결과값을 미리 저장해두어 부동소수점 연산 없이 거의 즉각적인 출력을 낼 수 있다. 이것이 나노초 단위 지연을 가능하게 하는 핵심 설계 철학이다.
- v5 버전부터는 VICREG 블록을 추가하고 복원 손실(reconstruction loss)을 사용하도록 모델이 개선되었으며, hls4ml-da4ml 플로우를 통해 FPGA에 배포된다. 또 다른 모델인 CICADA는 VAE로 훈련 후 이상 점수에 대해 지도학습 손실로 지식 증류(distillation)하는 방식을 썼다.
- 두 번째 필터링 단계인 High-Level Trigger는 25,600개 CPU와 400개 GPU로 구성된 대규모 컴퓨팅 팜에서 실행된다. Level-1 Trigger가 데이터를 극단적으로 줄인 뒤에야 이 단계가 작동한다.
Evidence
- AXOL1TL 모델 저자 중 한 명이 직접 댓글을 달아 기사의 오류를 정정했다. '실리콘에 구워졌다(burned into silicon)'는 표현은 부정확하며, 실제로는 FPGA에 올라간 것이라고 설명했다. FPGA에서 가중치가 하드와이어드(shift-add 방식으로 구현)된다는 의미에서 '구워진다'고 볼 수는 있지만, FPGA 자체는 재프로그래밍이 가능하다. SmartPixel이나 HG-Cal 리드아웃처럼 실제 실리콘(ASIC)을 타겟으로 하는 유사 프로젝트들도 별도로 존재한다.
- 같은 저자가 모델의 기술 세부 사항을 상세히 공유했다. v4 이전 버전은 소규모 MLP 기반의 순수 VAE였고, v5에서 VICREG 블록과 복원 손실을 도입했다. QAT(Quantization-Aware Training, 추론 시 양자화를 고려하며 훈련하는 기법)와 분산 산술(distributed arithmetic) 방식으로 FPGA 배포를 구현했으며, 40MHz 클럭에서 2 클럭 사이클(=50나노초) 이내로 동작한다고 밝혔다.
- 커뮤니티에서는 기사가 'LLM'이라는 표현을 잘못 사용했다는 비판이 나왔다. 실제로는 VAE 기반의 소형 신경망이지, ChatGPT 같은 LLM이 아니다. 또한 'AI'라는 단어 자체도 과장된 표현이라는 의견도 있었다. '머신러닝으로 얻어낸 하드코딩 로직이 탑재된 칩'이라고 부르는 편이 더 정확하다는 지적도 있었다.
- 아날로그 회로를 신경망에 활용하는 방식에 대한 흥미로운 토론도 있었다. 신경망이 본질적으로 행렬 곱셈이기 때문에 아날로그 회로로 구현하면 즉각적인 출력이 가능하지 않냐는 질문이 나왔다. 이와 별개로, 현대 CPU의 분기 예측기(branch predictor)도 퍼셉트론을 사용하므로 사실 대부분의 현대 컴퓨터가 이미 하드웨어에 신경망을 내장하고 있다는 댓글도 달렸다.
- 실생활 응용 사례로, 커피 머신에 초소형 CNN 모델이 탑재된 사례가 공유됐다. 내장 카메라로 컵 종류 분류, 컵 위치 이미지 세그멘테이션, 커피 양 조절을 위한 부피 회귀 분석 등 세 가지 작업을 로컬에서 처리한다. CERN만큼 극단적이진 않지만, 엣지에서 초소형 AI 모델이 실용적으로 활용되는 또 다른 예시로 언급됐다.
How to Apply
- PyTorch나 TensorFlow로 훈련한 모델을 FPGA에 올려야 하는 경우, HLS4ML(https://github.com/fastmachinelearning/hls4ml)을 사용하면 모델을 합성 가능한 C++ HLS 코드로 변환할 수 있다. CERN이 실제로 사용하는 오픈소스 툴체인이며, 마이크로초 이하 지연이 필요한 산업용 엣지 AI에도 적용 가능하다.
- 이상 탐지(anomaly detection) 시스템을 극도로 저지연 환경에 배포해야 할 때, AXOL1TL처럼 VAE를 훈련한 뒤 추론 시 디코더를 제거하고 KL divergence의 mu² 항만 이상 점수로 활용하는 방식을 참고할 수 있다. 모델 크기가 작아지고 연산이 단순해져 하드웨어 구현에 유리하다.
- FPGA 배포 시 모델 정확도를 유지하면서 비트폭을 줄여야 한다면, QAT(Quantization-Aware Training)를 훈련 단계에서 적용해야 한다. CERN은 고세분도 양자화(high-granularity quantization)와 분산 산술 방식을 조합해 <1마이크로초 지연을 달성했는데, 관련 논문(https://arxiv.org/abs/2405.00645)에서 구체적인 방법론을 참고할 수 있다.
- 신경망 연산의 상당 부분을 룩업 테이블로 대체하는 설계 패턴을 활용하면, 반복적으로 나타나는 입력 패턴에 대해 부동소수점 연산 없이 거의 즉각적인 응답이 가능하다. 이 접근법은 FPGA뿐 아니라 임베디드 MCU처럼 연산 자원이 극히 제한된 환경에서도 참고할 수 있다.
Terminology
관련 논문
Swift로 LLM 학습시키기 Part 1: 행렬 곱셈을 Gflop/s에서 Tflop/s로 끌어올리기
Apple Silicon에서 Swift로 직접 행렬 곱셈 커널을 구현하며 CPU, SIMD, AMX, GPU(Metal)를 단계별로 최적화해 Gflop/s에서 Tflop/s 수준까지 성능을 높이는 과정을 상세히 설명한 글이다. 프레임워크 없이 LLM 학습의 핵심 연산을 밑바닥부터 구현하고 싶은 개발자에게 Apple Silicon의 성능 한계를 체감할 수 있는 드문 자료다.
fsync 없이 로컬 스토리지 엔진을 crash-consistent하게 만든 방법
FractalBits가 fsync 없이 SSD 전용 KV 스토리지 엔진을 구현해 동일 조건 대비 약 65% 높은 쓰기 성능을 달성한 설계 방법을 공유했다. fsync의 메타데이터 오버헤드를 피하기 위해 사전 할당, O_DIRECT, SSD 원자 쓰기 단위 정렬 저널을 조합한 구조가 핵심이다.
Google Chrome, 사용자 동의 없이 4GB AI 모델(Gemini Nano)을 몰래 설치
Google Chrome이 사용자 동의 없이 Gemini Nano 4GB 모델 파일을 자동 다운로드하고, 삭제해도 재다운로드되는 문제가 발견됐다. GDPR 위반 가능성과 수십억 대 기기에 적용될 때의 환경 비용 문제가 제기되고 있다.
OpenAI가 대규모 저지연 Voice AI를 제공하는 방법
OpenAI가 9억 명 이상의 사용자에게 실시간 음성 AI를 제공하기 위해 WebRTC 스택을 어떻게 재설계했는지 설명하는 글로, relay + transceiver 분리 아키텍처의 설계 결정과 trade-off를 상세히 다룬다.
Truncated Decoding Tree의 결정론적 탐색을 통한 효율적인 Test-Time Inference
Self-consistency의 중복 샘플링 낭비를 없애는 결정론적 트리 탐색 디코딩 기법 DLE로 수학/코드 추론 성능과 속도를 동시에 개선
GoModel – Go로 작성된 오픈소스 AI Gateway
OpenAI, Anthropic, Gemini 등 여러 AI 프로바이더를 하나의 OpenAI 호환 API로 묶어주는 Go 기반 오픈소스 AI 게이트웨이로, LiteLLM의 컴파일 언어 대안이다.
Related Resources
- 원문 기사: CERN Uses Tiny AI Models Burned into Silicon for Real-Time LHC Data Filtering
- AXOL1TL 논문 (arXiv)
- hls4ml-da4ml 플로우 논문 1 (arXiv:2512.01463)
- hls4ml-da4ml 플로우 논문 2 (arXiv:2507.04535)
- 고세분도 양자화 및 FPGA 배포 논문 (arXiv:2405.00645)
- CERN LHC Big Data and AI 발표 (YouTube, Thea Aarrestad)
- Nanosecond AI at the LHC 발표 (YouTube, Thea Aarrestad)
- AXOL1TL 상세 슬라이드 (Indico CERN)