更精确的模型一旦部署,总能改善业务指标。
如果模型增加了延迟或服务成本,用户可能会在看到推荐内容之前放弃会话。许多 A/B 测试表明,在实际用户参与度指标方面,准确度稍低但速度更快的模型优于准确度更高但速度较慢的模型。
推荐系统中的系统效率优化侧重于在保持可接受的推荐质量的前提下,降低延迟、计算成本和资源占用。纯粹的模型准确率优化则优先考虑预测性能指标,例如 AUC、NDCG 和召回率,但通常会增加计算开销。选择哪种优化方式取决于您的部署更看重可扩展性和成本,还是原始的排名质量。
一种工程方法,旨在优化整个推荐流程中的延迟、吞吐量、内存和能耗。
一种以研究为导向的方法,最大限度地提高离线和在线准确率指标,而主要不考虑计算成本。
| 功能 | 推荐系统中的效率 | 纯模型精度优化 |
|---|---|---|
| 主要目标 | 最大程度降低延迟、成本和资源消耗 | 最大化预测准确率指标 |
| 关键指标 | P99延迟、QPS、每千次请求成本、内存占用 | AUC、NDCG@K、recall@K、对数损失、MAP |
| 典型技术 | 量化、人工神经网络搜索、缓存、双塔模型、蒸馏 | 更深层网络、交叉特征、图神经网络、Transformer模型、集成学习 |
| 计算预算 | 受限且优化 | 通常不受约束或慷慨大方 |
| 部署重点 | 生产环境每天处理数十亿次请求 | 研究基准和离线评估 |
| 商业影响 | 通过速度直接节省成本并提升用户体验 | 如果能在预算范围内提供更好的建议,那就更好了。 |
| 过拟合风险 | 较低,因为通常使用更简单的模型。 | 更高,因为复杂模型可以记忆模式 |
| 硬件灵敏度 | 针对特定加速器进行高调校 | 较低级别 - 只要有计算资源即可运行 |
系统效率将推荐质量视为众多变量之一,并权衡其与延迟、成本和可靠性之间的关系。纯粹的准确率优化则将质量视为主要变量,并假设计算资源能够满足需求。实际上,这两种方法处于同一光谱的两端,大多数生产团队最终会选择中间方案,牺牲少量准确率来换取显著的效率提升。
注重效率的团队倾向于采用将候选生成与排序解耦的架构,例如预先独立计算用户和物品嵌入的双塔模型。而注重准确性的团队则通常更喜欢跨特征交互、注意力机制和深度堆叠等能够捕捉更丰富信号但需要在服务时进行联合计算的架构。架构的选择会影响到从特征存储到服务基础设施的方方面面。
当效率是首要考虑因素时,衡量成功的标准是服务指标,例如尾延迟、GPU吞吐量和总体拥有成本。而以准确性为先的团队则依靠离线排行榜得分和在线A/B测试在用户参与度或收入方面的提升来决定成败。在以效率为先的文化中,一个在NDCG(网络延迟累积)方面表现优异但延迟超支的模型是失败的;同样,在以准确性为先的文化中,一个响应时间仅为5毫秒但排名靠后的模型也是失败的。
在 Meta、Google 和 TikTok 等公司,推荐系统要处理数万亿次请求,因此即使是微小的效率提升也能转化为数百万美元的基础设施成本节约。学术界和创业公司通常没有这种规模限制,因此它们可以进一步提高准确率而无需担心服务成本。结果就是,已发布的准确率基准测试经常使用一些在超大规模数据中心根本无法通过生产环境审核的模型。
当服务成本在预算中占据主导地位、用户感知延迟直接影响参与度,或者系统必须扩展到海量目录时,效率优先。当目录规模较小、推荐结果已预先离线计算,或者边际质量提升带来的商业价值足以抵消计算成本时,纯粹的准确性优先。混合方法,例如级联推荐系统(其中低成本模型先对候选结果进行筛选,然后再由高成本模型重新排序),正变得越来越普遍。
更精确的模型一旦部署,总能改善业务指标。
如果模型增加了延迟或服务成本,用户可能会在看到推荐内容之前放弃会话。许多 A/B 测试表明,在实际用户参与度指标方面,准确度稍低但速度更快的模型优于准确度更高但速度较慢的模型。
以效率为导向的推荐系统必然更简单、功能更弱。
现代高效系统运用了诸如学习索引、量化感知训练和近似最近邻搜索等复杂技术。它们并非简单——而是经过精心设计,旨在有限的资源预算内提供强大的性能。
离线准确率指标能够可靠地预测在线性能。
离线指标(例如 AUC 和 NDCG)与在线成功率相关,但远非完美。一个离线 NDCG 提升 0.5% 的模型,如果在线上增加 20 毫秒的延迟,就可能失败。这就是为什么生产团队非常重视效率的原因。
你必须在准确性和效率之间做出选择。
两者并非完全对立。知识蒸馏、剪枝和量化等技术可以在更小的模型体积内恢复大型模型的大部分精度,从而兼顾两者。
学术基准反映了生产中哪些方法行之有效。
学术推荐系统研究大多侧重于静态数据集上的准确率,而忽略了服务约束。像 Netflix 和 Meta 这样的公司的实际生产系统与已发布的基准测试结果截然不同。
当您大规模运营且服务成本或延迟直接影响最终收益时(大多数大型平台都面临这种情况),应优先考虑系统效率。如果您处于研究环境、目录较小,或者拥有强大的计算能力且需要提升哪怕一点点的质量,则应优先考虑纯粹的精度优化。在生产环境中,最明智的团队会首先设计效率,然后将精度预算投入到最关键的地方。
AI编排系统通过统一的框架协调多个模型、工具和数据管道,而独立模型的使用方式则是直接调用单个AI模型来完成每个任务。组织通常会根据复杂性、规模以及对多步骤自动化的需求来选择合适的方案。
该比较通过分析亚马逊云科技(Amazon Web Services)和谷歌云(Google Cloud)的服务产品、定价模式、全球基础设施、性能、开发者体验以及理想应用场景,帮助企业选择最符合其技术和业务需求的云平台。
该对比通过分析 Docker 容器和虚拟机在架构、资源使用、性能、隔离性、可扩展性以及常见使用场景方面的差异,帮助团队决定哪种虚拟化方案最适合现代开发和基础设施需求。
Kafka 和 Flink 构成了一个分布式流处理生态系统,用于实时数据管道,而内存处理则通过将数据完全保存在 RAM 中来加速分析——它们各自满足速度、规模和持久性方面不同的架构需求。
MLOps 流水线扩展了传统的 CI/CD 流程,增加了专为机器学习工作流程定制的模型训练、验证和监控阶段。传统的 CI/CD 侧重于代码部署,而 MLOps 则负责处理整个机器学习生命周期中的数据版本控制、实验跟踪和模型漂移检测。