PREVIEW

智算玉衡 Alioth

让 AI 生成方程求解器
Truth is much too complicated to allow anything but approximations.
真理如此复杂,我们至多得到它的近似。(约翰·冯·诺伊曼)

一、Agent 时代的求解器长什么样?

科学计算的历史,是一部把人类从重复脑力劳动中不断解放出来的历史。1950 年,冯·诺伊曼团队在 ENIAC 上完成第一次数值天气预报,计算从手摇时代进入数值时代;此后半个世纪,超级计算机把矩阵切分到数万核心,2007 年 CUDA 发布,并行算力走向普及;2021 年,AlphaFold[1] 把蛋白质结构预测从数年压缩到数分钟,气象大模型[2] 在中期预报上超越业务数值系统,AI 开始改写科学计算的版图。当下,第四个阶段正在开启:大模型智能体接管“操作”本身,人连软件都不必亲手打开。

聚焦到方程求解这一科学计算的内核,AI 的探索沿两条路线展开。

第一条是基础模型路线:以大规模预训练构建通用神经算子,端到端预测解场。社区建起大规模数据集(the Well[3]PDEBench[4]),我们与同行相继提出智算天璇 OmniArch[5]DPOT[6]MPP[7]Poseidon[8]PDEformer[9] 等架构,泛化能力持续增强。但这条路线有内在边界:模型从数值算法生成的数据中学习,教师的精度即是学生的上界;泛化又依赖规模,最大检查点已达 10 亿参数,为求一次解,先要背下整个学科。

第二条是智能体路线:不改造算法,而把成熟数值软件封装为智能体可调用的工具,让 Fluent、OpenFOAM 在自然语言驱动下自动运转[18][19]。这条路线大幅降低了使用门槛,但未触及方法内核,上界即是被封装算法的最优性能。

传统数值算法同样在演进。NVIDIA 的 AmgX[10] 把经典代数多重网格移植到 CUDA,性能提升以数量级计;但它完成的是经典算法的“搬运”,没有回答算法组件如何为新问题自适应。

但是,方程求解的内核,十几年未被真正撼动。就正定问题而言,原因包括:① 精度:神经网络受拟合特性所限,主流方法止步 1e-3 至 1e-4,与工业界要求的 1e-8 相差数个量级;② 效率:AI 的泛化依赖数据增广与模型增大,成本不可忽视,而经典迭代法每多一步迭代,边际成本几乎为零。更深一层,真正的瓶颈不在“算得慢”,而在“调不好”:松弛因子、粗化策略至今依赖专家逐个问题调校[16],经验写不进文档,也传不下来。

另一方面,在智能体时代,求解器的用户发生了变化。过去五十年,求解器的外壳(harness)是 Fluent、OpenFOAM 式的交互界面,成百上千的按钮沉淀了“人在回路”的工作范式;而人在这条回路里最常做的事,是等待。例如,不可压缩流动中,压力方程求解通常占总计算时间的六至九成[14]

智能体时代,按钮和界面已不再重要,甚至会降低效率。最近一年,已有工作让 Codex、Claude Code 直接调用底层接口跑通 CFD 全流程[19],或以 MCP 多智能体框架从一句自然语言完成 OpenFOAM 仿真[18]。可以预见,这套为人构建的 harness,终将让位于智能体生态。

Agent 原生的求解器应当是宏内核的:对外只保留最简单、最明确的接口,一切复杂性收进内核。用函数写出来,最基础的形态如下。

def solve_sparse(
    matrix,    # 稀疏矩阵,方程离散之后就是矩阵
    rhs,       # 右端项
    tol=1e-8,  # 精度要求
):
    # 引擎:神经算子或数值算法,调用方不必关心
    x = engine.solve(matrix, rhs, tol)
    # 回执:引擎、迭代数、相对残差、是否回退,供机器查验
    cert = engine.certificate()
    return x, cert

