← 返回 PaperDaily 大模型与智能体

色谱模拟新范式:全微分求解器让梯度计算自动化,收率优化不再求人

在制药和生物工程领域,色谱分离是纯化蛋白质等生物大分子的核心工业环节。为了让色谱过程跑得更高效、收率更高,工程师们越来越依赖机理模型来进行参数估计和过程优化。所谓机理模型,简单说就是把色谱柱内部的对流、扩散、吸附等物理…

色谱模拟新范式:全微分求解器让梯度计算自动化,收率优化不再求人
原论文信息如下:
论文标题:
ChromOps.jl: High-order simulation and discrete forward sensitivity analysis for chromatography models
发表日期:
2026年08月
论文作者:
Kristian Meyer, Maksym Ratajczyk, Christopher Rackauckas
发表单位:
Novo Nordisk A/S, JuliaHub, Massachusetts Institute of Technology
原文链接:
https://arxiv.org/pdf/2608.06131v1.pdf

色谱模拟的痛点:梯度计算为何如此困难?

在制药和生物工程领域,色谱分离是纯化蛋白质等生物大分子的核心工业环节。为了让色谱过程跑得更高效、收率更高,工程师们越来越依赖机理模型来进行参数估计和过程优化。所谓机理模型,简单说就是把色谱柱内部的对流、扩散、吸附等物理化学过程用偏微分方程组(PDEs)描述出来,然后通过数值方法求解。
听起来挺美好对吧?但现实很骨感:梯度下降类的优化算法,每一轮迭代既要算一次正向模拟,又要算目标函数对所有参数的一阶导数。色谱模型本身是非线性刚性偏微分方程组,正向求解已经很贵了,再叠加导数的计算,整个流程的算力开销直接起飞。更要命的是,现有的一些色谱求解器虽然也能输出参数的灵敏度信息,但要把这些灵敏度通过链式法则转换成用户自定义目标(比如收率、纯度)的梯度,得用户自己手推公式、手写链式求导代码。这种活儿不仅琐碎,而且特别容易出错。
想象一下:工艺工程师好不容易把模型建好,想优化一下洗脱条件,结果卡在梯度计算上——要么等等等,等一晚上还没算完;要么翻出泛黄的笔记簿手推公式,还得求爷爷告奶奶找数学系的同事帮忙验算。这画面,就像你点了一份豪华外卖,结果筷子要自己拿木头现削,谁受得了?

两大高阶离散方法正面交锋:FD-SBP vs DG-SEM

ChromOps.jl的论文解决上述两大痛点的思路很直接:第一,基于Julia语言构建一个全微分求解器,让正向求解和梯度求解共用一套代码路径;第二,实现离散前向灵敏度分析(Discrete Forward Sensitivity Analysis,DFSA),把用户从手写链式法则的泥潭里彻底捞出来。
先说说色谱模型本身。论文采用的是集总速率模型(lumped-rate model),它用一组偏微分方程描述各组分在色谱柱内的传输和吸附过程。考虑一个包含盐(salt)和Nc个蛋白质组分的体系,每个组分在流动相中的浓度ci随时间的变化由对流、轴向扩散和液固相传质共同决定:
组分i在流动相中的质量平衡方程
图:组分i在流动相中的质量平衡方程。其中ci为流动相浓度,cp,i为孔相浓度,vint为间隙线速度,Dax,i为轴向扩散系数,ε为床层空隙率,εp为颗粒空隙率,kMT,i为传质系数。
孔相中的浓度变化则由传质驱动力和吸附速率共同决定,而吸附过程采用位阻质量作用(Steric Mass Action,SMA)等温线来描述。这套模型在工业色谱中非常经典,但数值求解起来很棘手——既要有足够的精度,又要在合理的自由度(Degrees of Freedom,DOF)下把误差压下来。
这时候,高阶空间离散方法就派上用场了。论文里对比了两类高阶方法:一类是有限差分求和-分部(Finite Difference Summation-By-Parts,FD-SBP)方法,另一类是间断伽辽金谱元法(Discontinuous Galerkin Spectral Element Method,DG-SEM)。
对流算子定义
图:对流算子(convection operator)的定义式。
扩散算子定义
图:扩散算子(dispersion operator)的定义式。
这两类方法在数学上都是“高阶”的——意思是随着网格加密,误差下降的速度很快。DG-SEM在色谱领域已经有不少应用先例,而FD-SBP的优势在于概念上更简单,同时具备能量稳定性(energy stability)的数学保证。论文的工作之一就是让这两类方法在同一个求解器框架下公平对决。
表1
表1:对流算子的收敛性历史。FD-SBP的内部阶数为l=2r。从误差和实验收敛阶(EOC)来看,两种方法都达到了各自的理论收敛阶,验证了实现的正确性。
论文用了一个“人造解”(manufactured solution)的技巧来验证两种空间离散实现的正确性。所谓人造解,就是先人为构造一个光滑的精确解,把这个解代回偏微分方程反推出一个源项,然后让数值方法去求解这个带源项的问题,看数值解能不能以预定的收敛阶逼近精确解。表1和表2分别展示了纯对流问题和纯扩散问题上的收敛结果,FD-SBP和DG-SEM都成功达到了理论上的误差收敛阶。
表2
表2:扩散算子的收敛性历史。FD-SBP的内部阶数为l=2r。两种方法在扩散算子上同样达到了理论收敛阶。

