跳到正文
Shopify Engineering·· 22 天前精选AI 评分79

Shopify 如何将开源模型训练为任务专家智能体

How Shopify turns open models into task experts

AI 导读

Shopify 公开了电商助手 Sidekick 的子智能体架构,通过后训练开源模型 NVIDIA Nemotron 3.5 Lightning 替代昂贵的前沿模型 API。

推荐理由

Shopify 拆解了将开源模型后训练为子智能体任务专家的工程飞轮,为降低生产环境推理成本与延迟提供了具体参考。

正文 · AI 翻译

Shopify 的电商 AI 助手 Sidekick 基于前沿大模型构建,负责与商家沟通、规划任务并调用工具。针对特定垂类任务,它会将工作交接给子智能体,其中一些子智能体运行的是经过针对性后训练的开源模型。

以 GraphQL 子智能体为例。当商家询问“哪些商品快缺货了?”时,它会查阅 Shopify 的 API 规范、检索文档、编写并执行查询语句,最后返回结果。这项任务极度依赖上下文:子智能体每输出 1 个 token,平均就要先读取约 40 个 token,而调用前沿模型的 API 时,每一个 token 都要计费。

针对这个子智能体,我们通过后训练 NVIDIA Nemotron 3.5 Lightning 打造了一个任务专家模型。在该任务上,它的评测得分略高于前沿模型,响应速度快了 7 倍,推理成本更是降低了约 90%。不仅如此,Shopify 掌握了后训练后的模型权重,因此我们能在自己的 GPU 上部署推理服务,并自主掌控模型的更新节奏。

构建这些模型的闭环正是 Sidekick 的持续学习飞轮,不过我们在硬件层面做了一些针对性优化。

模型优化飞轮:先通过三个初始步骤确立目标,随后随着每批新生产数据的流入不断循环迭代。绿色标签代表 NVIDIA 技术。

每个任务专家模型的训练都会经历相同的步骤:

定义质量基准

产品专家将业务需求转化为评分细则。在 GraphQL 场景下,这涵盖了完整性、执行效果和回复质量。两位专家对同一批对话评估的一致性确立了基准线,随后我们利用 GEPA 和 ACE 优化器对 LLM 评测器进行微调,直到它与留存人工标注的一致性达到同等水平。此后,智能体的每一次变更、每一个候选模型以及每一轮训练,都由该评测器打分。

调优前沿模型智能体

在引入开源模型之前,我们会先将基于前沿模型的智能体能力挖掘到极致。autoresearch 自动化调优循环每次只对提示词、工具描述或控制流提出一项微调,且仅当评测得分提升时才保留改动。这套调优后的智能体,便成了开源模型必须逾越的基准门槛。

选定开源模型

我们不做预训练。我们直接在真实的子智能体环境中测试 NVIDIA Nemotron 等开源模型,配备完全相同的工具与评测器,综合评估初始质量、推理速度以及我们所用训练框架 NVIDIA Megatron Bridge 的支持情况。针对 GraphQL 任务,我们选择了 Nemotron 3.5 Lightning,这是一款混合专家(MoE)模型,总参数量为 300 亿,每个 token 激活其中的 30 亿参数。

优化推理性能

从一开始我们就会评测推理服务性能,因为推理速度太慢而无法上线的模型根本不值得进行后训练。我们使用 NVIDIA AIPerf 来基准测试所有负载。AIPerf 是 NVIDIA Dynamo 中的开源压测工具,它通过合成文本而非客户实际数据来重放生产环境调用轨迹。Shopify 为其贡献了实时响应重放功能,使多轮对话测试能像真实生产环境一样命中服务器的前缀缓存。

这些压测数据指导了我们的推理技术栈选型。在买家画像(Buyer Profile)这类批处理任务中,AIPerf 对比了 vLLM、SGLang 和 NVIDIA TensorRT-LLM,其中 TensorRT-LLM 在单 GPU 上的吞吐量最高。而在 NVIDIA 的实测中,我们的购物模拟器 SimGym 在 Blackwell B200 上的运行速度比 H200 快 4.5 倍,成本降低了 1.48 倍。

