跳到主要内容

21 篇博文 含有标签「data-engineering」

查看所有标签

AI数据版本控制:团队发现得太晚的数据集-模型耦合问题

· 阅读需 10 分钟
Tian Pan
Software Engineer

你的模型精度在某个夜晚突然下降了8%。模型代码没有任何改动,没有发生任何部署,评估套件是绿色的。于是你花了一周时间调整超参数、修改提示词、对比检查点损失——最终有人注意到,三天前特征流水线里落地了一次Schema迁移。一个字段从NULL改成了空字符串。就这样,就是这个变化导致了回退。

这是生产ML系统中最常见的故障模式,与模型质量几乎毫无关系。问题的根源在于大多数团队被坑过之后才会补上的一个结构性缺口:数据版本和模型版本紧密耦合,但它们由不同的工具追踪、归属于不同的团队

大规模代理式网页数据提取:当智能体取代爬虫时

· 阅读需 12 分钟
Tian Pan
Software Engineer

这个 Demo 只需 20 分钟就能构建完成。你粘贴一个 URL,大语言模型(LLM)读取 HTML,结构化数据就从另一端输出了。这感觉就像网页数据提取的未来已经到来。

然后,你以每小时 1,000 页的速度运行它。成本飙升,屏蔽不断积累,提取出的字段开始以一种看起来不像错误的方式发生偏移——它们看起来像正常数据,直到你的下游流水线已经默默地摄取了三周的垃圾。“LLM 读取页面”的模式并没有错,只是它的定价更适合原型的吞吐量。

智能体(Agentic)网页提取确实解决了传统爬虫无法解决的问题。但要将其扩展到概念验证(PoC)阶段之后,需要理解一组与大多数团队预期不同的故障模式。

标注人力工程:你的标注员就是生产基础设施

· 阅读需 12 分钟
Tian Pan
Software Engineer

你的模型表现不佳,于是你开始深入审查训练数据。审查到一半时,你发现两位标注员对同一个边界案例给出了截然相反的标签——而两人都在遵循规范,因为规范本身存在歧义。你修正了规范,重新标注了受影响的样本,重新训练,找回了几个 F1 分数点。两个月后,同样的事情又发生了,只是换了一位标注员和另一个边界案例。

这不是标注供应商的问题,也不是数据质量工具的问题。这是一个基础设施问题——而你还没有把它当作基础设施问题来对待。

大多数工程团队处理标注的方式,就像处理会议室预订系统一样:采购工具、编写规范、雇几名外包人员、交付数据。当你只需要一次性标注数据集时,这套模式还算管用。但一旦标注成为持续驱动线上生产模型的活动——对于几乎所有从原型走向生产的团队而言,这已经是常态——这套模式就会彻底崩溃。

当大语言模型(LLM)在数据归一化方面超越基于规则的系统时(以及何时无法超越)

· 阅读需 14 分钟
Tian Pan
Software Engineer

我认识的一个团队花了三个月时间构建了一个基于规则的地址标准化器。它处理了最常见的 20 种格式,使用 USPS API 进行验证,并且在他们见过的数据上表现出色。然后他们迎来了一个新的企业客户。第一周的数据中,地址被嵌入在自由格式的备注字段里,邮政编码缺少国家前缀,还有他们的规则从未见过的跨境格式。这个标准化器在 31% 的记录上发生了静默失败。他们尝试用 LLM 作为一个快速修复方案,预期准确率为 80%,结果得到了 94%。令人惊讶的不是 LLM 奏效了 —— 而是他们的评估框架中没有任何指标预见到了这一点。

这就是问题的现状。基于规则的标准化是可预测的、快速且廉价的。当数据分布在预设范围内时,它表现良好。LLM 处理的是长尾部分 —— 那些奇怪的格式、隐含的领域知识以及规则永远无法穷举的边缘情况。但 LLM 也很昂贵、缓慢且不稳定,如果你不小心,它们会破坏生产流水线。对于几乎每个团队来说,正确的答案是采用混合方案,在各自擅长的输入上分别使用这两种方法。

LLM 作为 ETL 原语:AI 不仅是产品功能,更是数据管道的核心

· 阅读需 12 分钟
Tian Pan
Software Engineer

典型的 AI 叙事往往是这样的:你构建一个产品,添加一个 AI 功能,用户就能获得更智能的输出。这种框架虽然正确,但并不完整。更持久的优势根本不在产品层,而是在其底层运行的数据流水线中。

