跳到主要内容

720 篇博文 含有标签「llm」

查看所有标签

LLM 升级的金丝雀发布:为什么模型上线与代码部署的失效方式完全不同

· 阅读需 12 分钟
Tian Pan
Software Engineer

你的 CI 通过了。你的评估(evals)看起来没问题。你切换了流量开关,然后继续工作。三天后,一位客户提交了一个工单,称生成的每一份报告都不再包含 summary 字段。你翻阅日志发现,新模型开始稳定地生成 exec_summary —— 这是一个隐蔽的键名重命名,由于你忘记将其添加到发布门禁(rollout gates)中,你的 JSON schema 验证从未捕获到这一点。根本原因是模型升级。检测滞后时间为 72 小时。

这并非假设。在那些拥有复杂应用代码部署流水线,却将 LLM 版本升级视为基本“免费” —— 仅是配置更换而非部署 —— 的公司里,这种情况屡见不鲜。这种思维模型是错误的,由此导致的失败模式极其难以捕捉。

跨语言幻觉:为什么你的大模型在它不擅长的语言中更容易撒谎

· 阅读需 11 分钟
Tian Pan
Software Engineer

你的模型在评测集上得分92%,但说法语的用户却不断抱怨它在胡说八道。这两件事可以同时为真——而它们之间的差距,是多语言AI系统在构建和评测方式上的结构性问题。

LLM在非英语语言中的幻觉率比英语高出15–35%。在斯瓦希里语或约鲁巴语等低资源语言中,针对同样的事实类问题,性能差距可扩大至38个百分点。然而,大多数团队在推出多语言AI功能时,只使用英语评测套件,汇报掩盖问题的聚合基准分数,直到巴黎或孟买的用户开始提交工单才发现问题。

跨语言幻觉问题本质上不是模型质量问题,而是一种测量与架构失误——团队将多语言AI视为"英语AI加上翻译模块"而一再延续这一失误。

Prompt 工程无法突破的数据质量天花板

· 阅读需 12 分钟
Tian Pan
Software Engineer

一家电信公司花了数月时间调优其客服聊天机器人的 Prompt。他们反复迭代系统指令、Few-shot 示例和思维链格式,但幻觉率始终顽固地维持在 50% 以上。后来他们审计了知识库,发现其中充斥着已下线的服务套餐、过时的账单信息,以及相互矛盾的重复政策文件。修复数据之后——而不是修改 Prompt——幻觉率骤降至接近零。Prompt 工程无法解决的问题,三周的数据清理就做到了。

这就是数据质量天花板:当 LLM 系统的输入数据存在噪声、过时或前后矛盾时,会出现一道性能硬墙,任何 Prompt 迭代都无法突破。这是生产环境 AI 最常见的失效模式之一,也是最被系统性低估的一种。撞上这堵墙的团队,往往还在不停拨弄 Prompt 旋钮,而问题的根源其实在上游。

GDPR 的删除难题:为什么你的 LLM 记忆存储是法律风险

· 阅读需 11 分钟
Tian Pan
Software Engineer

大多数构建 RAG 管道的团队对 GDPR 的理解方式是错误的。他们关注推理调用——模型是否生成了 PII?——却忽略了静静地藏在向量数据库中的更严重的风险敞口。每当用户提交一份文档、一张支持工单或一条个人笔记,经过分块、嵌入和索引后,该向量存储在 GDPR 下就成为了个人数据处理器。当用户行使被遗忘权时,"按 ID 删除"并不能解决问题。

被遗忘权不仅仅是从关系型数据库中删除一行数据。由个人数据派生的嵌入向量携带着可恢复的信息:研究表明,句子级嵌入中 40% 的敏感数据可以用简单代码重建,对于较短文本,这一比例高达 70%。派生的表示形式是个人数据,而非经过净化的抽象。GDPR 第 17 条适用于此,监管机构正在密切关注。

黄金数据集衰减问题:当你的评估集成为负担时

· 阅读需 10 分钟
Tian Pan
Software Engineer

大多数团队将他们的黄金评估集(golden eval set)视为宪法——持久、权威且变动成本极高。他们花数周时间挑选案例,请领域专家进行标注,并将其接入 CI。然后,他们就转去忙别的事了。

六个月后,评估套件显示通过率为 87%,但用户却在抱怨输出结果支离破碎。评估指标并没有倒退——它们只是腐化了。该数据集测量的仍然是 10 月份重要的数据。它只是不再测量现在重要的数据。

这就是黄金数据集腐化问题(golden dataset decay problem),它比大多数团队愿意承认的更为普遍。

古德哈特定律现已成为 AI Agent 的难题

· 阅读需 13 分钟
Tian Pan
Software Engineer

当尖端模型在编程基准测试中名列前茅时,人们自然会认为它写出的代码更好。但在最近的评估中,研究人员发现了一些更令人不安的情况:模型正在搜索 Python 调用栈,以便直接从评估分级器中检索预先计算好的正确答案。其他模型修改了计时函数,使低效的代码看起来运行飞快,或者用总是返回完美分数的存根(stubs)替换了评估函数。模型并不是变得更擅长编程了,它们是变得更擅长通过编程测试了。

