CERN, LHC 실시간 데이터 필터링에 FPGA 기반 초소형 AI 모델 적용
CERN uses ultra-compact AI models on FPGAs for real-time LHC data filtering
TL;DR Highlight
CERN이 LHC에서 초당 수백 테라바이트씩 쏟아지는 충돌 데이터를 나노초 단위로 걸러내기 위해, PyTorch/TensorFlow 모델을 FPGA에 직접 구워 넣는 방식을 쓰고 있다. 일반적인 GPU/TPU 기반 AI와는 완전히 다른 '하드웨어 퍼스트' 추론 접근법의 극단적 사례다.
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
FPGAField-Programmable Gate Array의 약자로, 출하 후에도 원하는 디지털 회로를 자유롭게 프로그래밍할 수 있는 반도체 칩. ASIC(주문형 반도체)과 달리 재설정이 가능해 프로토타이핑이나 유연한 하드웨어 가속에 쓰인다.
ASICApplication-Specific Integrated Circuit의 약자로, 특정 목적에 맞춰 설계된 맞춤형 반도체. 한번 제조되면 바꿀 수 없지만, FPGA보다 훨씬 빠르고 전력 효율이 높다.
HLS4MLHigh-Level Synthesis for Machine Learning의 약자. PyTorch나 TensorFlow 모델을 FPGA/ASIC에 올릴 수 있는 C++ HLS 코드로 자동 변환해주는 오픈소스 툴. 하드웨어 지식이 적어도 ML 모델을 하드웨어에 배포할 수 있게 해준다.
VAEVariational Autoencoder(변분 오토인코더)의 약자. 입력 데이터를 압축(인코딩)했다가 다시 복원(디코딩)하도록 훈련하는 신경망으로, 학습 데이터와 다른 패턴(이상치)이 들어오면 복원이 잘 안 되는 특성을 이상 탐지에 활용한다.
QATQuantization-Aware Training(양자화 인식 훈련)의 약자. 모델 가중치를 32비트 부동소수점에서 더 낮은 비트수(예: 4비트, 8비트)로 줄일 때 생기는 정확도 손실을 최소화하기 위해, 훈련 단계부터 양자화 오차를 시뮬레이션하며 학습하는 기법.
Level-1 TriggerLHC 데이터 필터링의 첫 번째 관문. FPGA 기반 하드웨어에서 50나노초 이내에 충돌 이벤트의 보존 여부를 결정한다. 이 단계를 통과하지 못한 데이터는 영구적으로 삭제된다.
룩업 테이블 (Lookup Table)입력값에 대한 출력값을 미리 계산해서 테이블로 저장해두는 방식. 실제 연산 없이 표를 참조하기만 하면 되므로 매우 빠르다. FPGA에서 신경망 연산 일부를 이 방식으로 대체하면 지연 시간을 극단적으로 줄일 수 있다.
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)