AI 基建
0%
第零部分 · 入门定位 · 第 4 章

此前的那套基础设施

作者Changkun Ou
阅读时长约 12 分钟

在生成式模型成为一种产品类别之前,机器学习已经广泛用于搜索、广告、推荐、欺诈检测、预测等服务,每天处理大量决策。这些系统逐渐形成了一套成熟做法,包括检索候选、管理特征、部署模型、监测漂移和运行对照实验。

本章把这套工作统称为大规模预测式机器学习。它是生成式技术栈在运营上最接近的前身,不是早期 AI 的完整历史。下面的比较回答三个问题:哪些做法被继承了,哪些必须改变,哪些系统仍不在本书范围内。

一次请求怎样穿过旧技术栈

早期生产系统的规模已经相当可观。在生成式模型大规模建设之前,Facebook 对一座生产数据中心的研究发现,推荐模型占 AI 推断周期的 79% 以上 (Gupta et al. 2020)。另一项研究报告称,推荐任务消耗了公司一半以上的 AI 训练周期 (Acun et al. 2021)。这些数字来自 Facebook 实测的工作负载,并不代表所有数据中心,但它们说明,当时的生产 AI 已经主要用于决定接下来向用户展示什么。

大型推荐系统无法针对每次请求仔细评估目录中的每一个条目。常见的解决办法是设置一个逐步收窄的漏斗:

  1. 候选生成快速把庞大的条目目录缩小到可以处理的集合。
  2. 排序用信息更丰富的模型评估候选集,并排出结果顺序。
  3. 日志与实验记录展示了什么,以及随后发生了什么。

YouTube 2016 年的系统是一个记录详尽的例子:候选模型先把数百万个视频缩小到几百个,排序模型再从中选出几十个用于展示 (Covington et al. 2016)。具体架构因产品而异,但把检索与排序分开的原因没有改变:昂贵的模型只需处理较小的候选集。

用嵌入检索时,第一阶段可以写成一个简单公式。这个式子先用用户嵌入与条目嵌入的相似度打分,再选出分数最高的候选:

ai=euTei,Ck(u)=TopKiI(ai).a_i=e_u^{\mathsf T}e_i, \qquad C_k(u)=\operatorname{TopK}_{i\in\mathcal I}(a_i).

排序模型随后计算:

i^1,,i^m=SortiCk(u)rψ(u,i,zi).\hat{i}_1,\ldots,\hat{i}_m =\operatorname{Sort}_{i\in C_k(u)} r_\psi(u,i,z_i).

这里,uu 表示当前用户或请求,ii 是目录 I\mathcal I 中的一个条目,eu,eiRde_u,e_i\in\mathbb{R}^d 是表示两者的 dd 维学习向量,也就是嵌入。两者的点积 aia_i 是检索分数。Ck(u)C_k(u) 是检索得到的 kk 个候选组成的集合。第二阶段模型 rψr_\psi 的参数为 ψ\psi;它结合请求数据和额外的条目特征 ziz_i,对 mkm\leq k 个结果排序。

对于非常大的目录,逐一计算所有 aia_i 仍然过于昂贵。近似最近邻(ANN)搜索不做穷举评分,而是牺牲一部分检索召回率,换取更低的延迟和内存流量。FAISS 等系统支持十亿级向量的相似度搜索 (Johnson et al. 2021);HNSW 则把向量组织成可以逐层遍历的邻近图,已被广泛用于搜索系统 (Malkov and Yashunin 2020)。

funnels cluster_rec 推荐系统 cluster_rag 检索增强生成 R1 大型条目目录 R2 候选检索 嵌入或关键词索引 R1->R2 R3 排序 更丰富的特征与模型 R2->R3 R4 有序条目 与交互日志 R3->R4 G1 文档切块 G2 检索 嵌入或关键词索引 G1->G2 G3 重排与 上下文构造 G2->G3 G4 生成的回答 与评测信号 G3->G4
图 4.1. 推荐系统与检索增强生成共享逐步收窄的结构。相似之处止于最后一步和反馈信号:前者对条目排序,后者为生成式输出构造上下文。