这就是应用于 AI 的古德哈特定律(Goodhart's Law):当一个指标变成目标时,它就不再是一个好的指标了。这个公式已有 40 多年的历史,但有些情况已经发生了变化。人类会钻系统的漏洞。而 AI 则是在利用它们——以数学化的、穷举的方式,且不知疲倦、没有道德顾虑。而且这种失效模式是不对称的:模型的得分在提高,而其实际效用却在下降。

LLM 流水线中,幂等性是必选项

· 阅读需 12 分钟
Tian Pan
Software Engineer

一个批量推理任务在六分钟后完成。网络在返回响应时发生了抖动。你的重试逻辑开始介入。两分钟后,任务再次完成——而你的账单也翻了一倍。这只是将传统的幂等性思维应用于 LLM 流水线而不根据随机系统进行调整时,所发生的最温和的情况。

大多数生产团队都是通过惨痛的教训才发现这个问题的:本意是为了从瞬时错误中恢复的重试,却触发了第二次付款、发送了重复的电子邮件,或者在数据库中写入了相互矛盾的记录。解决方案不是更好的重试逻辑,而是一个全新的心智模型——当你的核心组件是概率性的时,幂等性究竟意味着什么。

最后一公里可靠性问题:为何 95% 的准确率往往意味着 0% 的可用性

· 阅读需 10 分钟
Tian Pan
Software Engineer

你构建了一个 AI 功能。你跑了评估。你在测试集上看到了 95% 的准确率。你上线了。六周后,用户对它深恶痛绝,你的团队正在悄悄计划回滚。

这就是最后一公里可靠性问题,它很可能是当今生产环境中 AI 功能失败最常见的原因。这与你的模型不好无关,而与平均准确率指标如何掩盖失败分布有关——以及某些失败无论其统计频率如何都会带来高昂代价。

延迟感知差距:为什么3秒的流式响应比1秒的批量响应感觉更快

· 阅读需 12 分钟
Tian Pan
Software Engineer

你的用户没有秒表,他们只有感觉。而这些感觉与时钟现实的偏差,对你构建AI界面的方式至关重要。一个逐字出现、持续三秒的响应,用户普遍感觉比一秒后突然全部出现的批量响应更快——尽管批量系统在客观上更快。这不是非理性的,也不是人类认知的缺陷,而是一种有据可查的感知现象。如果你在构建AI产品时没有考虑这一点,你就是在为错误的指标做优化。

本文将剖析延迟感知背后的心理学、真正预测用户满意度的指标、利用这些感知特性的前端模式,以及何时流式传输会带来比价值更多的复杂性。

模型最确定的时候往往最容易出错:生产中的LLM置信度校准

· 阅读需 10 分钟
Tian Pan
Software Engineer

有一种故障模式会在团队解决了幻觉过滤、输出解析、重试逻辑等较容易的问题之后反复出现:模型给出听起来很自信的错误答案,基于置信度的路由逻辑信任了这些错误答案,系统在生产中悄无声息地出现异常,而评估仪表板看起来一切正常。

这不是提示词问题,而是校准问题,它根植于现代LLM的训练方式之中。

LLM 成本预测:多数团队在上线前都会忽略的估算难题

· 阅读需 11 分钟
Tian Pan
Software Engineer

一个团队发布了一款支持聊天机器人。在测试阶段,每月账单看起来还在可控范围内——工程团队演示期间仅花费了几百美元。上线三周后,发票寄到了:4.7 万美元。没人虚报 Token 数量,也没人算错账。生产环境的工作负载与他们模拟的完全不是一回事。

这种模式在不断重复。团队估算 LLM 成本的方式就像估算数据库查询成本一样——通过测量一个典型的请求并乘以预期访问量。这种思维模型在 LLM 上彻底失效了,因为两个最大的成本驱动因素(输出 Token 长度和工具调用开销)是在推理阶段决定的,其行为在设计阶段无法完全预测。

本文讨论的是如何在发布前进行更好的预测,而不是在账单到期后如何优化。

模型迁移类比数据库迁移:如何在不破坏生产环境的情况下安全切换 LLM 供应商

· 阅读需 12 分钟
Tian Pan
Software Engineer

当你的团队决定从 Claude 3.5 Sonnet 升级到 Claude 3.7,或者从 OpenAI 迁移到自托管的 Llama 部署时,直觉通常是将其视为一次库升级:更改 API 密钥,更新模型名称字符串,进行快速的健全性检查,然后发布。这种直觉是错误的,那些遵循这一做法的团队会在第二周的凌晨 2 点发现原因——当时客服代理开始以完全不同的格式生成响应:技术上有效,语义上却是灾难性的。

切换 LLM 提供商或模型版本在结构上与数据库模式迁移(database schema migration)完全相同。两者都涉及更改系统中应用其余部分具有隐式契约的行为。两者可能在第一天看起来没问题,但在第十天发生灾难性的失败。两者都需要双重运行(dual-running)、金丝雀发布(canary deployment)、回滚标准和迁移方案(migration playbook)——而不是修改配置后发一条 Slack 消息。