对于待求解的方程 Ax = f,接口要求三项输入:① 矩阵 A,即方程离散之后的形态;② 右端项 f,即源项与边界条件汇成的向量;③ 精度要求,即相对残差的收敛阈值,工业级通常取 1e-8。输出一份解 x,附一张可查验的回执。接口背后是神经算子还是数值算法,调用方无需关心。

接口背后应当运行什么?神经算子泛化强而精度不足;数值算法精度高、有物理保障,却难以自适应,并行度也受限。取长补短,构建 AI+数值混合计算的求解器,精度、效率、泛化、物理保障四者兼得,才是 Agent 时代求解器的合理形态(图 1)。

图 1 方程求解方法在“精度 × 自适应”平面上的格局。数值方法早已越过工业精度线,却依赖专家逐个问题调校;神经算子自适应强,精度止步 1e-3;右上角的需求区间长期空置。玉衡的进入方式:AI 生成求解器组件,数值迭代收尾。

这条混合路线上,国际上已有一些探索。2019 年,以色列魏茨曼科学研究所与以色列理工学院率先学习多重网格的插值算子,一次无监督训练覆盖一族扩散方程,收敛率胜过经典的 Black-Box 多重网格[21];2023 年,美国麻省理工学院继而学习格点规范理论中 Dirac 方程的预条件器,以网络前向替代手工构造,显著加速共轭梯度收敛[20];2025 年,香港科技大学(广州)进而学习完整的多重网格层级,以注意力机制一并生成限制、粗网格校正与插值,泛化到远超训练规模的网格[17]。从插值算子,到预条件器,再到完整层级,可以交给学习的组件越来越多;但共同的边界也随之显形:组件绑定方程族,换一类问题便要重新训练,学习与迭代之间始终缺一个一般性的分工原则。凝练起来,核心科学问题是:在一台求解器里,什么必须由数值方法保证,什么应当交给 AI 搜索?

我们认为:AI 应当担任关键结构的搜索器,这与 AlphaFold 一脉相承。AlphaFold 搜索蛋白质的折叠结构;在一台求解器里,值得搜索的结构不在网格划分、方程装配或后处理,而在迭代求解的“初值”,从哪里开始找这个解。循此思路,我们构建了北航智算玉衡 Alioth:一个不学习解方程、而学习制造方程求解器的神经网络,深度嵌入传统数值求解流程。给定方程,数值求解器将其离散为稀疏矩阵;玉衡观察矩阵,生成迭代求解的“初值”,逐点平滑权重与层间插值算子;数值迭代收尾,收敛性与精度由数值框架背书。

玉衡对传统数值算法的优势:

  1. 易收敛:显著减少迭代步数。网格加密一倍,条件数按平方恶化[15],迭代最难啃的地方,正是玉衡省得最多的地方。
  2. 高并发:把串行的求解流程改为并行的预测,解耦 GPU 求解的最大瓶颈,单卡可同时求解数千个百万点规模的方程。

玉衡对神经算子的优势:

  1. 高效率:优化的正是数值算法最耗时的准备流程,同时完整保留数值迭代的工业级性能。
  2. 高精度:不以数值方法为教师蒸馏,精度与数值求解齐平,直达工业精度 1e-8、1e-9。

二、智算玉衡:智能生成方程求解器

如何用 AI 生成求解器?第一节给出了原则:AI 担任关键结构的搜索器。这一节把它展开成方法。重点在快速搜索方程的亚结构:数值计算的第一步是把方程装配成稀疏矩阵,方程的亚结构原样映在矩阵里,于是搜索方程亚结构,等价于搜索稀疏矩阵的亚结构

以最常用的一类问题为例:用代数多重网格(AMG)求解扩散方程,一次完整求解要走一座三步的金字塔。

  1. 建塔:从细矩阵逐层聚粗,选定粗化策略,构造层间插值算子,搭出粗细相济的层级。
  2. 配平滑:逐层选定平滑方法与松弛因子,负责磨掉本层的高频误差。
  3. 跑循环:沿金字塔上下往返,共轭梯度收尾,把残差压到 1e-8。