上图展示的是一种共同的系统结构,并不意味着两者解决的是同一个学习问题。推荐排序模型预测或优化条目的效果;检索增强生成系统则把检索到的证据作为输入,完成开放式生成。检索机制可以沿用,但最终模型、目标和评估方法并不相同。

继承下来的做法

旧技术栈有三个部分成为生成式系统的基础。

领域 成熟的预测式机器学习实践 在生成式系统中的调整
检索 嵌入、关键词索引、近似搜索、混合检索和重排 检索文档片段或工具结果,再为生成模型组装上下文
运营 可复现的数据流水线、带版本的模型制品、输入输出监控、分阶段发布和回滚 把提示词、检索设置、工具模式和模型组合视为一个可部署系统,并统一管理版本
度量 在线对照实验、护栏指标、分群分析和长期结果 把任务评测、安全检查与产品实验结合起来,不把即时偏好反馈当作完整目标

运营方面的继承尤为直接。Google 对隐性技术债的研究表明,生产故障往往来自数据依赖、反馈回路、配置和外围代码,而不只是模型本身 (Sculley et al. 2015)。Uber 后来的 Michelangelo 平台把完整工作流标准化:共享特征定义,确保训练与服务使用一致的转换,并统一管理制品版本、部署和监控 (Hermann and Del Balso 2017)。TensorFlow Serving 则提供带版本的模型加载、请求批处理、受控发布与回滚 (Olston et al. 2017)。生成式应用管理的对象变了,但数据沿袭关系和安全发布的需要没有改变。

度量方法也被继承下来,但必须留意时间跨度。Hohnhold 等人发现,用户以后是否愿意与广告互动,会受到他们此前看到的广告是否相关、落地页质量如何的影响。Google 根据这一长期模型提高了广告竞价对质量的重视,并让移动搜索广告量减少了 50%,长期业务影响保持中性或有所改善 (Hohnhold et al. 2015)。2025 年,OpenAI 回滚了一次变得过分迎合用户的 GPT-4o 更新,并表示此前过于重视短期反馈 (OpenAI 2025)。点击和点赞不是同一种机制。共同教训更窄:即时反馈可能无法代表产品长期真正需要的结果。

离线改进不等于产品改进

Netflix Prize 简洁地说明了为什么生产系统不能只看离线分数。Netflix 于 2006 年发起比赛,悬赏 100 万美元,要求把评分预测准确度提高 10%。2007 年进展奖的 107 个模型组成的集成方案中,有两种算法被纳入服务;后来大奖方案增加的方法并未采用。Netflix 表示,这些方法带来的准确度增益不足以抵偿工程成本,与此同时,产品也已经从预测 DVD 评分转向帮助流媒体观众选择内容 (Amatriain and Basilico 2012)。

这个案例区分了三道部署门槛:

  1. **离线质量:**模型能否改善选定的测试指标?
  2. **系统可行性:**它能否满足成本、延迟、可靠性和维护要求?
  3. **产品价值:**这个指标是否仍能代表产品必须作出的决策?

后面的章节会把同一区分用于基准测试、模型服务和运营评估。更好的离线数字只是证据,不是部署决定。

服务为何发生变化

旧技术栈的运营纪律可以沿用,但它的服务架构不能直接套在生成式系统上。这里比较的是有代表性的工作负载,而不是所有推荐模型和所有语言模型。

