跳到主要内容

720 篇博文 含有标签「llm」

查看所有标签

破坏生产级 LLM 系统的分词器盲点

· 阅读需 11 分钟
Tian Pan
Software Engineer

大多数构建 LLM 的工程师最终都会学到一个粗略的换算比例:1 个 Token 大约等于 0.75 个英文单词,因此 4,000 个 Token 的上下文窗口大约可以容纳 3,000 个单词。当你的输入是日常英文文本时,这个数字用于粗略估算还可以。但在其他任何地方,它都是悄无声息地错误——而事实证明,“其他任何地方”涵盖了大多数有趣的生产环境负载。

Token 计算错误不会大声报错。它们表现为与任何账单项目都不匹配的成本超支、上下文窗口悄悄截断了文档的最后几段,或者是多语言流水线在英文测试中表现良好,但在遇到真实流量的第一周就超出了 4 倍预算。当你追溯到 Tokenizer 分词问题时,损失已经造成。

上游数据质量是你 AI Agent 的真实瓶颈

· 阅读需 11 分钟
Tian Pan
Software Engineer

一个团队花了三个月时间为他们的知识智能体(knowledge agent)调优提示词。他们尝试了 GPT-4,接着是 Claude,然后是一个微调模型。他们重写了六次系统提示词,还聘请了一名提示词工程师。智能体却一直在产生幻觉——语气自信、表达流利,但内容是错的。真正的问题最后被发现是向量库中存放了一份 2023 年的 Confluence 导出文件,以及一份充满矛盾、随意的 Slack 归档讨论,两者都在讨论同一话题。模型只是在履行它的职责:综合处理给定的信息。而这些信息本身就是垃圾。

超过 60% 的生产环境 AI 项目失败可以追溯到数据质量、上下文问题或治理失败,而非模型限制。然而,当智能体表现异常时,人们的第一反应几乎总是修改提示词。第二反应是切换模型。第三可能是增加一个重排序器(reranker)。而喂给整个流水线的上游数据库,在浪费了数月工作时间之前,很少会出现在排错清单上。

你的供应商模型卡没有告诉你的事

· 阅读需 11 分钟
Tian Pan
Software Engineer

模型卡会告诉你该模型在 MMLU 上得分 88.7 分。但它不会告诉你:该模型会系统性地将责任归咎于可能性列表中最先出现的技术,导致约 10% 的归因答案在事实正确的情况下语义却是错误的。它不会告诉你:在系统提示中加入"你是一个有帮助的助手",与留空系统提示相比,会降低结构化推理任务的性能。它不会告诉你:在高负载下第 99 百分位延迟是中位数的 4 倍,也不会告诉你:模型在法律和金融查询上的行为,会因你是否包含合规免责声明而发生明显变化。

这些内容都不在模型卡里。你需要将系统部署到生产环境,然后亲眼看着问题出现,才能学到这些。

当处理方案不确定时如何对 AI 功能进行 A/B 测试

· 阅读需 12 分钟
Tian Pan
Software Engineer

你的团队上线了一个基于 LLM 的新功能,进行了为期两周的干净 A/B 测试,并看到了具有统计显著性的提升。你将其全量发布。三周后,留存指标毫无变化,客服工单却在攀升。究竟哪里出了问题?你用教科书式的实验方法去测试了一个不符合教科书假设的处理方案——"处理方案是稳定的"这一前提,在无声无息中已然被打破。

标准 A/B 测试是为确定性或近确定性的处理方案而设计的:按钮颜色变更、参数固定的排序算法、结账流程。而 LLM 功能几乎违反了使经典频率派实验可靠的所有假设。处理方案的方差很高,处理方案本身会因服务商推送模型更新而在实验进行中途发生变化,"成功"难以被清晰量化,而且新鲜感效应足够强烈,足以产生在用户适应后就烟消云散的实验结果。

本文将介绍在这些挑战下使实验仍然有效的调整方法。

AI功能维护悬崖:为何你的AI功能老化速度超乎想象

· 阅读需 10 分钟
Tian Pan
Software Engineer

你发布了一个AI功能,用户喜爱它,然后三个月后,支持收件箱里塞满了困惑的投诉。你的基础设施没有任何改动。代码一模一样。但这个功能悄无声息地变差了。

这就是AI功能维护悬崖:累积的无声退化变成可见故障的那一刻。与传统软件缺陷不同——传统缺陷会用堆栈跟踪和失败请求来宣告自身的存在——AI质量侵蚀返回的是HTTP 200、格式正确的JSON,以及完全错误的答案。你的监控面板是绿色的。你的功能已经坏掉了。

一项涵盖四个行业32个数据集的跨机构研究发现,91%的机器学习模型会在没有主动干预的情况下随时间退化。这不是尾部风险——这是你发布并撒手不管的每一个AI功能的预期结果。

AI 事件响应手册:诊断生产环境中的 LLM 性能退化

· 阅读需 16 分钟
Tian Pan
Software Engineer

2025 年 4 月,一个模型更新覆盖了 1.8 亿用户,并开始系统性地支持糟糕的决策——确认停止精神科药物的计划,以毫无来由的热情赞扬明显糟糕的想法。服务商自身的告警系统未能察觉,而社交媒体上的高级用户(Power users)发现了这一点。回滚花费了三天时间。根本原因是一个奖励信号悄无声息地胜过了阿谀奉承抑制约束(sycophancy-suppression constraint)——这对于现有的所有监控仪表盘和集成测试来说都是不可见的。

这就是摧毁用户对 AI 功能信任的失效模式:不是硬崩溃,不是 500 错误,而是一种标准 SRE 运维手册(Runbooks)在结构上无法察觉的逐渐质量崩塌。你的仪表盘会显示延迟正常、错误率正常、吞吐量正常,而模型却会言之凿凿地给出错误答案。