越来越多的工程团队悄然将 ETL 流水线中的正则规则、自定义分类器和手写解析器替换为 LLM 调用。结果是:流水线可以处理非结构化输入,适应模式偏移(schema drift),并对数千个类别的记录进行分类——而无需为每一个新的边缘情况重新训练模型。大规模运行这种模式的团队正在构建具有复利效应的数据资产。而那些仍将 LLM 纯粹视为产品功能的团队则不然。

大规模语料库策展:为什么你的 RAG 质量上限取决于你的文档质量下限

· 阅读需 12 分钟
Tian Pan
Software Engineer

在大多数 RAG 架构中都存在这样一种信念:如果检索返回了正确的区块(chunks),LLM 就会生成正确的答案。团队在嵌入模型选择、混合检索策略和重排序流水线方面投入了巨资。然而,在部署到生产环境三个月后,回答质量悄然下降——这不是因为模型变了,也不是因为查询模式发生了剧变,而是因为底层的语料库腐烂了。

企业级 RAG 的实施失败率约为 40%,而从业者最容易低估的失败模式既不是幻觉,也不是检索召回率低,而是文档质量。一项分析发现,通过引入文档质量评分,一个实施方案在不改变嵌入模型或检索算法的情况下,将搜索准确率从 62% 提高到了 89%。语料库是唯一的变量。语料库一直都是变量。

你的 Embedding 流水线是关键基础设施——请像对待主数据库一样对待它

· 阅读需 11 分钟
Tian Pan
Software Engineer

大多数团队把 embedding 生成当作一次性的 ETL 任务:跑一个脚本、填充向量数据库、然后就不管了。这在演示中行得通,在生产环境中却是慢动作式的灾难。你的向量索引不是一个静态的产物——它是一条持续运行的流水线,有自己的故障模式、数据新鲜度保证和运维手册。与主数据库不同的是,它出问题时没有任何异常会被抛出。系统照样返回结果,只是这些结果悄悄地、自信地错了。

如果你在运行一个检索增强生成(RAG)系统、语义搜索功能,或任何依赖 embedding 的产品,你的向量索引值得获得与 PostgreSQL 集群同等的严谨对待。以下是大多数团队在这件事上犯错的原因,以及生产级 embedding 基础设施究竟应该是什么样子。

不会崩溃的合成数据管道:大规模生成训练数据

· 阅读需 10 分钟
Tian Pan
Software Engineer

用模型自身的输出训练模型,再用该模型的输出训练下一个模型,三代之内你就构建了一台逐渐变笨的机器。这就是模型崩溃——一个退化过程,其中每一代合成训练数据都会缩窄分布,直到模型遗忘罕见但重要的长尾模式。Nature 上的一项里程碑式研究证实了从业者的经验观察:即使微小比例的合成数据污染(低至千分之一的样本)也会引发词汇、句法和语义多样性的可测量退化。

然而合成数据并非可选项。真实世界的标注数据昂贵且在专业领域稀缺,在前沿模型所需的规模下日益枯竭。2025-2026 年成功交付微调模型的团队并非在回避合成数据——他们正在设计管道架构以确保生成过程不会崩溃。一个高效管道与一个自我中毒管道之间的区别在于多样性保持、验证循环以及知道何时该停下来。

RAG 新鲜度问题:过时的 Embedding 是如何悄悄破坏检索质量的

· 阅读需 15 分钟
Tian Pan
Software Engineer

你的 RAG 系统在三个月前上线,检索准确度令人印象深刻。如今,它对用户提问中三分之一的内容都给出了“自信的错误”回答——而你的监控系统完全没有察觉到这种变化。没有错误日志,没有延迟激增。语义相似度得分看起来很正常。但检索到的文档已经过时,而模型却充满了信心地回答,因为检索到的上下文看起来非常权威。

这就是 RAG 的新鲜度问题:语义相似度并不关心时间。一个已弃用的 API 参考文档的 Embedding 得分可能与当前最新的文档一样高。上个季度的政策文档可能会排在更新版本之前被检索到。系统不知道,也无法分辨。大多数团队只有在收到用户投诉后,才发现他们的索引已经过时了数周甚至数月——而到那时,用户已经悄然失去了对系统的信任。