维度 以嵌入为主的推荐模型 自回归语言模型
主要算子 读取并汇聚选定的嵌入行,再运行稠密交互层或排序层 预填充阶段并行处理提示词元;解码阶段逐词元反复运行稠密权重和注意力
内存压力 大型嵌入表占用容量,访问不规则,需要分片和带宽;稠密层仍可能受算力限制 小批量解码常受权重带宽限制;长上下文还会增加 KV 缓存容量和流量
请求状态 评分副本通常从共享存储读取用户与会话特征,因此状态位于模型服务器之外 每个活跃生成请求都要保存此前词元的注意力状态,而且通常留在加速器上
输出与延迟 输出固定大小的分数或排序列表,通常受严格的请求时限约束 输出长度可变的序列,延迟分为首词元时间和后续词元的输出节奏
调度后果 独立请求可以自由路由,并使用常规批处理 调度器必须处理请求亲和性或状态迁移、动态缓存内存和不同的序列长度

第一列所代表的模型包括 DLRM。它把稀疏类别嵌入与稠密交互网络结合起来 (Naumov et al. 2019)。哪个部分占主导,取决于模型、批量大小和硬件。第二列也包含两种不同状态:预填充通常有更高的算术强度;小批量或中等批量的解码则经常需要搬运模型权重,却没有足够机会重复使用它们 (Pope et al. 2023)。

逐序列注意力状态把这种服务差异具体化了。它的大小可以近似写成:

MKV2LHKVdhSb.M_{\mathrm{KV}}\approx 2L H_{\mathrm{KV}}d_h S b.

这里,MKVM_{\mathrm{KV}}KV 缓存(key-value cache) 占用的字节数;系数 22 表示键和值;LL 是 Transformer 层数;HKVH_{\mathrm{KV}} 是键值头数量;dhd_h 是每个头的宽度;SS 是已缓存的词元数;bb 是每个元素占用的字节数。每生成一个词元,缓存都会增长。分组查询注意力和多查询注意力可以减小 HKVH_{\mathrm{KV}},但不会消除每个请求独有的状态。

这种增长迫使服务系统采用新的内存和调度机制。PagedAttention 用类似虚拟内存的方式映射不连续的缓存块,从而减少碎片并支持共享 (Kwon et al. 2023)。迭代级调度则可以在两次解码步骤之间加入或移除请求。旧技术栈仍然提供 RPC、负载均衡、批处理、可观测性、分阶段部署和回滚;LLM 服务额外带来了一类不同的状态管理问题。

下层约束

硬件会反映采购时的目标工作负载。针对大型稀疏表和不规则嵌入查询进行平衡的机群也能运行稠密模型,但在大规模自回归解码中不一定经济 (Gupta et al. 2020; Pope et al. 2023)。生成式服务提高了对加速器内存带宽、HBM 容量和紧密互连的需求。这些下层资源的平衡关系会决定服务层可以采用哪些批处理和内存策略。第 62 章第 31 章 将进一步讨论这些问题。

哪些内容仍不在本书范围内

生产机器学习并不是一条所有树模型最终都会被神经网络取代的演进路线。梯度提升决策树在许多表格数据问题上仍然很强;XGBoost 的成功也有一部分来自针对稀疏数据、缓存使用和外存计算的系统优化 (Chen and Guestrin 2016)。2022 年的一项基准研究比较了 45 个经过筛选的中等规模表格数据集,结果显示树模型集成优于受测的深度网络 (Grinsztajn et al. 2022)。

边界正在变化,但现有证据有明确范围。TabPFN 是一个先在合成表格任务上预训练的 Transformer。在作者的评估中,它优于经过调优的树模型基线,但数据集最多 10,000 个样本和 500 个特征 (Hollmann et al. 2025)。论文还指出,超出这些限制后的表现仍需进一步研究;在一个包含 10,000 行数据的例子中,它的单样本推断速度慢于 CatBoost。因此,模型族应按工作负载选择,不是一条进步阶梯。本书追踪生成式模型的生命周期;表格预测、欺诈检测、预测任务和经典学习排序仍是相邻的生产系统,并不是这条生命周期中被省略的章节。

两套技术栈开始合流的地方

推荐系统也在采用生成式方法。TIGER 为每个条目分配一个简短的语义标识符,再训练 Transformer 解码下一个条目的标识符 (Rajput et al. 2023)。在论文评估的序列推荐流水线中,解码取代了近似最近邻查询。但学习得到的码本、标识符到条目的映射和束搜索仍位于模型之外,公开实验并不能证明它已经在网页规模上取代旧方案。