对不熟悉这套流程的同学,我们做了一个三分钟的动画:从方程讲到矩阵,从求解讲到边界,也讲了玉衡在其中的位置(会一点 AI 就能看懂,最后一幕专门翻译给 AI 同行)。

三步之中,第三步早已完全自动化;前两步,粗化怎么聚、松弛设多少,至今强依赖人类专家经验,正是第一节说的“写不进文档的手感”。玉衡做的事,就是学走这些经验:一个观察矩阵特征、输出求解器配置的基础模型。矩阵进,组件出(逐点平滑权重与层间插值算子),一次前向,数十毫秒。不学解方程,学造求解器。

传统求解器 玉衡 Alioth 矩阵 A 构建 AMG 层级 (setup) Gauss-Seidel 平滑 共轭梯度迭代 矩阵 A 网络读代数特征 生成平滑器组件 逐点权重+插值算子 共轭梯度迭代 解 + 回执 数十ms 换一张矩阵就要重付一次 本质串行,GPU 吃不动 可并行的 Gauss-Seidel

差别在中间的功夫花在哪:传统路线换一张矩阵就要重建 AMG 层级,平滑器又本质串行。玉衡一次前向生成可并行的平滑器组件,数十毫秒,换矩阵不重付。

见过的方程越多,效果越好。为此我们构建了一类特殊的矩阵语料库:程序合成的变系数扩散方程族,生成一个系数场即得到一个新样本,样本近乎零成本;这类系统的能量泛函单调下降,解的质量可以直接评价,无需参考解。训练则采用了非反向传播的新范式,细节将在技术报告中给出。

三、一些初步的进展

物理方程离散之后就是矩阵。这一次我们把测试范围扩展到全量:SuiteSparse[11] 上 1 万至 200 万未知数的实对称正定矩阵全部收录,共 116 个算例,覆盖结构、热学、流体、电磁、模型降阶、图与优化等十余个领域。统一协议:相对残差 1e-8、上限 400 步、同一随机右端;玉衡一套权重,零样本。参与对比的有 CPU 经典(与 Fluent 同款的 SA + Gauss-Seidel,PyAMG[12])与 NVIDIA AmgX(GPU 工业级求解库)。总体结果见图 2,可以归纳为四点。

图 2 全量 116 例:玉衡通过 75 例,比 CPU 经典多 29 例,比 AmgX 多 41 例。

1比 Ansys Fluent 更优:收敛与精度

116 例中,CPU 经典通过 46 例,玉衡通过 75 例。收敛质量上,双方均通过的 41 例迭代数比值仅 1.08(图 3):学习平滑器在 GPU 可并行的形态下,拿到了 Gauss-Seidel 级的收敛质量;精度全部到达 1e-8 工业线。第一节提出的问题在这里有了回答:串行的质量标杆,以并行的形态得以保留。

图 3 双方均通过的 41 例,迭代数比值 1.08:以可并行的形态达到 Gauss-Seidel 级收敛质量。

2比 NVIDIA AmgX 更快:bf16 低精度,解出高精度方程

同为 GPU,AmgX 通过 34 例,玉衡 75 例;直接对比,玉衡通过而 AmgX 未通过的算例有 42 个,反之只有 1 个(表 1)。同一算例的迭代数也普遍更少:thermal2 是 53 对 18,ecology2 是 55 对 10,Dubcova2 是 128 对 51。机制上,玉衡的学习组件以 bf16 低精度运行,交付的仍是 1e-8 的解:低精度组件,算高精度方程,收敛由数值迭代保证。

