为不可靠的大语言模型注入可靠性

本文探讨了如何通过输入输出过滤、可观测性和确定性执行等技术手段,在保持大语言模型创造力的同时提高其可靠性,使其更适合企业级应用场景。

为不可靠的大语言模型注入可靠性

大语言模型(LLM)本质上具有非确定性特征。以下是让生成式AI工作流增加确定性的方法。

随着生成式AI技术更深地融入软件产品和业务流程,这些系统和流程也开始继承LLM的特性:可靠性降低、非确定性增强,甚至偶尔出现错误。LLM的非确定性意味着相同输入会得到不同输出。当使用推理模型和AI代理时,早期错误会在后续步骤中不断累积。

“任何概率模型都难免出错,“LinearB首席运营官Dan Lines表示,“缺乏完善世界模型所导致的不一致性,将始终存在于我们使用的各类系统中。”

这种非确定性是LLM的特性而非缺陷。我们期望它们成为"造梦机器”,创造新颖惊喜的内容。本质上它们就是不稳定的——相同提示输入十次会得到十个不同回答,每个回答都带着统计学赋予的自信。当这些创新内容与事实相悖时,就形成了错误。而现有技术很难追溯LLM出错的根源。

在企业级软件领域,这是不可接受的。付费客户需要可靠结果,需要系统能优雅处理故障,避免重复扣款或矛盾输出,需要可审计的执行轨迹和明确的故障分析。

“预测系统行为变得异常困难,“Jetify CEO Daniel Loreto指出,“必须借助特定工具和流程确保系统按预期运行。“本文将介绍几种可能为生成式AI工作流增加确定性的技术方案。

输入输出过滤

企业级应用的成功建立在信任基础上。对生成式AI流程而言,准确性是关键挑战。“真正成功的应用往往容错空间较大,“Sonar CEO Tariq Shaukat举例,“银行系统出现幻觉错误的影响远高于儿童网页应用。”

常规解决方案是通过检索增强生成(RAG)将回答锚定在事实上。但即使RAG系统也可能产生幻觉。“即使经过锚定,每20个token中仍可能有1个完全错误或偏离主题,“Vectara CEO Amr Awadallah透露,“Google Gemini 2.0将幻觉率降至0.8%已是突破,但我们可能最终会停滞在0.5%的水平。”

需要为提示和响应设置额外防护栏。由于LLM能接受任意文本输入并返回训练数据范围内的任何内容,当训练数据包含海量互联网信息时,模型可能输出危险内容。虽然可以通过微调过滤有害响应或去除个人身份信息(PII),但总有意外情况。

“需要保护模型免遭越狱等行为攻击,“IBM watsonx.ai产品负责人Maryam Ashoori强调,“在数据传入LLM前就设置输入防护栏,输出端同样需要过滤仇恨言论、污秽内容和个人信息。但过度过滤会导致模型无法输出有效内容。”

提示端过滤是防御,输出端过滤则是预防事故。即使提示没有恶意,返回数据仍可能有害。“从LLM返回时需要进行数据过滤、防泄漏和掩码控制,“Solo.io产品负责人Keith Babo举例,“当询问’关于Ben的三个趣事’时,模型可能出于’帮助’目的返回社保号码。”

引入代理后情况更复杂。能使用工具的代理一旦产生幻觉,就可能执行实际影响用户的动作。“我们需要确保代理在既定轨道运行,“Salesforce开发者关系副总裁Christophe Coenraets表示,“防护栏可以定义代理的行为边界,从基础的问题类型限制到深度的行为约束。”

某种程度上,代理展示了降低LLM非确定性的方法:限制其能力范围。“如何确保代理高度可靠?“Orkes CEO Jeu George反问,“发送邮件或通知等操作本质是确定性的。应该精选LLM最适合的任务类型。”

新型机器的可观测性

传统计算的可观测性关注日志、指标和堆栈追踪等要素。但对LLM来说,情况更复杂。“我们不得不实时重建大量工具,“Alembic CTO Abby Kearns坦言,“这令人困惑。”

除标准软件指标外,实时获取等效性能指标颇具挑战。虽然可以通过Hugging Face等平台的排行榜获取幻觉率、事实一致性、偏见和毒性等聚合指标,但这些数据对实时场景帮助有限。此时就需要LLM版的日志系统。

“需要建立记录系统,“Loreto建议,“追踪每个会话的用户输入、系统生成的实际提示、LLM响应等完整链条,形成分析数据流和步骤的习惯。”

也可以采用"LLM作为裁判"的方法,用其他LLM评估输出来生成指标。虽然这像让学生自己批改考卷,但通过多模型协作能提高输出可靠性。“多个智能体交互会产生更高级的智能,“Alexi CEO Mark Doble比喻道,“这正是当前多代理系统的发展方向。”

虽然思维链方法能提升LLM内部工作的可见性,但幻觉等错误也会随之放大。尽管Anthropic等机构已开展LLM思维解读的研究,这一过程仍然不透明。“目前大量资源投入输出测试,“Holistic AI转型负责人Raj Patel指出,“只要对输出满意就能投入生产吗?”

非确定性API的确定性执行

生成式AI最有趣的特性是能产生无限惊喜,但当企业需要可靠结果时,这种特性就变成噩梦。大多数企业软件依赖确定性执行,因此AI工作流的确定性越强越好。

生成式AI工作流日益依赖API和外部服务,而这些服务本身可能不可靠。工作流中途失败意味着重新运行提示可能得到完全不同的响应。“AI的非确定性使得停机成本更高,“DBOS CEO Jeremy Edberg解释,“我们需要清理海量数据才能使用AI流程。”

这些工作流中的故障比传统面向服务架构更昂贵。生成式API调用按发送/接收的token计费,失败即意味着金钱损失。代理和思维链过程可能调用网络数据进行推理时处理,此时故障会支付费用却得不到结果。

可以采用持久化执行技术保存工作流进度。“这是应用的检查点机制,“DBOS联合创始人Qian Li说明,“每次工作流启动都创建数据库记录,执行每个步骤前检查是否已完成,避免重复操作。通过数据库记录和状态检查点,可以确保所有调用精确执行一次。”

另一种增加确定性的方法是避免滥用LLM。当前代理架构流行的原因之一,就是它明确将非确定性工具使用作为生成式AI功能的一部分。“代理流程中存在大量确定性环节,“George强调,“已有API能实现的功能就不需要代理处理。”

可靠的梦想

在生成式AI普及的时代,可以通过标准化流程缓解LLM的非确定性:过滤输入输出、增强过程可观测性、确保流程精确执行一次。生成式AI系统虽然强大,但带来了复杂性和风险。

对个人程序可以容忍非确定性,但企业级软件不行。最终,软件能否兑现承诺将决定企业声誉。当潜在客户比较同类产品时,声誉成为决定性因素。“信任需要数年建立,瞬间就能崩塌,“Patel总结道,“而重建需要付出巨大代价。”

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计