离散前向灵敏度分析:让梯度计算变得轻而易举

如果说高阶离散方法解决的是“算得准、算得快”的问题,那么离散前向灵敏度分析(DFSA)解决的就是“梯度怎么来”的问题。
DFSA的核心思想非常优雅:与其把求解器当作一个黑盒,通过有限差分去近似梯度,不如直接对求解器内部的每一行代码做自动微分(Automatic Differentiation,AD)。ChromOps.jl利用的是Julia生态中成熟的ForwardDiff.jl库,它基于对偶数(dual number)机制实现前向模式的自动微分。
对偶数泰勒展开
图:对偶数的核心性质。对偶数a+bε在ε²=0的 nilpotent 条件下展开泰勒级数,一阶项系数恰好就是导数,且这种计算是精确到机器精度的。
对偶数可以理解为一种“带着导数信息的数”:一个实数x加上一个无穷小量ε乘以它的导数x′,就构成了对偶数x̂ = x + εx′。在对偶数上进行加减乘除、指数对数等基本运算时,导数信息会按照链式法则自动传播。因此,只要把求解器中的所有Float64类型换成对偶数类型,跑一遍正向求解,就能同时得到目标函数对所有参数的灵敏度——完全不需要手推公式,也不需要写额外的求导代码。
更有意思的是,ChromOps.jl把这条原则贯彻到底了:不仅空间离散部分可微分,时间积分器同样在自动微分路径上。也就是说,用户在定义目标函数时,可以任意在输出浓度、纯度、收率之上做各种后处理,DFSA都能给出一条“端到端”的梯度。
图2
图2:右端项评估的墙钟时间对比:使用原始(Float64)和8偏导对偶(Dual{8})状态向量时的耗时。对偶状态的额外开销是原始状态的4-5倍,但对于一次传播8个偏导来说,这比分别计算8次要划算得多。
这里要专门提一下ForwardDiff.jl的一个杀手锏:多维度对偶数(multi-dimensional dual numbers)。ForwardDiff.jl允许一次同时批量传播多个方向的导数,每个方向对应一个独立的无穷小基εk。论文里的测试显示,DFSA的总耗时近似满足:
t ≈ 1.4 × (1 + Np) × tfwd
其中Np是需要求导的参数个数,tfwd是单次正向求解的时间。也就是说,每额外多求一个参数的梯度,只需要增加约1.4个正向求解的耗时。这个标度律在Np = 24的测试范围内都成立。对比有限差分每多一个参数就需要多一次完整的正向求解,DFSA的效率优势在参数多的时候相当显著。
图3
图3:稀疏雅可比矩阵评估的墙钟时间对比:使用原始(Float64)和8偏导对偶(Dual{8})状态向量时的耗时。

六组分离子交换基准测试:谁才是真正的赢家?