表 1 玉衡通过而 AmgX 未通过的算例(共 42 个,此处列出 10 个)。括号内为玉衡的求解层级;AmgX 使用官方配置与自带右端,迭代数为量级可比;全部 116 个算例的明细见 GitHub 仓库。
矩阵未知数领域AmgX玉衡
Flan_15651,564,794结构FAIL378(网络)
Hook_14981,498,023结构FAIL324(骨架)
Geo_14381,437,960结构FAIL150(网络)
Serena1,391,349结构FAIL145(网络)
bone010986,703模型降阶FAIL367(自适应)
ldoor952,203结构FAIL281(自适应)
audikw_1943,695结构FAIL590(自适应)
af_shell3504,855结构FAIL88(自适应)
offshore259,789电磁FAIL174(自适应)
thermomech_dM204,316热学err6(网络)

快的另一面是并发(表 2、图 4):批量右端下,单卡每秒上千次精确求解,单次时延与一次内网往返同量级。足以支撑一个散热设计 agent 一夜迭代三千版参数,每版调用一次求解、核验一次回执。

表 2 单卡吞吐。批量右端并发,相对残差 1e-8,RTX 5090。
矩阵未知数并发右端吞吐(解/秒)
thermomech_dM204,3162561,272
thermal182,654256823
Dubcova265,025512471
ecology2999,99975105
图 4 单次求解时延与一次内网往返同量级:对 agent,一次精确求解 ≈ 一次 RPC。

3拓展数值求解器的可解范围

这 42 个算例中,多数是 CPU 与 GPU 经典方法都无法收敛的困难问题:156 万未知数的 Flan_1565、150 万的 Hook_1498、95 万的 ldoor、94 万的 audikw_1、af_shell 全系列,多为大型结构矩阵,还有电磁的 offshore。玉衡依靠的是三级求解策略(图 5):首先由网络以一套权重零样本求解,通过 45 例;网络失效时,回退到无学习组件的骨架算法,补足 4 例;两级都失败的算例交给自适应层,再解出 26 例。

图 5 网络 45 例、骨架 4 例、自适应 26 例,合计 75/116;其余 41 例为后续改进目标。

4自我学习进化的能力

自适应层的机制是 self-play:玉衡的训练不依赖参考解,解的质量由方程本身评价,因此未收敛的算例可以直接转化为新的训练样本,模型围绕该算例自动生成相近问题、就地训练,再重新求解。最典型的案例是 cfd2(图 6):SA 默认配置、AmgX 与网络直接求解均未收敛;经典 adaptive-SA 需要 529 步;使用精确特征向量的理论上界为 97 步,但特征向量实际不可获得;玉衡自适应层全自动收敛,245 步,GPU 上单次求解 2.75 秒。服务过程本身就是训练过程:处理过的矩阵越多,生成的求解器越好;其余 41 例仍未解出,是下一版本的改进目标。

图 6 玉衡自适应层全自动收敛,245 步;理论上界 97 步仅作参照,需精确特征向量,实际不可获得。

四、后续计划

目前,Alioth v0.5 Preview 已上线 GitHub 仓库,包含模型权重与 MCP[13] 部署方式。Cursor、Claude Code 等任何 MCP 客户端均可接入,提供三个工具:list_matrices 查看在线矩阵,solve_sparse 求解并返回回执,throughput_test 实测吞吐。一次真实调用返回的回执如下。

{
  "matrix": "thermal2",
  "unknowns": 1228045,
  "certificate": {
    "engine_used": "learned_multigrid",
    "iters": 20,
    "relative_residual": 9.5e-09,
    "converged": true,
    "fallback_used": false,
    "solve_ms": 53.3
  }
}

Case 1:流体压力方程(烟流绕障碍,N = 144,414)实时求解,右端逐帧变化,按实测单解耗时同步回放:玉衡 17 ms 一帧、57.8 fps,900 帧 15.5 秒跑完全程;此刻 AmgX 到第 432 帧,CPU 经典还在第 51 帧。

玉衡 · 流体竞速:每帧一解,精度 1e-8;玉衡侧是 1,500 个参数的网络,零样本。