这才是你的值班轮转真正需要的事件响应手册。

AI 事故应对指南:当你的智能体造成现实世界损害时

· 阅读需 12 分钟
Tian Pan
Software Engineer

你的智能体(agent)刚刚做了一些它不该做的事情。也许它给错误的人发了邮件。也许它执行了本应是读取操作的数据库写入。也许它给出的医疗建议让用户进了医院。你现在正处于一场 AI 事故中——而你一直以来使用的应对软件停机的策略(playbook)对你毫无帮助。

传统的事故应对指南建立在一个基本假设之上:给定相同的输入,系统会产生相同的输出。这个假设让你能够重现故障、二分定位原因并验证修复。但在处理基于自然语言的随机(stochastic)系统时,这些都不适用。同一个提示词(prompt)通过同一个流水线,在不同的运行、供应商、区域和时间下,可能会产生不同的结果。从 2023 年到 2024 年,记录在案的 AI 事故激增了 56%,但大多数组织仍然通过为根本不同的问题类别设计的软件事故流程来处理这些事件。

这就是他们本该编写的应对指南。

AI 输出的版权陷阱:工程师在演变成法律问题前需要了解的知识

· 阅读需 12 分钟
Tian Pan
Software Engineer

当大语言模型在响应用户提示词时逐字复制受版权保护的文本,谁应该承担法律责任 —— 是模型提供商、构建产品的公司,还是输入查询的用户?在 2026 年,法院正在积极研究这一问题,其答案将直接影响你的生产系统。

大多数工程团队已经接受了这样一个基本叙事:“AI 训练可能会侵犯版权,但那是模型提供商的问题。” 这种叙事在两个重要方面是错误的。首先,基于输出的责任 —— 即模型在推理时产生的内容 —— 在很大程度上与训练数据责任是不同的,且在大多数司法管辖区仍是一个悬而未决的法律问题。其次,你认为从 AI 提供商那里获得的合同赔偿可能比你想象的要窄。

本文涵盖了工程团队面临的实际风险敞口:生产环境中的逐字记忆率(verbatim memorization rates)是怎样的,开源许可证污染如何真正在生成的代码中显现,企业级 AI 协议在哪里留下了风险缺口,以及哪些工程控制措施可以在不停止 AI 采用的情况下切实降低责任风险。

标注经济学:每种标签来源背后隐藏的代价

· 阅读需 9 分钟
Tian Pan
Software Engineer

大多数团队在选择标注策略时,都会比较单价:众包工人大约 0.08/条,LLM生成不到0.08/条,LLM 生成不到 0.003/条,人类领域专家约 $1/条。跑一遍表格,选出看起来"足够好"的最便宜选项,然后上线。这套算法经常让团队陷入麻烦。

真正的决策并非只看单条标签的成本。每种标签来源都有一个隐藏的质量税——以垃圾梯度、误导性评估曲线,或花费数月排查生产故障的形式复利叠加;而干净的标签本可以在训练阶段就捕获这些问题。最便宜的来源往往是计入下游信任成本后最昂贵的一种。

基准污染:为什么那个90% MMLU分数并不意味着你想象的那样

· 阅读需 9 分钟
Tian Pan
Software Engineer

当GPT-4在MMLU上得到88%时,感觉是一个里程碑时刻。MMLU——大规模多任务语言理解基准——涵盖从小学数学到专业法律的57个学科。在如此广泛领域达到88%的准确率,看起来是真正广泛智能的有力证据。后来研究人员创建了MMLU-CF,一个无污染变体,替换掉了与已知训练语料库存在可疑相似性的问题。GPT-4o下降到73.4%——差距高达14.6个百分点。

这个差距不是小的舍入误差。它代表的是"在复杂学术问题上可靠正确"与"在见过这道题时可靠正确"之间的区别。对于基于排行榜分数做模型选择决策的团队来说,这意味着购买了一种并不真正存在的能力。

AI 推理的突发容量规划:当黑色星期五遇上你的 KV Cache

· 阅读需 12 分钟
Tian Pan
Software Engineer

黑色星期五的流量峰值来了。传统 API 服务的应对方式是启动更多容器。60 秒之内,你的容量就扩充到三倍。自动扩缩容器做了它一贯的事,你安然入睡。

但如果用同一个自动扩缩容器跑 LLM,结果就大相径庭了。新的 GPU 实例要在四分钟的模型权重加载之后才能上线。等那时候,你的请求队列已经塞满,现有 GPU 在半途生成的请求的内存压力下颠簸挣扎,用户盯着转圈圈的加载动画发呆。增加更多算力没有任何帮助——瓶颈根本不在你以为的地方。

AI 推理负载打破了让响应式自动扩缩容在传统服务中奏效的大多数假设。理解其中的原因,是构建能够扛住流量峰值的系统的前提。

能力激发差距:升级到更新模型为何会破坏你的产品

· 阅读需 10 分钟
Tian Pan
Software Engineer

你升级到了最新模型,结果产品却变差了。不是灾难性的崩溃——新模型在基准测试中得分更高,能处理更难的问题,拒绝的不该拒绝的内容也更少了。但你的产品实际需要的那项能力?退化了。你精心调优的提示现在产出的是模棱两可、过度修饰的输出,而你需要的是明确的断言。你的领域特定格式指令被"贴心地改进"成了通用格式。那种让工作流程可靠运行的严格指令遵从感,现在像是在自动驾驶。

这就是能力激发差距:模型在原则上能做什么与它在生产环境中你的提示下实际做什么之间的鸿沟。而随着每一轮以安全为重点的训练循环,这个差距系统性地扩大。