论文的基准测试选了一个很有代表性的工业场景:六组分离子交换色谱(Ion-Exchange Chromatography,IEX),蛋白质A到F加上盐,一共七个组分。模型参数和SMA等温线参数分别列在表3和表4中。
表3
表3:六组分IEX问题的模型参数。
表4
表4:六组分IEX问题的SMA等温线参数。
先看模拟结果:图1展示了一个典型的六组分离子交换色谱图,各组分在盐梯度洗脱下依次出峰,峰形和保留时间都符合预期。注意整个模拟过程使用了分段线性的盐浓度梯度设定,这使得问题更贴近工业上的实际洗脱操作。
图1
图1:六组分离子交换分离问题的模拟色谱图。在盐梯度洗脱下,六个蛋白质组分依次从色谱柱中被洗脱出来,形成特征性的峰序列。
接下来是重头戏:在保证计算精度可比的前提下,FD-SBP和DG-SEM展开了正面对决。论文在同样的节点数(N)下,分别测量了右端项评估、雅可比矩阵评估、线性求解器重构的耗时,再放到工作-精度(work-precision)坐标系里比总账。
表5
表5:状态雅可比矩阵的稀疏模式和贪心染色结果,按方法和问题规模分别列出。ncolors是彩色前向模式求雅可比所需的对偶右端项前推调用次数。
结果很有意思:在原始(primal)数值模拟中,FD-SBP在大部分配置下的每自由度效率和总耗时都优于DG-SEM,而且实现起来更简单。图6展示了两种方法在“以最小的计算代价达到指定精度”这个目标上的表现差异——在同样的精度水平下,FD-SBP需要的计算时间更短。论文认为,这是因为FD-SBP在相同节点数下具有更紧凑的差分模板,从而减少了浮点运算次数和内存带宽压力。
图6
图6:原始(primal)工作-精度对比:DG-SEM vs FD-SBP。详细数据见表6。FD-SBP在多数精度水平下的总耗时更低。
表6
表6:在匹配N下的原始QNDF工作-精度扫描成本细目(DG-SEM vs FD-SBP)。各列分别为:右端项(RHS)、雅可比(Jac)、重构(Refac)、三角求解(Tri)和其他(Other)。
那对偶值(dual-valued)计算——也就是顺带求梯度的情况呢?论文同样做了全面的对比,结果在图表中一目了然:FD-SBP的优势在自动微分场景下依然保持。值得注意的是,对偶值计算的额外开销并不是均匀分布的:右端项和线性求解器部分的增幅比较温和,但雅可比矩阵计算的开销相对更大。这提醒我们,在DFSA流程中,雅可比矩阵的高效计算是影响总体性能的关键因素。
图10
图10:对偶值工作-精度对比:DG-SEM vs FD-SBP。Np = Nchunk = 8。详细数据见表7。
表7
表7:在匹配N下8偏导对偶值QNDF工作-精度扫描成本细目(DG-SEM vs FD-SBP)。
为了公平起见,论文还测试了不同ODE积分器对整个求解链路的性能影响。图7展示了在固定空间离散下,几种常用隐式积分器的表现差异——这提醒我们,空间离散方法选得再好,时间积分策略跟不上也会功亏一篑。一个好的组合拳,往往比单点上的极致优化更值钱。
图7
图7:固定空间离散(FD-SBP,两个块,r = 2,l = 4,20个节点)下的ODE积分器工作-精度基准测试。不同积分器的性能差异显著,说明了时间积分选择对整体效率的重要性。
在敏感性验证部分,论文针对24个模型参数(六个组分的平衡常数、化学计量系数、屏蔽系数和传质系数)各加了一个微扰,然后对比了DFSA的梯度与高精度参考解之间的误差。图8展示了缩放后的参数灵敏度曲线。RMS误差显示,DFSA求出的梯度在各参数方向上与参考解高度吻合,精度达到机器精度水平,证明了这套方法论不只是在简单的例子上灵光一现,而是在真实尺度的工业问题上同样靠谱。
图8
图8:六组分离子交换问题的缩放参数灵敏度。对应色谱图见图1。彩色的灵敏度曲线展示了各模型参数对出口浓度的影响方向和幅度。
最后来看看DFSA的成本标度律。图9展示了在固定ForwardDiff.jl块宽度下,DFSA总耗时随传播参数个数Np的变化。虚线是理论估计值,实际测量点紧密地贴合在虚线上,验证了“每个额外参数只需约1.4次正向求解”的结论。这意味着当一个工艺模型有几十个需要拟合的参数时,DFSA的全梯度计算总成本大约是几十次正向求解的量级——对于动辄需要数小时甚至数天的色谱模拟来说,这个开销完全在可接受范围内。
图9
图9:DFSA成本随传播参数Np的变化,固定ForwardDiff.jl块宽度Nchunk ∈ {1, 2, 4, 8, 12, 24}。虚线为单块估计ktfwd(1 + Np),其中tfwd为正向模拟时间。实测点与理论预测高度吻合。