将失败用例转化为训练数据

自我修复机制将生产环境中失败的对话转化为训练样本。在 86 次夜间运行中,它成功修复了尝试处理的 69% 失败案例。

每晚,评估模型都会对生产环境的 GraphQL 对话样本进行打分,凡是未达满分的对话都会进入自愈流程。前沿模型在此充当“评审员”,只给出提示线索,绝不直接提供答案;随后,模拟商家会带上这条提示,针对同一家店铺重新发起请求。若重跑通过了评估模型的审核,我们就去掉提示、将对话脱敏,并纳入训练集;若仍未通过,评审员会继续尝试,最多重试三次。

在近期的 86 次夜间运行中,自愈机制成功修复了 59,535 场 GraphQL 对话,修复成功率达 69%。剩下的部分由人工标注员进行修正,这些修正结果也会并入基准真相,用于校准评估模型。

在 Blackwell 上进行后训练

我们利用 NVIDIA Megatron Bridge 进行后训练,无需重写模型,就能将标准的 Hugging Face 权重检查点接入 NVIDIA Megatron Core 训练库;在 Nebius 上扩展到多节点也只需调整配置,不用修改代码。Blackwell 让每一次飞轮循环的成本进一步降低:在针对 Analytics 模型的同一项 FP8 后训练任务中,8 块 B300 GPU 的训练速度比 8 块 H200 快了 1.86 倍,消耗的 GPU 算力时减少了 46%。随后,评估模型对新的检查点打分,飞轮循环再次开启。

Hopper 与 Blackwell 在 Shopify 业务负载下的表现对比。训练部分:在 8 块 GPU 上运行 Analytics 模型的同一 FP8 后训练任务;推理部分:SimGym,基于 NVIDIA 的实测数据。

GraphQL 上的实测结果

Nemotron 3.5 Lightning 经历六轮飞轮循环后的 GraphQL 评估得分,每轮均加入修复后的样本。

在开箱即用的原生状态下,Nemotron 3.5 Lightning 在我们的 GraphQL 评估模型上仅得 37.7 分,而前沿模型得分为 73 分。经过首轮循环,其得分便跃升至 61.5 分;在历经六轮循环、吸收了 61,000 个修复样本后,经后训练的模型得分达到了 74.5 分。

GraphQL 压力测试,使用 AIPerf 回放生产环境流量:单次请求的中位数响应时间、最慢 1% 请求(p99)的响应时间,以及相较于前沿模型的推理服务成本。

经后训练的模型在速度上也大幅领先。在利用 AIPerf 回放生产环境 GraphQL 流量时,经后训练的 Nemotron 返回完整响应的中位数耗时仅为 0.87 秒,而前沿模型 API 则需要 6.50 秒;在最慢的 1% 请求中,其处理速度也快了整整 8 倍。它还击败了另一款参数规模相当的后训练开源模型——后者在中位数耗时上与它相近,但在 p99 上耗时却慢了超过两倍。

在该流量负载下,其推理服务成本比前沿模型低了约 90%。在我们所有的后训练模型中,相比前沿模型的 API 定价,自主托管将推理成本降低了 90% 至 98%。

前沿模型的智能,专用模型的高效

前沿模型依然负责其最擅长的工作:与商家沟通并决定调用哪些接口。而那些高度消耗 Token 的专用任务,则交由我们自有的开源模型处理。飞轮的每一次转动都在形成复利:人工修正让评估模型更敏锐,生产环境流量持续扩充训练集,而 NVIDIA 软硬件的每一次代际升级,又让下一轮循环跑得更快、成本更低。

感谢 NVIDIA 的 Megatron Bridge、AIPerf、TensorRT-LLM 与 Nemotron 团队,CentML 团队(现已并入 NVIDIA),以及 Nebius。本文改编自我们在 NVIDIA GTC Berlin 2026 上的演讲。

来源:Shopify Engineering · shopify.engineering