CERN与当今的生成式AI完全不同,后者主要依赖预设权重和通用TPU及GPU来生成内容。而CERN将定制的纳秒级AI直接烧录到硅片中,专门用于消除多余数据。
在本月早些时候的虚拟Monster Scale峰会上,苏黎世联邦理工学院粒子物理学助理教授、CERN研究员Thea Aarrestad介绍了如何满足极其严苛的要求,这些要求是她的同行们可能永远不会遇到的。
Aarrestad在CERN(欧洲核子研究组织)使用机器学习来优化大型强子对撞机(LHC)的数据收集。她的专长是异常检测,这是任何优秀观测系统的核心组件。
大型强子对撞机的数据挑战
LHC每年仅未过滤的传感器数据就产生40,000 EB,约占整个互联网大小的四分之一。CERN无法存储所有这些数据。因此,"我们必须实时将数据减少到我们能够负担得起保存的程度。"
这里的"实时"意味着极端实时。LHC探测器系统处理数据的速度高达每秒数百TB,远超Google或Netflix,而且延迟要求也更加严格。
处理这些数据的算法必须极其快速,快到必须将决策直接烧录到芯片设计中。
粒子碰撞的奇妙世界
LHC位于瑞士和法国边境地下100米深处,是一个27公里长的环形装置,以接近光速的速度撞击亚原子粒子。产生的碰撞预计会产生新类型的物质,完善我们对粒子物理标准模型的理解——宇宙的操作系统。
在任何给定时间,大约有2800束质子以接近光速的速度在环中飞驰,间隔25纳秒。就在它们到达四个地下探测器之一之前,专用磁铁会将这些质子束挤压在一起以增加相互作用的几率。尽管如此,直接撞击仍然极其罕见:在每束数十亿个质子中,在一次交叉过程中只有约60对真正发生碰撞。
当粒子确实发生碰撞时,它们的能量会转化为新的出射粒子质量(E=MC?)。这些新粒子在CERN的探测器中"淋浴",留下痕迹,"我们试图重建这些痕迹",她说,以识别在随后混乱中产生的任何新粒子。
每次碰撞产生几兆字节的数据,每秒大约有10亿次碰撞,产生大约1PB的数据(大约相当于整个Netflix库的大小)。
边缘计算的极致应用
CERN发现,与其试图将所有数据传输到地面,不如创建一个巨大的边缘计算系统,在探测器级别筛选出有趣的部分。
"如果我们有无限的计算能力,我们可以查看所有数据,"Aarrestad说。但实际上只有不到0.02%的数据被保存和分析。由探测器本身挑选出动作场景。
基于ASIC构建的探测器将捕获的数据缓冲长达4微秒,之后数据"掉下悬崖",如果不保存就永远丢失了。
做出这个决定的是"一级触发器",由约1000个FPGA组成,通过光纤线路以约10TB/秒的速度从探测器提供的简化事件信息中数字重建事件信息。触发器产生一个单一值,要么"接受"(1),要么"拒绝"(0)。
决定保留或丢失碰撞数据的是异常检测算法的工作。它必须极其挑剔,直接拒绝超过99.7%的输入。这个算法,亲切地命名为AXOL1TL,在"背景"上进行训练——标准模型中已经基本搞清楚的区域。它知道标准碰撞的典型拓扑结构,使其能够立即标记落在这些边界之外的事件。正如Aarrestad所说,它在寻找"稀有物理现象"。
算法必须在50纳秒内做出决定。只有约0.02%的所有碰撞数据,或每秒约110,000个事件,通过筛选,随后被保存并传输到地面。即使是这种精简的吞吐量,也会导致每秒TB级的数据被发送到地面服务器。
数据到达地面后,会经过第二轮过滤,称为"高级触发器",再次丢弃绝大多数捕获的碰撞,从每秒通过管道的100,000个事件中仅识别出约1,000个有趣的碰撞。该系统拥有25,600个CPU和400个GPU,用于重建原始碰撞并分析结果,每天产生约1PB的数据。
"这是我们将实际分析的数据,"Aarrestad说。
从那里,数据被复制到42个国家的170个站点,全球研究人员可以在那里进行分析,总计拥有140万个计算核心的处理能力。
AI的温室环境
LHC探测器是AI很少遇到的温室环境。以至于CERN工程师必须创建自己的工具箱。
当然,已经有很多消费级应用的实时库,比如降噪耳机,像MLPerfMobile和MLPerfTiny这样的工具。但它们远远无法支持CERN所需的流数据速率和超低延迟。
因此CERN训练机器学习模型"从一开始就很小",她说。它们被量化、修剪、并行化,并提炼到仅保留核心知识。FPGA上的每个操作都被量化。为每个参数定义了独特的位宽,并使它们具有差分性,以便可以使用梯度下降进行优化。
工程团队开发了一个转译器HLS4ML,用C++代码编写针对特定平台的模型,因此它可以在加速器或片上系统、定制FPGA上运行,甚至用它在ASIC上"打印硅片"。
探测器架构脱离了传统的冯·诺依曼内存-处理器-I/O模型。没有任何东西是顺序驱动的。相反,它基于"数据的可用性",她说。"一旦这些数据变得可用,下一个过程就会开始。"
最关键的是,决策必须在芯片上做出——即使是非常快的内存也不能依赖。每一块硬件都为特定模型量身定制。决策在设计时做出。FPGA的每一层都是一个独立的计算单元。
片上硅片的很大一部分被预计算占用,以节省每次重新计算的处理时间。每个可能输入的输出都在查找表中引用。
自然地,你不能在这些硅片上放置巨大的模型。这里没有巨大的Transformer深度学习模型的空间。这就是CERN发现基于树的模型与深度学习模型相比非常强大的地方。
根据CERN的经验,基于树的模型以深度学习模型成本的一小部分提供相同的性能。这并不令人惊讶,因为标准模型可以被视为表格数据的集合。对于每次碰撞,LHC输出一组结构化的离散测量值。
更多数据需求
CERN正试图将碰撞的所有参数测量到5-sigma水平——即99.999%,五个九,这是声明发现的黄金标准。希格斯玻色子亚原子粒子就是使用这个标准发现的。
LHC对撞机至少发现了80种其他强子,或由强核力结合在一起的粒子(包括上周发现的一种)。
现在的目标是寻找在不到万亿分之一碰撞中发生的新过程。
今年年底,LHC将关闭,为高亮度LHC让路,预计将于2031年投入运营。它将提供更多粒子物理学家渴望的珍贵数据。
它将拥有更强大的磁铁,将光束聚焦在非常小的点上。质子束的大小将翻倍("这样质子相互作用的概率就更大")。
这意味着更多的碰撞和10倍的数据增长,导致更密集的"事件复杂性"。事件大小从2MB跳到8MB,但产生的数据轨迹将从4Tb/秒跳到63Tb/秒。
探测器正在升级以识别每次碰撞,然后在几微秒内将每个粒子对追踪回其原始碰撞点。
当前沿AI实验室构建越来越大的模型时,CERN在很多方面朝着相反的方向发展,采用激进的异常检测、异构量化Transformer和其他技巧,使AI比以往任何时候都更小更快。在构建我们对宇宙的理解时,有时知道要丢弃什么信息更重要。
Q&A
Q1:CERN的AI系统与普通AI有什么区别?
A:CERN将AI直接烧录到硅片中,而不是使用通用GPU。它必须在50纳秒内处理每秒数百TB的数据流,延迟要求极其严苛,远超Google或Netflix等公司的需求,所有决策都必须在芯片上完成。
Q2:大型强子对撞机每年产生多少数据?
A:大型强子对撞机每年产生40,000 EB的未过滤传感器数据,约占整个互联网大小的四分之一。但由于存储限制,只有不到0.02%的数据最终被保存和分析。
Q3:AXOL1TL异常检测算法是如何工作的?
A:AXOL1TL是CERN开发的异常检测算法,通过学习粒子物理标准模型的"背景"数据来识别异常碰撞事件。它必须在50纳秒内做出决定,拒绝超过99.7%的输入数据,专门寻找"稀有物理现象"。