跳到主要内容

复合 AI 系统:当你的流水线比任何单一模型都更智能

· 阅读需 11 分钟
Tian Pan
Software Engineer

在 AI 工程领域,一直存在一种固有的假设:获得更好输出的路径是更好的模型。更大的上下文窗口、更新的训练数据、更高的基准测试分数。在实践中,交付最强大 AI 产品的团队通常在做一些不同的事情:他们正在构建流水线(pipelines),由多个专门的组件——检索器(retriever)、重排序器(reranker)、分类器(classifier)、代码解释器(code interpreter)以及一个或多个语言模型——协同工作,处理任何单一模型都无法独立可靠完成的任务。

这种架构模式有一个名字——复合 AI 系统(compound AI systems)——它现在是生产级 AI 的主导范式。了解如何正确构建这些系统,以及在构建不当时它们会在哪里失效,是当今应用 AI 工程中最重要的技能之一。

为什么单一模型总会让你触及天花板

复合系统背后的直觉并不复杂。语言模型是一个单一的通用组件。它具有固定的上下文窗口、固定的训练数据、固定的每 token 成本以及固定的延迟特性。对于狭窄且定义明确的任务,通常只需要一次模型调用。但大多数生产任务并非如此狭窄。

考虑一个财务文档问答系统。用户询问有关季度报告的问题。即使拥有大上下文窗口,单次 LLM 调用也会面临一个现实约束:你无法将语料库中的所有文档都塞进一个 prompt 中。因此,你需要检索。但原始嵌入相似度是有噪声的——语义相似的句子并不总是最相关的。因此,你需要重排序。检索到的上下文可能包含结构化表格,LLM 在没有预处理的情况下可能会读错。因此,你需要规范化。最终的答案可能需要追溯到特定的段落以便审计。因此,你需要引用。

在每一步中,你都添加了一个专门的组件,它比处理所有事情的通用模型做得更好。复合系统不仅更快、更便宜,而且在准确性上也优于单体方法。FactSet 报告称,在转向复合检索架构后,公式生成的准确率从 55% 跃升至 85%。微软的 Medprompt 组合了动态少样本检索、自生成思维链以及多轮投票机制,在 MultiMedQA 上达到了 90.6% 的准确率,表现超过了专门针对医学数据进行微调的模型。

这里更深层次的原理是,当任务具有天然的可分解点时,组件专业化优于参数规模。AlphaGeometry 2 通过将语言模型与符号推理引擎相结合,解决了 84% 的国际数学奥林匹克几何题,超过了人类金牌得主的平均表现。没有任何一个基于更多数据训练的单一模型能够弥补这一差距。收益来自于架构组合,而非规模扩张。

接缝处是系统崩溃的地方

当你从单一模型转向复合系统时,你引入了“接缝”:即组件之间的交接点,一个组件的输出成为下一个组件的输入。每个接缝都是一个潜在的故障点,而且接缝处的故障具有一种特性,使它们在生产环境中特别危险:它们通常是无声的。

最常见的接缝故障是格式不匹配。一个组件输出 YAML,下一个组件却期望 JSON。一个组件返回段落列表,下一个组件却假设是单一字符串。这些故障并不总是产生异常——它们会产生微妙的错误输入,并流经流水线的其余部分,生成看起来合理但实际上错误的输出。当退化现象浮出水面时,它已经被每个下游组件放大了。

上下文窗口溢出是另一种相关的故障,它随着流水线复杂度的增加而扩展。检索器返回 50 个段落,重排序器保留前 10 个。每个段落都很长。等到组装 LLM prompt 时,对于一个限制为 100,000 token 的模型,你已经达到了 90,000 token,关键段落被截断了。一个构建材料科学工作流的团队发现,一个简单的流水线在单次工作流运行中消耗了 2,000 万个 token 且失败了。同样的工作流,通过重构为传递内存指针而非完整文档内容,仅使用了 1,234 个 token 并成功运行。组件级逻辑完全相同,但接缝设计不同。

错误传播在深层流水线中的累积方式,在结构上类似于神经网络中的梯度消失。TextGrad(一个用于基于文本的自动微分框架)记录了长链条中信号的指数级退化——流水线后期阶段的反馈在到达早期阶段时已经变得语无伦次。直接借鉴自 ResNets 的修复方法是显式的残差连接(residual connections),它可以在多个跳转中保留信号。

幻觉共识是多智能体复合系统中最隐蔽的故障模式。多个智能体独立处理查询,并收敛到一个虚构的数据点上。因为每个智能体都“同意”,系统会报告高置信度。只有在人类审计输出时才会发现错误——而这通常永远不会发生。这比明显的崩溃更糟糕。崩溃会告诉你出了问题,而幻觉共识会告诉你一切正常。

设计缝隙,而不仅仅是组件

区分成功构建复合系统的团队与挣扎求存的团队的工程准则,在于显式的缝隙设计(Seam Design)。随着更优模型的出现,组件相对容易替换。而一旦缝隙是隐式的,积累的技术债将难以偿还。

加载中…
References:Let's stay in touch and Follow me for more thoughts and updates