从研究到工业:ChromOps.jl的实用价值与未来展望

ChromOps.jl的实用价值,首先体现在它把“正向求解”和“梯�度求解”这两件事在代码层面彻底打通了。传统做法里,正向求解器是一套代码,灵敏度分析是另一套独立的代码,两者之间需要手动对接和校验。而ChromOps.jl因为从设计之初就把自动微分作为一等公民,正向和梯度天然同源,省去了大量的工程维护成本。
这背后的战略价值可以从“可微分编程”的角度来理解。当整个色谱模拟链路都是可微分的时候,用户可以自由地定义任意复杂的目标函数——比如“产物收率×纯度”或者“多批次生产的总利润”——然后让优化算法自动处理梯度计算。这实际上是把色谱工艺开发从“手工调参+试错”的古典模式,推向“数据驱动+自动优化”的现代模式。
ChromOps.jl作为诺和诺德(Novo Nordisk)内部孵化并开源的求解器,背后有真实的工业场景驱动。这意味着论文中所有的基准测试都不是在拍脑袋的玩具问题上做的,而是瞄准了工业色谱中实际会遇到的模型规模和精度需求。在六组分IEX基准测试中,ChromOps.jl的表现说明,FD-SBP在实际工程场景下可能比当前学界更偏爱的DG-SEM更具性价比——这个发现对于正在选型数值方法的工业团队来说,是一份很有参考价值的实战报告。
当然,任何工具都有它的适用边界。ChromOps.jl目前主要面向一维色谱柱模型(轴向方向),虽然这覆盖了绝大多数工业制备色谱的应用场景,但对于需要二维或三维解析的复杂流动结构,就需要在现有框架上继续扩展。此外,虽然前向模式的DFSA在参数个数不太多时效率极高,但当待估计参数规模膨胀到成百上千时,前向模式的计算成本会线性增长,这时候或许需要考虑后向模式的伴随方法(adjoint method)作为补充。

龙迷三问