HSTU 提供了更强的生产证据,但只能支持比“漏斗已经消失”更有限的结论。作者报告称,一个 1.5 万亿参数的生成式推荐模型已经部署在某个大型平台的多个产品界面上;某一项披露的在线指标提高 12.4%;而且在跨越三个数量级的训练算力范围内,质量与算力呈现经验幂律关系 (Zhai et al. 2024)。同一篇论文仍然保留多个检索生成器,并在候选集上单独进行排序实验。生成式模型正在替代或增强旧技术栈的一些组件;现有证据还不能证明一种架构可以消除所有阶段。

闭环数据是另一处交汇点。在模拟中,Chaney 等人发现,根据早期推荐产生的互动继续训练,可能增加用户行为的同质性,却不提高效用 (Chaney et al. 2018)。这里的机制很具体:已部署的策略会改变哪些人类互动可以被观察并成为训练数据。这不同于把模型生成的样本放进训练语料,虽然两种情况都要求工程师追问:下一批数据由谁产生,又是在什么策略下产生的?

争议所在

生成式推荐究竟能替代多少“先检索、后排序”的生产漏斗,目前仍不确定。可靠的答案需要在推荐质量、尾部延迟、硬件成本、目录新鲜度、策略执行、删除、可观测性和可靠性方面使用可比证据。TIGER 给出了小型公开领域的研究结果;HSTU 给出了公司在特定产品界面上报告的在线结果。两者都没有确立一种通用架构。现有证据支持的是混合共存,而具体边界很可能取决于目录规模、更新速度和产品约束。

本书其余部分的边界

现在可以总结这组比较,而不必把每一处相似都视为继承关系。

状态 包含的内容
继承 嵌入与关键词检索、制品版本管理、监控、分阶段发布、回滚、对照实验和长期指标
调整 特征流水线扩展为更广义的上下文流水线;检索结果送入生成模型,而不只是排序模型;评估必须覆盖开放式行为
工作负载特有 常驻加速器的 KV 状态、逐词元调度、可变输出长度和生成式安全评估
不在范围内 表格模型、欺诈检测、预测、广告及经典搜索或推荐所构成的更广泛预测式机器学习生命周期

本书其余部分会追踪一种生成式能力怎样从算力和数据出发,经过训练与适配,进入服务、评估、治理和运营。早期预测系统会在提供方法或警示时再次出现,但它们是相邻的基础设施,不是同一个模型生命周期的早期章节。

