The Hot Path Belongs to GBDTs, Agents Own the Cold Path: A Payment-Fraud Benchmark
TL;DR · AI 摘要
在支付欺诈检测中,GBDT模型在同步路径上表现更优,而代理系统更适合异步处理。
核心要点
- GBDT模型在单核CPU上的p99延迟为0.15 ms,而LLM模型的p99延迟约为1200 ms。
- 处理5万笔/秒的交易,GBDT成本约$54,而gpt-4o-mini-class模型成本高达$16,200。
- GBDT在相同输入下返回唯一评分,而LLM模型返回498个不同评分,影响验证。
结构提纲
按章节快速跳转。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- 支付欺诈检测模型对比
- 同步路径
- GBDT模型优势
- 低延迟
- 异步路径
- 代理系统优势
- 处理复杂任务
- 成本对比
- GBDT成本低
- LLM成本高
金句 / Highlights
值得收藏与分享的关键句。
On a single CPU core, the gradient-boosted scorer hits p99 latency of 0.15 ms. A calibrated LLM-latency simulator (not a live API) puts an LLM scorer at p99 around 1,200 ms.
At 50,000 transactions per second for one hour, the GBDT scorer costs about $54. A gpt-4o-mini-class model costs $16,200.
On 500 calls with the bit-identical input, the GBDT returns 1 distinct score. A non-deterministic LLM returns 498.
热路径属于GBDTs,代理拥有冷路径:一个支付欺诈基准 | Towards Data Science
机器学习
热路径属于GBDTs,代理拥有冷路径:一个支付欺诈基准
一个可复现的基准,涉及延迟、成本和可复现性,以及代理如何真正创造价值。
2026年6月25日
17分钟阅读
分享
本文测试了一个在支付工作中不断出现的问题:一个大型语言模型代理能否在同步支付授权路径上替代梯度提升评分器?这个问题有合理的形状。代理正在处理需要高级分析师和五个仪表板的调查队列,所以听起来像是对交易评分的自然选择。
我构建了一个小型基准来回答这个问题。该基准可以在笔记本电脑上运行。它不需要GPU、API密钥或云账户。源代码在GitHub上,地址是 github.com/sandeepmb/fraud-agents-benchmark 。本文中的每一张图和每一个数字都来自同一个Python仓库,因此你可以重新运行它并验证工作。
简短的回答是,经典机器学习仍然掌控同步热路径,而代理则属于异步冷路径。本文的其余部分将解释三个测量指标,这些指标划定了这两个层次之间的界限,以及我最终推荐的混合架构。
TL;DR
- 在单个CPU核心上,梯度提升评分器达到p99延迟0.15毫秒。经过校准的LLM延迟模拟器(不是实时API)将LLM评分器的p99延迟设置在约1200毫秒。ISO 8583授权预算大约是100毫秒。
- 在每秒处理50000笔交易一小时的情况下,GBDT评分器的成本约为54美元。gpt-4o-mini-class模型的成本为16200美元。前沿模型(Claude Sonnet 4.6)的成本为351000美元。这些数字假设仅为基本评分。代理推理会将这些数字乘以数倍。
- 在500次使用位相同输入的调用中,GBDT返回1个不同的评分。一个非确定性的LLM返回498个。即使温度设置为0,托管LLM推理也可以保持非确定性,这使得在受监管的授权决策中验证热路径评分器变得困难。
- 代理在异步冷路径上执行有用的工作:起草SAR,通过MCP类型的工具收集证据,以及在人工签署之前进行代理作为法官的检查。
范围和限制
在结果之前,有四个诚实的边界。
这不是声称LLM不能帮助欺诈团队。本文的后半部分讨论了它们明确可以发挥作用的地方。它也不是与微调的表格转换器或深度学习表格模型进行比较。比较是在确定性的梯度提升评分器和同步授权中的LLM风格评分之间进行的。
GBDT路径是在本地CPU上测量的。LLM延迟路径是从校准分布中模拟的,而不是针对实时API进行测量。成本数字是根据2026年5月发布的每令牌定价计算的。确定性以两种方式展示:本地测量的GBDT,以及由模拟器重现并由外部证据支持的LLM。
组件
测量、模拟或计算
原因
GBDT延迟
测量
本地单核CPU基准
LLM延迟
模拟
校准的对数正态分布,无API或GPU依赖
成本
计算
2026年5月发布的每令牌定价
确定性
测量(GBDT)和引用证据(LLM)
本地基准加
数据是合成的,并且符合 ISO 8583 的格式。每笔交易有 20 个特征,这些特征是卡不在场(card-not-present)高通路评分器实际看到的字段类型:金额、MCC 风险、设备年龄、地理距离、一小时和二十四小时窗口内的速度计数器、拒付历史,以及一些二进制标志。欺诈率是 1.5%。生成器包含一个隐性欺诈率参数,使得大约 15% 的欺诈行从合法类分布中抽取。这反映了复杂的模仿行为,并为基准测试提供了不可减少的贝叶斯最优错误下限。没有这个参数,树集成模型的 PR-AUC 约为 0.999,这会使整个练习看起来不真实。
# src/fraud_benchmark/data.py (精简版)
def generate(n_rows, fraud_rate=0.015, seed=42, stealth_rate=0.15):
rng = np.random.default_rng(seed)
n_fraud = int(round(n_rows * fraud_rate))
n_stealth = int(round(n_fraud * stealth_rate))
legit = _draw_class(rng, n_rows - n_fraud, is_fraud=False)
overt = _draw_class(rng, n_fraud - n_stealth, is_fraud=True)
stealth = _draw_class(rng, n_stealth, is_fraud=False) # 模仿
...在使用 200,000 行数据训练 HistGradientBoostingClassifier 后,模型在 50,000 行的测试集上达到 PR-AUC 0.847 和 ROC-AUC 0.931。这些数字对于一个生产环境中的卡不在场评分器来说是可信的。
评分器本身使用一个快速的 batch=1 路径。在本笔记本电脑上,调用 sklearn 的 predict_proba 对单行进行预测大约需要 14 毫秒,主要受 Python 验证开销的影响。这个数字不能代表 XGBoost 或 LightGBM 在生产环境中的表现,因此为了公平比较,我将训练模型的内部树提取为每个字段的 numpy 数组,并编写了一个紧密的遍历。它与 sklearn 的精度匹配到 float64,并且运行速度大约快 100 倍。
LLM 评分器是模拟的。这是唯一一个在笔记本电脑上运行所有内容需要校准而不是测量的地方。模拟器从一个对数正态分布中抽取每个调用的延迟,其中位数为 540 毫秒,σ = 0.35。校准参考了三个公开来源:NVIDIA Triton 在 A10 上对 Llama-3-8B q4 的首次生成时间数据,vLLM 在 RTX 4090 上对 Qwen2.5-7B 的基准测试,以及 OpenAI 和 Anthropic 对其托管 API 的 p50 和 p99 数据。模拟器在相同输入下也会产生非确定性的评分输出,这正是我们进行确定性实验所需要的。
有了这个设置,进行三个实验。
问题 #1:推理超出 ISO 8583 的预算
在单个 CPU 核心上,对 GBDT 评分器进行 5000 次单交易调用,批量大小为 1。从校准后的 LLM 延迟分布中抽取 400 次。
整个测量的 GBDT 分布位于 100 毫秒 ISO 8583 推理预算的左侧。整个抽样的 LLM 分布位于右侧。两者没有重叠。经典评分器的 p99 是 0.15 毫秒。从 LLM 延迟模拟器中抽取的 p99 是 1,212 毫秒。这大约是经典 p99 的 8,000 倍,也是整个授权预算的 12 倍。
一旦你盯着这些数字看久了,它们就不再令人惊讶了。一个梯度提升树集成模型在对一个数值特征向量进行处理时,要执行几百次分支整数比较。而一个自回归变压器模型在对提示进行预填充后,逐个解码输出标记,每个标记都需要通过数十亿个参数进行一次完整的前向传递。这些都是不同的计算模式。量化和蒸馏可以缩小这种差距,但它们无法抹去数值树遍历和自回归标记生成之间的类别差异。
ISO 8583 是用于卡片发起交易消息的国际标准。它是同步的。当一个销售点终端推送一个授权请求时,它期望在以毫秒为单位的时间窗口内得到回应,而这个时间窗口的大部分时间都消耗在非推理的事务上。
网络传输、消息解包、特征存储查询、规则引擎评估、响应组装。推理是唯一一个会因模型选择而变化的阶段。将GBDT替换为LLM,往返时间从32毫秒变为563毫秒。这在预算已经很紧张的情况下,造成了5倍的超时。
LLM阵营通常的回应是:“我们会进行批处理。”你不能这么做。同步支付授权意味着每个交易从网络异步到达,并且必须在到达的瞬间进行评分。现代GPU推理的吞吐量依赖于连续批处理这一技术,它需要有大量请求在运行中,以便运行时能够合并。当每个批次只包含一个请求时,GPU在大部分周期内都处于空闲状态,经济上的论点也随之崩溃。
这引出了第二个问题。
问题 #2:成本差距是 200 倍到 6,500 倍
每秒处理 5 万笔交易是大型收单商在大型零售活动期间的合理峰值。我特意让成本模型具有可审计性。LLM 的层级是按每 token 的价格乘以固定的 token 预算进行定价的,因此每个美元数字都可以从基本原理中重新计算出来。
requests/hour = TPS × 3600
cost/hour = requests/hour × (prompt_tokens × input_price
+ response_tokens × output_price) / 1,000,000假设每秒处理 5 万笔交易,每个评分调用的提示词为 400 个 token,批准/拒绝回复为 50 个 token。小型层级是 OpenAI 的 gpt-4o-mini,输入每百万个 token 价格为 0.15 美元,输出每百万个 token 价格为 0.60 美元。前沿层级是 Anthropic 的 Claude Sonnet 4.6,输入和输出价格分别为 3 美元和 15 美元。这两个层级的价格都是 2026 年 5 月发布的。表格评分器的价格是基于摊销后的 CPU 基础设施(c7i.4xlarge spot 实例)进行定价的,而不是基于 token。
在普通 CPU 上运行的 LightGBM 每小时大约花费 54 美元。XGBoost 每小时花费 72 美元。gpt-4o-mini 层级每小时花费 16,200 美元。Claude Sonnet 4.6 层级每小时花费 351,000 美元。即使在小型模型的最低端,LLM 的费用也大约是表格处理成本的 225 倍。在前沿层级,费用大约是表格处理成本的 6,500 倍。
这些是乐观的数字。实际的代理推理,包括工具调用、思维链 token 和多步骤的推理,会使输出预算增加 10 到 50 倍,费用也随之增加。每笔交易进行一次完整的代理调查,前沿层级的费用将达到每小时数百万美元。
信封还假设 batch=1,这实际上就是同步授权的真实表现。GPU 的经济性依赖于对多个正在进行的请求进行连续的批处理。托管 API 可以将这种成本分摊到所有租户上,但你仍然需要在消费者端支付每 token 的费用。
这就是与供应商对话从技术转向算术的地方。一家大型信用卡发行机构每天处理十亿笔交易,其每日的推理账单会从几百美元增加到数万美元甚至数百万美元,而准确率没有任何提升。底层数据是表格形式、数值型且结构良好,这并不是语言模型有任何天然优势的数据类型。多年来,树集成模型在结构化数据上一直占据主导地位,其原因并没有改变。
第三个断点:相同的输入产生不同的输出
第三个断点决定了银行是否可以将该模型部署在热路径上,无论前两个断点如何发展。
银行模型风险监管建立在可重复性之上。2011 年美联储和 OCC 的模型风险指导(SR 11-7)已于 2026 年 4 月被《机构间模型风险管理修订指南》(SR 26-2)所取代。它要求驱动客户影响或检查员审查决策的模型(包括拒绝、挂起、账户限制和警报升级)必须经过独立验证。这意味着由客观的审查者进行测试,他们验证模型的假设,并在需要时重现其输出。一个对相同输入返回不同答案的模型无法产生可重复的验证证据。
# src/fraud_benchmark/benchmark.py: 确定性实验
def determinism(scorer, n=500, seed=7):
score_fn = getattr(scorer, "score_only", scorer.score_one)
x = single_payload(seed=seed)
outputs = np.array([float(score_fn(x)) for _ in range(n)])
rounded = np.round(outputs, 6)
return DeterminismSummary(
distinct_count=int(np.unique(rounded).size),
spread=float(outputs.max() - outputs.min()),
std=float(outputs.std()),
n=n, outputs=outputs,
)对每个评分器进行 500 次调用,使用完全相同的特征向量。GBDT 在 500 次调用中每次都返回相同的 float64 分数。模拟的 LLM 返回了 498 个不同的输出,其范围为 0.51,标准差为 0.077。
这与温度设置无关。将温度设为零,设置种子,固定模型版本,在典型的托管或高吞吐量部署中,你仍然会得到不同的答案。原因在于 API 之下。GPU 内核中的浮点数关联性依赖于约简顺序。连续批处理会在请求之间重新排列注意力。在大多数集群配置中,张量并行集合使用非确定性的 AllReduce。2025 年 9 月 Thinking Machines Lab 的报告是对这一问题最清晰的近期分析。它报告了从完全相同的贪婪解码请求中得到数十个不同的完成结果,并且还展示了通过使用批处理不变的内核可以消除这种漂移,但会以吞吐量为代价。我在文章的最后部分将再次提到这一点。
对于受监管的欺诈评分器而言,这正是问题的核心。如果审查人员询问为何某笔特定交易被拒绝,机构需要提供一个可重现的追踪记录。一个具有固定特征向量的版本化树模型可以为验证者提供确定性的评分、规则追踪和TreeSHAP归因。这是一份他们可以按需重新生成的可重现审计包。而非确定性的LLM输出则无法提供任何可返回的内容。
代理发挥作用的地方:冷路径
如果热路径属于确定性树集成,那么冷路径又如何呢?冷路径指的是交易被标记后发生的异步工作。
证据收集、案件分类、叙事撰写、SAR提交、人工审核。这些环节的延迟以分钟到小时计算,而非毫秒。由于在采取任何不利行动之前都需要人工确认,因此确定性约束较为宽松。由于只有1%到5%的交易会到达这一层,因此成本约束也有所不同。
这就是代理擅长处理的工作类型。
我最终推荐的架构包括两个物理上分离的层级。热路径是一个流处理管道。它运行Kafka数据摄入、从在线特征存储中通过Flink进行特征填充、一个生成概率和TreeSHAP归因的GBDT评分器,以及一个将评分和原因代码转换为三种决策(批准、拒绝或挑战)的规则引擎。每笔交易都会经过这一层。每个决策都是确定性的、可审计的,并且数学上可重现。
进入挑战桶的交易通过队列转移到冷路径。代理就生活在这里。监督员会接收到警报并派遣专家。地理分析师通过一个类型为MCP的工具查询设备和IP历史记录。时间分析师提取账户的速度基线。外部情报分析师查询联盟风险信息。撰写者根据FinCEN的5W+H结构合成一份准备提交SAR的叙事。对抗性法官在人工看到草稿之前,会将草稿中的每一个声明与原始证据账本进行交叉核对。人工操作员进行确认。
在生产环境中,每个代理都是一个LLM调用,每个MCP工具都是一个针对真实后端的类型化JSON-RPC客户端,而法官的审核会生成自己的审计轨迹。该轨迹是对每个声明的文档化、独立审查,这正是模型风险指导所期望的验证证据模型。基准存储库中包含了这个编排的stdlib-only草图,大约200行代码,因此其结构在不启动真实LangGraph运行时的情况下也是可读的。
法官:在人工看到之前捕捉幻觉
冷路径中最重要的代理不是撰写者,而是法官。
# scripts/cold_path_demo.py(精简版)
def judge(draft, evidence, alert):
issues = []
evidence_dict = evidence.as_dict()
for claim in draft.claims:
resolved = _resolve(evidence_dict, claim.source_key)
if resolved is None:
issues.append(f"unresolved source_key {claim.source_key!r}")
continue
if not _claim_cites_value(claim.text, resolved):
issues.append(f"claim does not cite {resolved!r} from {claim.source_key!r}")
return JudgeVerdict(approved=len(issues) == 0, issues=issues)起草者生成一个叙述以及一个结构化的 Claim 对象列表。每个声明都带有类似 geo.distance_km 或 external.consortium_risk 的点分源键,该源键可以解析为监督者生成的证据账本。法官会检查每一个声明,查找对应的值,并在以下两种情况之一发生时拒绝批准:要么源键引用了从未收集到的证据,要么声明文本没有实际引用它声称来源的值。
基准测试的测试套件植入了两种类型的幻觉,并验证法官能够识别并阻止这两种情况。第一种是未解析的源键。声明引用了 external.offshore_bank_flag,但在证据字典中不存在该字段。第二种是数值偏差。声明的源键虽然解析正确,但文本却编造了一个数值(例如,声明为“99 公里”,而解析后的实际值是 7,843 公里)。这两种情况都会被阻止。起草者和法官之间的审议日志本身也是模型风险检查员所关注的独立审查的可发现证据。
这是将“代理作为法官”的模式转化为一个受监管的工作流程。该模式具有通用性,适用于任何需要生成结构化输出的冷路径代理,这些输出可能会被检查员后续审计。在这里,该模式尤为重要,因为替代方案是要求分析师手动验证每一份由大型语言模型起草的 SAR 文件中的每一行。目前,起草 SAR 文件需要分析师花费数小时甚至数天的时间。通过法官验证的代理流程可以显著缩短这一过程,而法官正是使这一压缩过程安全的关键部分。
我在最初犯的错误
当我开始这个基准测试时,我假设对热路径代理的主要批评将集中在成本上。但结果证明,延迟和可重复性才是更大的结构性问题,而且它们的问题更大,因为它们不像成本那样容易改变。
成本是一个可以改变的数字。2022 年,使用前沿模型处理一百万输入令牌的成本约为 30 美元。到 2026 年,使用类似前沿模型的成本大约为 4 美元。在本十年结束之前,成本可能再减少两个数量级。基准测试中的差距将缩小,但不会消失,因为 batch=1 的限制抵消了大部分 GPU 经济性,但差距确实会缩小。
延迟虽然更难改变,但并非不可能。推测性解码、Medusa 头、专家混合剪枝以及专用的推理加速器都在减少首次生成令牌所需的时间。在几年内,想象一下一个专用芯片可以在 30 毫秒内运行一个小型蒸馏欺诈专用模型,这是可能的。
在主流托管和高吞吐量推理中,可重复性是最难改变的三个问题之一。这是 GPU 算术在裸机级别如何工作以及其上层软件堆栈的属性。Thinking Machines Lab 的研究表明,通过确定性内核、固定的批处理顺序和受限的集合操作,可以解决这个问题。这些修复措施确实会带来实际的吞吐量成本,没有托管 API 提供商默认提供这些功能,而你自己在本地运行这些功能则会显著削弱你购买 GPU 所获得的计算效率。
监管环境比单纯的禁止要复杂得多。当美国跨机构模型风险指引在2026年4月修订(SR 26-2)时,它明确将生成式和自主式AI排除在适用范围之外,理由是它们“新颖且发展迅速”。这并不是一个绿灯。这意味着目前还没有一套明确的监管方法,用于验证对客户决策有影响的非确定性模型。一个将大语言模型(LLM)部署在授权关键路径上的机构,实际上是在监管审查人员之前采取行动,但仍然需要向他们提供与树模型相同、而LLM无法提供的答案。解释这种下降。重现这个评分。展示验证证据。欧盟人工智能法案也指出了同样的方向,将信用评分归类为高风险的人工智能使用场景,但对欺诈检测有特别的豁免。在这两种监管框架中,可重复、可独立审查的模型行为是一条贯穿始终的原则。
我的预测,姑且这么说。随着LLM推理的延迟和成本持续改善,基于这些因素的授权路径论点将逐年变弱。可重复性论点才是持久的。在受监管的工作流程中,将一个非确定性评分器置于客户影响决策的前面,很难进行辩护。不是因为有一条单一规则禁止它,而是因为整个模型风险监管框架都围绕着重复和独立挑战模型输出而构建,而这一点是非确定性模型无法提供的。指引将继续演变,以涵盖生成式和自主式系统。可重复性仍然是它提出的问题。
如果你面临这个决策,该怎么做
将确定性评分器保留在关键路径上。使用XGBoost、LightGBM或CatBoost在表格特征上训练,并通过在线特征存储进行服务。将你的p99指标与一个硬性预算进行对比。如果预算成为问题,先投资ONNX Runtime或C++推理服务,而不是其他任何东西。
将边缘情况路由到冷路径。将队列设计为架构中的一等组成部分,而不是一个事后考虑。假设有1%到5%的授权最终会进入这里。
从第一天起就围绕代理构建冷路径。使用具有MCP工具的主管加专家的组合,可以提供可组合的证据收集。在任何事情到达人类之前,添加一个代理作为法官的检查步骤。
将SAR叙述生成视为最高价值的首次部署目标。它能节省每案件数小时的分析师时间,格式明确,监管机构对可接受输出的标准也明确。
不要将冷路径代理连接到热路径决策中。挑战标志是一个队列消息,而不是回调。保持授权层在物理上独立。
对法官检查步骤进行监控。审议日志是独立审查的可发现证据,而且保存成本低廉。
如果你想在本文中重新运行这些数字,代码库位于github.com/sandeepmb/fraud-agents-benchmark。只需两个命令:python scripts/run_benchmark.py 和 python scripts/generate_diagrams.py,就可以在不到一分钟的时间内,在笔记本电脑上重现所有图表。冷路径编排的草图在scripts/cold_path_demo.py中。64个测试涵盖了数据生成器、快速评分器、基准测试框架、图表和法官模块。在你自己的硬件上,差距看起来会类似。
所有图表均由作者创建。四个数据图表由链接的基准仓库中的 scripts/generate_diagrams.py 脚本生成;架构图由作者在 Figma 中设计。
撰写者
查看 Sandeep Bharadwaj Mannapur 的所有文章
编辑推荐
,
金融科技
欺诈检测
LLM 代理
MLOps
分享本文
- 在 Facebook 上分享
- 在 LinkedIn 上分享
- 在 X 上分享
Towards Data Science 是一个社区出版物。提交您的见解,以触达全球受众,并通过 TDS 作者支付计划获得报酬。
将 href 更新为您的实际提交 URL
为 TDS 撰写文章
✦ 结束 CTA ✦