下面是龙哥对于大家可能的一些问题的解答:
这篇论文到底在解决什么问题?ChromOps.jl是诺和诺德推出的全可微Julia色谱求解器,将高阶空间离散与离散前向灵敏度分析结合,让任意自定义目标的梯度计算达到机器精度。
这篇工作最值得看的点是什么?FD-SBP在原始和8部分对偶值求解中均优于DG-SEM;两种方法均达到理论收敛阶;DFSA梯度精度达到机器精度,计算成本随参数数量近似线性增长。
这篇工作的边界或风险在哪里?优点:(1) 完全可微的求解器,无需用户手动推导链式法则;(2) FD-SBP在精度和计算效率上均优于DG-SEM;(3) DFSA梯度精度达到机器精度;(4) 单一代码路径同时支持原始和对偶求解。缺点:(1) 仅针对特定色谱模型(lum…
如果你还有哪些想要了解的,欢迎在评论区留言或者讨论~

龙哥点评

论文创新性分数:★★★★☆

本文提出一个完全可微的Julia色谱求解器ChromOps.jl,将高阶空间离散化(FD-SBP和DG-SEM)与离散前向灵敏度分析(DFSA)相结合,通过共享同一代码路径实现任意用户定义目标的精确梯度计算。

实验合理度:★★★★☆

L²误差、L∞误差、实验收敛阶(EOC)、RMS误差(OD信号)、墙钟时间

学术研究价值:★★★★☆

本文提出一个完全可微的Julia色谱求解器ChromOps.jl,将高阶空间离散化(FD-SBP和DG-SEM)与离散前向灵敏度分析(DFSA)相结合,通过共享同一代码路径实现任意用户定义目标的精确…

稳定性:★★★☆☆

现有材料未提供充分的极端条件、重复运行或扰动测试,稳定性暂按中性评价。

适应性以及泛化能力:★★★☆☆

现有材料未完整展示跨数据集、跨场景或分布外实验,泛化能力仍需进一步验证。

硬件需求及成本:★★★☆☆

DFSA计算N_p个参数的灵敏度时,总时间约为t ≈ 1.4(1+N_p)t_fwd,即每个额外参数约需1.4次前向求解的时间。

复现难度:★★★☆☆

现有材料未确认完整代码、配置、数据处理脚本和权重是否齐备,复现难度暂按中性评价。

产品化成熟度:★★★☆☆

论文验证以研究实验为主,真实部署中的时延、成本、维护和异常场景仍需补充验证。

可能的问题:(1) 仅针对特定色谱模型(lumped-rate model with SMA isotherm)验证;(2) 未与连续伴随方法进行直接对比;(3) 线…

主要参考文献

[1] Meyer K, Ratajczyk M, Rackauckas C. ChromOps.jl: High-order simulation and discrete forward sensitivity analysis for chromatography models[J]. Preprint, 2026.
[2] Bezanson J, Edelman A, Karpinski S, et al. Julia: A fresh approach to numerical computing[J]. SIAM Review, 2017, 59(1): 65-98.
[3] Revels J, Lubin M, Papamarkou T. Forward-mode automatic differentiation in Julia[J]. arXiv preprint arXiv:1607.07892, 2016.
[4] Rackauckas C, Nie Q. DifferentialEquations.jl—A performant and feature-rich ecosystem for solving differential equations in Julia[J]. Journal of Open Research Software, 2017, 5(1).
[5] Svärd M, Nordström J. Review of summation-by-parts schemes for initial–boundary-value problems[J]. Journal of Computational Physics, 2014, 268: 17-38.
[6] Hesthaven J S, Warburton T. Nodal Discontinuous Galerkin Methods: Algorithms, Analysis, and Applications[M]. Springer Science & Business Media, 2008.
[7] Brooks C A, Cramer S M. Steric mass-action ion exchange: Displacement profiles and induced salt gradients[J]. AIChE Journal, 1992, 38(12): 1969-1978.
[8] Bassi F, Rebay S. A high-order accurate discontinuous finite element method for the numerical solution of the compressible Navier–Stokes equations[J]. Journal of Computational Physics, 1997, 131(2): 267-279.
[9] Danckwerts P V. Continuous flow systems: Distribution of residence times[J]. Chemical Engineering Science, 1953, 2(1): 1-13.
[10] Ma Y, Dixit V, Innes M J, et al. A comparison of automatic differentiation and continuous sensitivity analysis for derivatives of differential equation solutions[C]//2021 IEEE High Performance Extreme Computing Conference (HPEC). IEEE, 2021: 1-9.


*本文仅代表个人理解及观点,不构成任何论文审核或者项目落地推荐意见,具体以相关组织评审结果为准。欢迎就论文内容交流探讨,理性发言哦~ 想了解更多原文细节的小伙伴,可以点击"阅读原文",查看更多原论文细节哦!       

转发文章 微博 X LinkedIn Facebook
龙哥读论文 · PaperDaily

本文基于龙哥读论文 PaperDaily 数据库整理,结合论文原文与工程视角进行解读。

LONGGE AI COMMUNITY

把每天读到的论文,变成长期积累

加入「龙哥读论文」知识星球,持续获取 AI 论文、资讯、开源项目、招聘与研究思路。

加入龙哥读论文微信群:添加微信 kangjinlonghelper,备注“研究方向 + 地点 + 学校/公司 + 昵称”。

龙哥读论文知识星球二维码 微信扫码加入知识星球