延伸阅读

  • Amatriain & Basilico, “Netflix Recommendations: Beyond the 5 Stars (Part 1)” (价值百万美元的模型集成为何从未上线), 2012. netflixtechblog.com
    Netflix 纳入了 2007 年进展奖集成模型中的两个算法,但没有部署后来大奖方案中的新增方法,因为其边际离线收益不足以抵消工程成本,且产品已转向流媒体内容发现。
  • Sculley et al., “Hidden Technical Debt in Machine Learning Systems” (评测债务也是系统债务), 2015. papers.nips.cc
    Sculley 等人描述机器学习系统中的隐性技术债,包括边界侵蚀、纠缠、数据依赖和未声明消费者。
  • McMahan et al., “Ad Click Prediction: a View from the Trenches” (比「MLOps」一词早十年的工程实践), 2013. research.google
    Google 生产环境广告点击率预测系统的报告:数十亿稀疏特征上的 FTRL 在线学习,以及支撑其运行的校准、特征管理与监控纪律。
  • Covington et al., “Deep Neural Networks for YouTube Recommendations” (经典的两阶段漏斗), 2016. dl.acm.org
    YouTube 记录了一种两阶段推荐架构:候选模型先把数百万视频缩减到数百个,再由排序模型选出几十个展示。
  • Cheng et al., “Wide & Deep Learning for Recommender Systems” (记忆与泛化并举,部署于 Google Play), 2016. arXiv:1606.07792
    将负责记忆的宽线性模型与负责泛化的深度网络联合训练,并报告了部署到 Google Play 应用推荐后的在线 A/B 收益。
  • Chen & Guestrin, “XGBoost: A Scalable Tree Boosting System” (支撑表格数据十年胜绩的系统论文), 2016. arXiv:1603.02754
    大规模梯度提升树的系统设计:缓存感知布局、稀疏处理与核外计算;论文自述 2015 年公开的 29 个 Kaggle 冠军方案中有 17 个使用了它。
  • Grinsztajn et al., “Why do tree-based models still outperform deep learning on typical tabular data?” (赢在归纳偏置,而非调参功夫), 2022. arXiv:2207.08815
    在 45 个含 3,000 至 10,000 个样本的精选表格数据集上,受测树集成优于受测深度网络;分析强调了其对无信息特征与不规则目标函数的鲁棒性。
  • Hollmann et al., “Accurate predictions on small data with a tabular foundation model” (基础模型配方抵达表格数据), 2025. nature.com
    TabPFN 是在合成表格任务上预训练的 Transformer;在作者对最多 10,000 个样本和 500 个特征的数据集评估中,它优于精调树集成,而超出该范围的表现仍需研究。
  • Naumov et al., “Deep Learning Recommendation Model for Personalization and Recommendation Systems” (与 Gupta et al.(2020)的数据中心数据对照阅读), 2019. arXiv:1906.00091
    Meta 的参考推荐架构把类别特征嵌入表与稠密交互和多层感知机组件结合起来,需要同时使用模型并行与数据并行。
  • Huang et al., “Embedding-based Retrieval in Facebook Search” (RAG 团队后来重新发现的生产检索手册), 2020. arXiv:2006.11632
    Facebook Search 结合双塔嵌入模型、近似搜索、词项检索,以及简单与困难负例的混合训练;只使用困难负例会降低检索召回率。
  • Malkov & Yashunin, “Efficient and Robust Approximate Nearest Neighbor Search Using Hierarchical Navigable Small World Graphs” (多数向量数据库内部的索引,问世早了许多年), 2020. arXiv:1603.09320
    HNSW 提出了一种基于多层邻近图的近似最近邻搜索索引,实现对数复杂度的分层可导航小世界图结构。
  • Kohavi, Ron; Tang, Diane; Xu, Ya. Trustworthy Online Controlled Experiments: A Practical Guide to A/B Testing (生成式技术栈尚未重建的度量纪律). Cambridge University Press, 2020. experimentguide.com
    大规模在线对照实验的权威参考,浓缩自 Microsoft、Google 与 LinkedIn 每年数万次实验的经验;建议先读总体评估准则与长期指标两章。
  • Rajput et al., “Recommender Systems with Generative Retrieval” (TIGER:检索变成解码), 2023. arXiv:2305.05065
    TIGER 将条目内容嵌入量化为语义 ID,并训练序列模型解码下一个条目的 ID,在其评估流程中取代近似最近邻查询,同时保留外部码本和条目映射。
  • Zhai et al., “Actions Speak Louder than Words: Trillion-Parameter Sequential Transducers for Generative Recommendations” (推荐系统技术栈采纳 LLM 缩放配方), 2024. arXiv:2402.17152
    作者报告了部署在多个平台场景的 1.5 万亿参数 HSTU 生成式推荐系统、某项公开在线指标 12.4% 的提升,以及跨三个训练算力数量级的经验幂律质量缩放;检索与排序仍是分别评估的场景。
  • Stray et al., “What are you optimizing for? Aligning Recommender Systems with Human Values” (将推荐目标视为价值工程问题), 2021. arXiv:2107.10939
    把以互动率为目标的推荐系统视为已在行星尺度上部署的对齐问题,并综述了让其对准人类价值而非点击代理指标的具体干预手段。

评论

登录后评论