后续,我们将逐步开源完整训练代码、模型与技术报告,提供公用求解服务,并发布 OpenFOAM 可直接调用的插件,让玉衡成为求解器字典里的一个新选项;也将开放自定义矩阵与右端接口(MatrixMarket 格式,大文件走网盘中转),届时可以拿你自己的矩阵来检验玉衡。

参考文献

  1. J. Jumper et al. Highly accurate protein structure prediction with AlphaFold. Nature, 2021. doi:10.1038/s41586-021-03819-2
  2. K. Bi et al. Accurate medium-range global weather forecasting with 3D neural networks. Nature, 2023. doi:10.1038/s41586-023-06185-3
  3. R. Ohana et al. The Well: a large-scale collection of diverse physics simulations. NeurIPS D&B, 2024. arXiv:2412.00568
  4. M. Takamoto et al. PDEBench: An extensive benchmark for scientific machine learning. NeurIPS D&B, 2022. arXiv:2210.07182
  5. T. Chen et al. OmniArch: Building foundation model for scientific computing. ICML, 2025. arXiv:2402.16014
  6. Z. Hao et al. DPOT: Auto-regressive denoising operator transformer for large-scale PDE pre-training. ICML, 2024. arXiv:2403.03542
  7. M. McCabe et al. Multiple physics pretraining for physical surrogate models. 2023. arXiv:2310.02994
  8. M. Herde et al. Poseidon: Efficient foundation models for PDEs. NeurIPS, 2024. arXiv:2405.19101
  9. Z. Ye et al. PDEformer: Towards a foundation model for one-dimensional partial differential equations. 2024. arXiv:2402.12652
  10. M. Naumov et al. AmgX: A library for GPU accelerated algebraic multigrid and preconditioned iterative methods. SIAM J. Sci. Comput., 2015. developer.nvidia.com/amgx
  11. T. A. Davis and Y. Hu. The University of Florida sparse matrix collection. ACM TOMS, 2011. sparse.tamu.edu
  12. N. Bell et al. PyAMG: Algebraic multigrid solvers in Python. J. Open Source Software, 2023. github.com/pyamg/pyamg
  13. Model Context Protocol. modelcontextprotocol.io
  14. H. C. Elman, D. J. Silvester, A. J. Wathen. Finite Elements and Fast Iterative Solvers: with Applications in Incompressible Fluid Dynamics. 2nd ed., Oxford University Press, 2014. oup.com
  15. Y. Saad. Iterative Methods for Sparse Linear Systems. 2nd ed., SIAM, 2003. doi:10.1137/1.9780898718003
  16. K. Stüben. A review of algebraic multigrid. J. Comput. Appl. Math., 128 (2001) 281–309. doi:10.1016/S0377-0427(00)00516-1
  17. Z. Li, D. Xiao, Z. Lai, W. Wang. Neural Preconditioning Operator for Efficient PDE Solves. arXiv:2502.01337, 2025. arXiv:2502.01337
  18. S. Yue et al. Foam-Agent 2.0: An end-to-end composable multi-agent framework for automating CFD simulation in OpenFOAM. arXiv:2509.18178, 2025. arXiv:2509.18178
  19. K. Xiao, H. Zhang, Y. Xu, R. Mao, H. Li, Z. X. Chen. A preliminary assessment of coding agents for CFD workflows. arXiv:2602.11689, 2026. arXiv:2602.11689
  20. S. Calì, D. C. Hackett, Y. Lin, P. E. Shanahan, B. Xiao. Neural-network preconditioners for solving the Dirac equation in lattice gauge theory. Phys. Rev. D 107, 034508, 2023. doi:10.1103/PhysRevD.107.034508
  21. D. Greenfeld, M. Galun, R. Kimmel, I. Yavneh, R. Basri. Learning to optimize multigrid PDE solvers. ICML, 2019. arXiv:1902.10248
北航 SCAL 小组
2026 年 8 月