跳到主要内容

702 篇博文 含有标签「llm」

查看所有标签

为什么 LLM 在分析你的产品数据时会犯自信的错误

· 阅读需 12 分钟
Tian Pan
Software Engineer

产品团队已经开始直接将分析问题路由给 LLM:“是什么导致了流失率激增?”“为什么重新设计后转化率下降了?”“我们应该把留存预算重点花在哪个群体上?”输出结果出现在高管汇报幻灯片中,驱动着路线图决策,并向投资者展示。模型以优雅的文字和具体的数字自信地作答。然而,这些答案中有很大一部分是以一种不易察觉的方式出错的。

这并不是对用 LLM 处理数据工作的全面批评。在某些任务中,它们确实很有帮助。问题在于其失败模式是隐形的——模型不会留有余地,不会说明局限性,也不会区分“我是根据你的数据计算出来的”和“我生成了一个听起来像这个数字应该是多少的东西”。了解故障发生位置的从业者可以捕捉到真正的价值并避开雷区。

LLM 服务商故障手册:当 AI 基础设施宕机时如何保持服务在线

· 阅读需 13 分钟
Tian Pan
Software Engineer

2024 年 12 月,OpenAI 整个平台宕机超过四个小时。一项新部署的遥测服务配置错误,导致大规模集群中的每个节点同时猛攻 Kubernetes API。DNS 崩溃,控制平面瘫痪,所有服务随之倒下。恢复耗时如此之久,部分原因在于团队缺乏他们后来所说的"破防工具"——那些在常规流程失效时可以立即调用的预建应急机制。

如果那天你正在运营一款 AI 驱动的产品,你必须在压力下快速做出决策。多服务商路由?优雅降级?缓存响应?还是只能祈祷,然后挂出一个状态页面?

这就是你应该在那个电话打来之前就已经写好的应急手册。

LLM 速率限制是一个分布式系统问题

· 阅读需 14 分钟
Tian Pan
Software Engineer

你的 AI 产品有两个功能面:一个面向用户的聊天功能和一个后台报告生成任务。两者在同一个 Key 下调用同一个 LLM API。一个下午,你收到了一张工单:“聊天回复在中途被截断了。”没有触发任何警报。日志中也没有 429 错误。API 在整个过程中一直返回 HTTP 200。

发生了什么:报告生成任务逐渐消耗了你大部分的共享 Token 配额。聊天请求虽然能完成,但仅达到了你的 max_tokens 限制——在语义上被截断,在语法上有效,却在无声无息中出错了。你的标准监控从未察觉到这一点,因为在 HTTP 层面上没有任何异常。

这并不是一种边缘情况。当工程师将 LLM 速率限制视为简单的节流问题,而不是意识到它们实际上属于分布式系统失效类别时,就会发生这种情况。

LLM 供应商锁定的隐性迁移成本

· 阅读需 12 分钟
Tian Pan
Software Engineer

大多数工程团队认为自己已经对 LLM 供应商锁定做了充分防护:用 LiteLLM 统一 API 调用、避免在托管平台上做微调、把原始数据存在自己的存储里。他们感到安全。然后某天提供商宣布弃用某模型,或竞争对手降价 40%,团队才发现,自己搭建的抽象层大概只处理了约 20% 的实际迁移成本。

另外 80% 藏在没人仔细看过的地方:围绕模型格式怪癖写成的系统提示词、按照某个模型的拒绝阈值校准的评估套件、一旦换模型就会失效的嵌入索引,以及建立在某种行为模式上却根本无法迁移的用户预期。

压缩决策:延迟敏感型 AI 功能的量化、蒸馏与端侧推理

· 阅读需 11 分钟
Tian Pan
Software Engineer

模型路由是大多数团队首先采用的优化手段:将简单查询路由到小型廉价模型,复杂查询路由到大型强力模型。它在控制成本和吞吐量方面效果良好。但当云端推理的物理限制与 100ms 以内的延迟需求发生碰撞时,路由便无能为力了。从中间层数据中心发出的一次网络往返,在生成第一个 token 之前就已消耗 30–80ms。此时路由毫无意义——你要么需要将模型运行得更靠近用户,要么需要运行一个规模大幅缩减的模型。这两条路都需要压缩决策,而大多数团队对此并没有清晰的框架。

本文是一份做出这些决策的指南。量化、知识蒸馏和端侧部署这三种技术解决的问题有所重叠,但它们的成本结构、质量表现和运营影响各不相同。

多区域 LLM 服务:没人警告过你的缓存局部性问题

· 阅读需 12 分钟
Tian Pan
Software Engineer

当你在多个区域运行无状态 HTTP API 时,路由问题基本上已经解决了。在前面放一个全球负载均衡器,按地理位置分配请求,最糟糕的情况也不过是缓存项稍微过时。任何副本都可以处理任何请求,并获得相同的结果。

LLM 推理打破了每一个假设。一旦你添加了提示词缓存(Prompt Caching)——你肯定会加,因为缓存命中和未命中的成本差异大约是 10 倍——你的服务就会以大多数基础设施团队预料不到的方式变得有状态,直到他们在第二个区域看到延迟数据退化。

多租户 LLM 问题:规模化部署中的嘈杂邻居、隔离与公平性

