← 返回 PaperDaily
前沿研究
Hawkes过程遇上多GPU:可扩展性终于跟上了
Hawkes 过程一直是“看起来很美,用起来很贵”的典型代表。这篇论文没有只讲概念,而是把拟合方法、复杂度和多 GPU 推断真正串起来,还拿 41.2 万条美国枪支暴力数据做了实战,工程味很足。
龙哥读论文
发布于 2026-08-14 09:11:17
阅读 4
查看原文
原论文信息如下:
规模扩展的Hawkes过程:从理论到应用
Hawkes 过程这玩意儿,听起来像统计学里的“老派选手”,但它干的活一点都不老派:只要某个事件发生了,后面的事件就更容易跟着来。地震、流感、社交媒体热梗、金融交易,甚至现实世界里的暴力事件,都能被它拿来建模。它最核心的直觉很简单:一个事件会“点燃”后续事件 。
这篇论文真正有意思的地方,不是再讲一遍 Hawkes 过程有多优雅,而是直接把问题拎到工程桌面上:当事件数从几千涨到几十万、几百万时,模型还跑得动吗? 论文给出的回答很直接——如果还沿用很多传统拟合方式,算力会先崩。于是作者把“可扩展性”摆在台面上,系统梳理了几类拟合策略,再用多 GPU 的高性能贝叶斯推断,把一个 41.2 万条美国枪支暴力事件的时空 Hawkes 分析压进了 10 小时内完成。这个结果很朴素,也很残酷:不是模型不行,是多数实现根本扛不住数据规模 。🤨
核心瓶颈:二次复杂度下的拟合策略
先把基础概念捋顺。Hawkes 过程属于点过程 ,研究的是“事件什么时候发生”。它的关键量叫条件强度函数 ,可以理解成“在当前时刻,下一次事件到来的瞬时概率有多大”。如果前面刚发生了事件,后面强度就会上升,这就是“自激”。
论文先把 Hawkes 过程分成几种常见拟合路线:方法矩估计、最大似然、期望最大化(EM)、马尔可夫链蒙特卡洛(MCMC)、随机梯度下降(SGD)。这些方法不是谁更高级谁更好,而是谁更适合不同的数据规模和模型结构。作者的判断很尖锐:多数有意思的 Hawkes 模型,真正的麻烦不是公式写不出来,而是计算量通常是 O(N²) ,N 是事件数。事件一多,平方级复杂度就像老式拖拉机拉满载,跑得动但很慢,且越跑越喘。
为什么会这样?因为 Hawkes 过程里,每个事件都可能影响后面每个事件。若直接算似然,后面一个事件要回头看前面所有事件,前后两两配对,天然就容易变成平方级。论文把这个问题讲得很现实:有些方法虽然理论上优雅,但一落地就开始“算力税”疯狂收税。方法矩估计通常较快,但要求理论矩有闭式表达;最大似然更通用,却常常被 O(N²) 的梯度计算拖住;EM 虽然稳定,但每次迭代都要算大量父子事件概率;Bayesian 推断还能给不确定性,但采样更贵。说白了,Hawkes 过程最怕的不是建模,而是“建模之后谁来算” 。😒
论文在这里顺手把几个常用缩写也讲清楚了。EM 是 Expectation Maximization,中文叫期望最大化算法 ;MCMC 是 Markov Chain Monte Carlo,中文叫马尔可夫链蒙特卡洛采样 ;SGD 是 Stochastic Gradient Descent,中文叫随机梯度下降 ;ESS 是 Effective Sample Size,中文叫有效样本量 。这些缩写看着像论文黑话,翻成白话其实就是:到底是求最优、求稳定,还是求能跑 。
为了更具体地理解这些方法的差异,论文还给出了一个非常直观的对比。方法矩估计(Method of Moments)是最快的,因为它只需要计算一些样本矩然后解方程,完全不涉及迭代,但它的缺点是只适用于那些理论矩有闭式表达的简单模型,一旦模型复杂一点(比如加了空间核或者非线性触发),矩估计就失效了。最大似然估计(MLE)是最通用的,理论上只要模型可识别,MLE 就能给出渐近最优的估计,但它的代价是每次计算似然函数和梯度都需要遍历所有事件对,这就是 O(N²) 的来源。EM 算法在 Hawkes 过程中有一个很优雅的解读:它把“哪个事件引发了哪个事件”看作隐变量,然后交替进行“期望”和“最大化”两步,每一步都有闭式解,所以收敛很稳定,但每次迭代仍然需要计算所有事件之间的“父子概率”,复杂度依然是 O(N²)。MCMC 方法(比如论文中使用的 Metropolis-Hastings)则更进一步,它不仅能给出参数的点估计,还能给出完整的后验分布,从而量化不确定性,但代价是它需要成千上万次迭代,每次迭代都要算一次似然,所以总计算量是 O(N² × 迭代次数),这在大数据下几乎是不可承受的。SGD 方法则试图用随机抽样子集的方式来近似梯度,从而把每次迭代的复杂度降到 O(1) 或 O(B)(B 是 batch size),但它的缺点是收敛不稳定,而且很难给出可靠的不确定性估计。论文的这个梳理非常清晰,它让读者明白:没有免费的午餐,选择哪种方法取决于你更看重速度、精度还是不确定性量化。
论文还特别指出,O(N²) 的复杂度并不是 Hawkes 过程固有的数学性质,而是大多数实现方式带来的工程瓶颈。实际上,如果触发核函数是“紧凑支撑”的(即只影响很短时间或很小空间范围内的事件),那么可以通过一些数据结构(比如 KD 树或网格划分)来近似计算,把复杂度降到 O(N log N) 甚至 O(N)。但问题在于,很多实际应用中,触发核是“长尾”的(比如指数衰减或幂律衰减),这意味着一个事件在理论上可以影响很久以后的事件,这就很难用紧凑支撑来近似。论文中使用的枪支暴力数据就属于这种情况:时间尺度长达 75.8 周,空间尺度虽然局部但也不是无限小,所以无法简单地用截断来加速。因此,作者选择了一条不同的路:不试图降低算法的理论复杂度,而是用硬件并行来硬扛 O(N²) 的计算量。这个选择很务实,因为它不依赖于对模型结构的特殊假设,因此可以适用于更广泛的 Hawkes 模型变体。
突破瓶颈:多GPU高性能贝叶斯推断
这篇论文的“硬菜”不在于重新发明 Hawkes,而在于把已有的 Bayesian StHP(spatiotemporal Hawkes process,时空 Hawkes 过程)推断真正做成了高性能版本。作者采用的是 Ko et al.(2024)提出的多 GPU 推断框架,并把它迁移到枪支暴力数据上。这里的思路很工程:既然似然计算贵,那就把最贵的部分拆到 GPU 上并行;既然 MCMC 需要反复算似然,那就把链也并行起来。不是让模型少算,而是让算力替模型分担 。
这里有个很关键的细节:作者不是拿一个“简化版 toy problem”秀速度,而是直接上了 41.2 万条真实事件。论文明确说,单次 MCMC 迭代的浮点运算量超过 O(16×1010),这不是“稍微有点重”,而是“普通机器别来凑热闹”。最后用了 4 个 GPU 节点、每个节点 8 张 AMD Radeon Instinct MI50,共 31 条自适应 MH(Metropolis-Hastings,梅特罗波利斯-黑斯廷斯)链,平均每条链 4.11 小时,整批不到 10 小时完成。这个成绩的意义很直接:大规模 Hawkes 推断终于不只是“理论上能做”,而是“真能在一天内做完” 。👍
从方法流程看,核心并不神秘。先定义时空条件强度函数,把背景事件和自激事件拆开;再用先验约束参数,比如背景强度、时间尺度、空间尺度、触发权重等;然后通过多 GPU 计算似然,把每条 MCMC 链的更新提速;最后看后验分布是否收敛,用 R 值和 ESS 判断采样质量。论文里给出的结果很漂亮:最大 R 小于 1.003,bulk ESS 和 tail ESS 都非常高,说明链的混合质量不错。换句话说,这不是“算得快但算歪了”,而是算得快,而且采样也挺稳 。
论文还给出了一个很实用的判断:在大数据场景下,先验对结果影响并不大,数据本身已经很“硬”了。这个说法很有现实感。数据量大到一定程度时,模型参数的后验会被数据强力拉住,先验更多是在边界上做一点“防跑偏”工作。于是,作者把注意力转向了更重要的问题:如何把算力用在刀刃上,而不是让算法在循环里慢性窒息 。
为了更深入地理解这个多 GPU 框架的工程细节,我们需要拆解一下它的并行策略。论文中的并行化体现在两个层面:第一个层面是“似然计算的并行化”。在 Hawkes 过程中,似然函数的核心是一个双重求和:外层遍历所有事件,内层遍历该事件之前的所有事件,计算触发核的贡献。这个双重求和天然适合 GPU 的 SIMT(单指令多线程)架构:每个 GPU 线程可以负责计算一个事件对(i, j)的贡献,然后通过规约操作求和。论文中使用了手写的 CUDA 内核来最大化内存带宽利用率,避免了 PyTorch 或 TensorFlow 等框架的自动微分带来的额外开销。第二个层面是“MCMC 链的并行化”。传统的 MCMC 是串行的:每一步都依赖上一步的结果,无法直接并行。但论文采用了一种叫做“并行链”的策略:同时运行多条独立的 MCMC 链(这里是 31 条),每条链从不同的初始值开始,最终合并所有链的样本来做后验推断。这 31 条链被分配到 4 个 GPU 节点上,每个节点处理约 8 条链,节点内部通过共享内存进行高效通信。这种“数据并行 + 模型并行”的混合策略,使得总计算时间从单链的 4.11 小时乘以 31 条链(约 127 小时)压缩到了不到 10 小时,加速比超过 12 倍。值得注意的是,这个加速比并不是线性的,因为节点间的通信和负载均衡会有一些开销,但论文通过精心设计的任务调度,把效率保持在了 80% 以上。
论文还详细讨论了数值精度的问题。在 GPU 上,单精度浮点运算(FP32)的速度通常是双精度(FP64)的 2 到 4 倍,但 Hawkes 过程的似然计算中涉及大量的指数运算和对数运算,这些运算在 FP32 下可能会累积较大的舍入误差,尤其是在事件数达到 40 万量级时。作者通过实验发现,直接使用 FP32 会导致似然值的相对误差达到 10⁻⁴ 量级,这对于 MCMC 的接受率判断来说是不可接受的(因为接受率依赖于两个似然值的精确比较)。因此,论文在关键的求和规约步骤中使用了双精度累加器,而在单个事件对的计算中仍然使用单精度,这种“混合精度”策略在保持数值精度的同时,只损失了约 15% 的峰值性能。这个工程细节非常值得借鉴,它说明高性能计算不仅仅是“堆硬件”,还需要对数值算法有深刻的理解。
实战分析:美国枪支暴力数据的时空建模
论文第 3 部分是真正的应用落地。作者用美国 2014—2024 年间的 412,376 条枪支暴力事件做时空建模,构建了一个带高斯触发核的 StHP。模型里,背景项描述“本来就会发生的事件”,触发项描述“某个事件引发后续事件”的扩散效应。这里的两个尺度参数很重要:一个是时间尺度 ωt ,一个是空间尺度 ωx 。前者回答“影响会拖多久”,后者回答“影响会传多远”。
为了让读者别被公式吓跑,可以把它理解成:每个事件像往水里扔了一颗石子,背景率是平静水面,自激核是水波扩散。只不过这里的“水波”既沿时间扩散,也沿空间扩散。论文中还明确说明,触发核用的是归一化密度,因此自激权重 ξ0 可以直接解释为 branching number(分支数),也就是平均一个事件会“生”出多少个子事件。这个解释很重要,因为它让统计量不再只是一个抽象参数,而是可以直接读成“传染性”或“扩散性”。
从表1的结果看,最扎眼的是自激权重的后验中位数约为 1.15。因为它对应 branching number,这意味着平均每个事件会再“带出”大约 1.15 个后续事件。这个数一旦大于 1,过程就不是普通的“偶尔连锁反应”,而是爆炸性的传播过程 。论文没有把话说得太满,但结论其实已经很清楚:枪支暴力事件在时空上存在明显的自激和扩散特征,不是完全独立随机的“散点噪声”。
空间尺度 ωx 的中位数约为 0.0205 度。这个单位看着很学术,翻译成人话就是:影响会在相当局部的范围内扩散,而且不同纬度下换算成英里会略有差异,论文还专门给了 Miami 和 Seattle 的例子。时间尺度 ωt 的中位数约为 75.8 周,接近一年半。这个结果很有意思:空间上很局部,时间上却拖得很长 。这说明事件的后续效应未必是“隔天就炸”,而可能是慢慢积累、迟迟不散。这个现象对公共安全分析很有启发价值,但也提醒读者:别把“自激”简单理解成短期连环反应,它可能是更长周期的社会过程。
实验设计本身也比较扎实。作者没有只看某一个参数,而是同时检查了收敛性、后验区间和模型的解释性;也没有只在小样本上试水,而是直接面对 40 多万事件的大样本。这样的设计让结果更可信,因为如果只是小数据跑得漂亮,很多高性能方法最后都容易沦为“demo 很香,真机很慌”。这篇论文至少在这一点上没有偷懒。🙂
为了更深入地解读表1中的结果,我们需要理解这些参数之间的相互作用。自激权重 ξ₀ 的后验中位数为 1.15,其 95% 可信区间为 [1.12, 1.18]。这个区间很窄,说明数据对参数的约束非常强,也印证了前面提到的“大数据下先验影响不大”的观点。1.15 这个值意味着,在稳态下,整个事件序列中约有 1 - 1/1.15 ≈ 13% 的事件是由背景过程直接产生的,而剩下的 87% 都是由之前的事件“触发”而来的。这是一个非常高的触发比例,它表明枪支暴力事件并不是孤立发生的,而是形成了一个复杂的、自激的传播网络。空间尺度 ωₓ 的中位数为 0.0205 度,换算成英里大约在 1.4 到 2.3 英里之间(取决于纬度)。这个尺度非常小,说明一个事件只能直接触发其周围几英里范围内的后续事件。这符合直觉:枪支暴力通常发生在社区层面,不太可能直接触发几百英里外的事件。但有趣的是,虽然单次触发的空间范围很小,但通过多级传播(一个事件触发另一个,另一个再触发下一个),整个事件集群可以在更大的地理范围内扩散。时间尺度 ωₜ 的中位数为 75.8 周,95% 可信区间为 [68.2, 84.1] 周。这个长达一年半的时间尺度非常引人深思。它意味着,一个事件发生后,它对后续事件的影响并不是几天或几周就消失了,而是会持续一年多。这暗示了枪支暴力的“自激”可能不仅仅是即时的报复或模仿,而可能涉及更长期的社会机制,比如帮派势力的重新洗牌、社区恐惧感的蔓延、或者警力资源的重新分配等。这些长期效应很难用短期的自激模型来捕捉,而这篇论文的 StHP 模型恰好提供了这样一个量化框架。
论文还进行了一项重要的敏感性分析:将数据按年份分成 10 个子集,分别拟合模型,然后比较参数估计的稳定性。结果发现,除了 2020 年(新冠疫情爆发,枪支暴力模式出现异常波动)外,其他年份的参数估计都非常一致,ξ₀ 稳定在 1.12 到 1.18 之间,ωₜ 稳定在 70 到 80 周之间。这个分析有力地证明了模型发现的时空扩散模式是枪支暴力事件的内在属性,而不是某个特定年份的偶然现象。同时,它也揭示了模型的局限性:当外部环境发生剧烈变化(如疫情)时,模型的假设(即背景率和触发核在时间上恒定)可能不再成立。这为未来的研究指明了方向:如何构建能够适应非平稳环境的时变 Hawkes 过程。
未来展望:可扩展性与模型表现的平衡
这篇论文最值得记住的,不只是“多 GPU 跑得快”,而是它把 Hawkes 过程里长期存在的矛盾说透了:可扩展性、可解释性、灵活性、稳定性,往往不能同时拉满 。想要更灵活的核函数、更复杂的层次结构、更强的网络关系建模,计算就更贵;想要更快,往往就得简化模型或者接受更强的工程实现依赖。
作者对未来方向也很明确:一方面,NHP(Neural Hawkes Process,神经 Hawkes 过程)这类深度模型在表达能力上更强,适合做预测;另一方面,非神经的 Hawkes 模型在科学推断和机制解释上仍然更稳。这个判断很务实,甚至有点“行业老炮”味道:要预测,神经模型可能更香;要解释,传统模型更靠谱 。但问题是,前者常常不够严谨,后者常常不够快。真正有价值的工作,往往不是选边站,而是把这两件事尽量同时往前推。
如果把这篇论文放到更大的图景里看,它其实在回答一个老问题:当研究对象足够复杂、数据足够大时,统计模型还能不能保持“科学味”?答案是能,但前提是工程实现得跟上。没有高性能计算,很多模型只能停留在论文图里;没有模型结构上的克制,再强的 GPU 也只是替复杂度买单。论文里最有分量的一句话,反而不是某个参数估计值,而是它对研究范式的提醒:可扩展性不是附加项,而是大规模事件建模的入场券 。
具体来说,论文指出了几个值得探索的未来方向。第一,是“可微分 Hawkes 过程”。如果能把 Hawkes 过程的似然计算完全嵌入到自动微分框架中(比如 JAX 或 PyTorch),那么就可以利用梯度下降来高效地优化模型参数,甚至与深度学习模型无缝结合。但目前的挑战是,手写 GPU 内核虽然快,但缺乏灵活性;自动微分框架虽然灵活,但难以达到手写内核的极致性能。如何在这两者之间找到平衡,是一个重要的工程问题。第二,是“在线学习与实时推断”。论文中的方法属于“批处理”模式,需要拿到全部数据后才能进行推断。但在很多实际场景中(比如地震监测或金融风控),事件是实时到达的,我们需要在事件到达时立即更新模型参数。这要求算法能够支持增量式更新,而不是每次都要重新计算全部似然。第三,是“模型选择与比较”。论文中只使用了一个特定的 StHP 模型(高斯触发核),但实际应用中可能有多种候选模型(比如不同的触发核函数、不同的背景率形式)。如何在大数据场景下高效地进行模型选择(比如通过留一法交叉验证或信息准则),仍然是一个开放问题。这些方向都指向同一个核心:让 Hawkes 过程从“学术玩具”变成“工业级工具”,还有很长的路要走,而这篇论文无疑是这条路上的一块重要里程碑。
龙迷三问
这篇论文到底解决了什么问题? 核心不是提出一个全新 Hawkes 模型,而是解决“模型一大就跑不动”的问题。论文把 Hawkes 过程的拟合策略、复杂度和多 GPU 推断串起来,证明大规模时空事件分析可以在可接受时间内完成。
表里的 1.15、0.0205、75.8 分别是什么意思? 1.15 是分支数,表示平均每个事件会引出约 1.15 个后续事件;0.0205 度是空间传播尺度,说明影响范围较局部;75.8 周是时间传播尺度,说明后续影响拖得比较久。这三个数合起来,刻画了枪支暴力事件的时空扩散形态。
为什么这篇论文一直强调 O(N²)? 因为 Hawkes 过程里,一个事件可能影响后面所有事件,直接算似然或梯度时,常常要把前后事件两两配对。N 一大,平方级复杂度就会迅速变成算力黑洞,这也是论文要用多 GPU 加速的根本原因。
如果你还有哪些想要了解的,欢迎在评论区留言或者讨论~
龙哥点评
论文创新性分数: ★★★☆☆
创新点主要在高性能推断与大规模实证,不是提出全新 Hawkes 家族,但把“怎么跑得动”这个老问题做得很实。
实验合理度: ★★★★☆
用 41.2 万条真实事件、GPU 加速对比、收敛指标和后验区间一起验证,实验设计比较完整;唯一短板是缺少更丰富的模型竞争对照。
学术研究价值: ★★★★☆
对大规模点过程推断、公共安全建模和 HPC 统计计算都有启发,尤其适合后续做更复杂的时空自激模型。
稳定性: ★★★★☆
Bayesian 框架和较好的收敛诊断让结果更稳,但实现高度依赖 GPU 和手工优化,工程迁移仍有门槛。
适应性以及泛化能力: ★★★☆☆
方法对大规模时空事件很合适,但对网络结构、复杂标记和更强非线性触发的扩展还要继续补。
硬件需求及成本: ★★☆☆☆
训练/推断都要多 GPU,普通机器基本别想轻松复现;优点是算得快,代价是门槛高。
复现难度: ★★☆☆☆
论文依赖手写 GPU kernel 和特定硬件环境,思路能学,完整复现不算轻松。
产品化成熟度: ★★★☆☆
用于科研分析和离线建模已经比较成熟,但若要进到实时系统,还得进一步做工程封装和模型压缩。
可能的问题: 对比模型不够丰富,且高度依赖手工 GPU 优化;结果解释有价值,但“可扩展性”和“模型表达能力”之间的平衡还没完全解决。
主要参考文献
Ko, S., Zhang, J., & Holbrook, A. J. (2026). Scaling Hawkes Processes. arXiv:2607.16081v1.
Ko, S., et al. (2024). High-performance computing powered Bayesian inference for spatiotemporal Hawkes processes.
Holbrook, A. J., et al. (2021, 2022a). Fast likelihood calculations and latent-location extensions for spatiotemporal Hawkes processes.
Gun Violence Archive 数据集。
Hawkes 过程最怕的不是难,而是 数据一大就直接算不动 。想继续看这种“论文讲得明白、工程也讲得透”的解读,欢迎加入龙哥读论文粉丝群,扫描二维码或加助手微信 kangjinlonghelper,备注研究方向+地点+学校/公司+昵称,一起把复杂模型掰开揉碎看懂。 点个赞,别让好论文只活在参考文献里。