· 阅读需 13 分钟
Tian Pan
Software Engineer

你的 SaaS 产品以十个设计客户的规模上线,一切运转完美。随后你陆续接入了一百个租户,其中一个——一位在复杂研究工作流中使用 20 万 token 上下文窗口的重度用户——导致了所有其他客户的延迟飙升。支持工单开始涌来。你查看监控面板,却看不到任何明显异常:模型健康,API 返回 200,p50 延迟看起来正常。而你的 p95 已经悄悄翻了三倍。

这就是嘈杂邻居问题,它对 LLM 基础设施的冲击比几乎任何其他共享系统都要剧烈。以下是它为何比数据库场景更难解决——以及真正有效的应对方案。

多轮对话会话状态坍缩问题

· 阅读需 12 分钟
Tian Pan
Software Engineer

你的单次请求错误率看起来很正常。延迟在 SLO 范围内。LLM 裁判对输出的评分是 87%。接着,一位用户提交了支持工单:“我把账号告诉了机器人三次,它却一直重复问我。”另一位用户说:“它先是同意退款,两轮对话后又否认该政策的存在。”

单轮失败是显而易见的。请求进来,模型出现幻觉或拒绝回答,你的评估 (eval) 捕捉到了它,然后你修复提示词。反馈循环很紧密。多轮失败则完全不同:会话开始时表现良好,随后逐轮恶化,而你的监控从未报警,因为每个单独的回复在技术上都是连贯的。问题出在整个会话上——而几乎没有团队为此建立观测机制。

对主要前沿模型(Claude 3.7 Sonnet、GPT-4.1、Gemini 2.5 Pro)的研究显示,从单轮转向多轮对话时,平均性能会下降 39%。这个数字掩盖了真相:只有大约 16% 的下降是由于能力损失。另外 23 个百分点则是一场可靠性危机——随着对话长度增加,模型在同一任务上的最佳表现与最差表现之间的差距翻了一番。你得到的不仅是质量更差的输出,还有极不稳定的输出。

没人会写的 AI 系统 On-Call 运维手册

· 阅读需 12 分钟
Tian Pan
Software Engineer

你的 p99 延迟刚刚飙升到了 12 秒。警报在凌晨 3:14 响起。你打开运维手册 (runbook),看到如下指令:检查数据库连接池、验证负载均衡器、重启服务。你三样都做了。延迟依然居高不下。服务并没有宕机——它正在运行且有响应。但有些地方不对劲。事实证明,由于最近的一次提示词 (prompt) 变更无意中开启了“啰嗦”模式,模型生成的响应比平时长了三倍。运维手册里没有关于这一条的说明。

这是工程团队尚未准备好应对的新一类值班事故:系统正在运行,但模型表现异常。传统的 SRE 运维手册假设的是二进制的故障状态。AI 系统是以概率方式失效的,其症状看起来不像停机,而更像“漂移”(drift)。

端侧 LLM 推理:何时将 AI 迁出云端

· 阅读需 14 分钟
Tian Pan
Software Engineer

大多数团队只有在亲身碰壁后,才会发现云端运行 AI 推理的棘手之处:追溯到个人健康信息(PHI)跨越 API 边界的 HIPAA 审计;在预发布环境中表现良好,直到处于不稳定连接环境下的用户反馈“一直在转圈”的延迟数据;或者是每天 10,000 次请求时看似合理,但在 1,000 万次请求时却变成灾难的单次推理 API 账单。设备端推理通常是正确的答案 —— 但团队选择它的原因以及他们遇到的问题,很少与博客文章对比中提到的相同。

这是一个关于该决策的实用指南:本地执行何时优于云端 API、哪些小模型真正具备交付能力,以及在基准测试演示结束后,部署生命周期是什么样的。

产品工程师必读的训练后对齐:RLHF、DPO 和 RLAIF 对你究竟意味着什么

· 阅读需 13 分钟
Tian Pan
Software Engineer

大多数构建 AI 功能的团队认为,一旦产品发布,用户反馈就会成为后续可以利用的资源。记录点赞和点踩信号,积累足够的量,最终进行微调。现实情况更为棘手:一年的反应记录并不等同于一年的对齐质量训练数据。这两者之间的差距,正是对齐技术——RLHF、DPO、RLAIF——要么拯救你,要么令你措手不及的地方。

这篇文章不是对对齐研究的综述。它是一份面向工程师的决策指南,旨在帮助你从数据收集的角度理解这些技术的需求,从而确保你今天部署的埋点确实能够支持你计划在六个月后进行的微调。

预训练的阴影:你的微调计划忽视的隐性约束

· 阅读需 10 分钟
Tian Pan
Software Engineer

你的团队花了三个迭代周期标注了5万条领域样本。你在前沿模型上运行了LoRA微调。评估指标提升了。然后一位同事稍微改变了提示词的措辞,模型又回到了你以为已经抑制的行为。这不是数据集问题——这就是预训练的阴影。

实践者不断重新发现的核心洞察是:微调教会模型如何在新语境中说话,但无法改写模型根本知识或倾向。在预训练期间编码的行为、偏见和事实先验是一个引力场——微调只能在其周围轨道运行,很难真正逃脱。