Comparthing Logo
云基础设施推荐系统API性能机器学习延迟优化

高吞吐量推荐服务与低延迟API系统

高吞吐量推荐服务侧重于大规模地对每次请求的数百万个项目进行排名,而低延迟 API 系统则优先考虑通用查询的快速、可预测的响应时间。两者都要求低于 100 毫秒的性能,但它们解决的是现代云基础设施中截然不同的工程挑战。

亮点

  • 推荐服务使用多阶段漏斗对数百万个候选者进行排名,而低延迟 API 处理固定工作请求。
  • 延迟预算各不相同:API 的目标是 1-50 毫秒 p99,而推荐系统通常允许 50-200 毫秒以实现更丰富的个性化。
  • 推荐基础设施严重依赖于机器学习模型和特征存储;低延迟 API 依赖于缓存和优化的协议。
  • GPU 加速在推荐服务中很常见,而低延迟 API 通常倾向于使用 CPU 优化的堆栈和内核绕过技术。

高通量推荐服务是什么?

专门设计的基础设施,可在严格的延迟预算内,从海量候选内容库中对个性化内容进行排名和检索。

  • 推荐系统通常使用多阶段漏斗架构,对每个请求评估数千到数百万个候选项目。
  • 由 YouTube 和 Google 推广的双塔神经网络模型,能够通过近似最近邻搜索实现高效的候选对象检索。
  • 像 Meta、Netflix 和 TikTok 这样的行业领导者每天通过全球数据中心处理数十亿次推荐请求。
  • Feast 和 Tecton 等特征存储提供实时和批量特征,查找延迟低于 10 毫秒,可实现个性化。
  • 与仅使用 CPU 的部署相比,使用 NVIDIA Triton 或 TensorRT 进行 GPU 加速推理可以将排名吞吐量提高 5-10 倍。

低延迟API系统是什么?

通用请求响应基础设施,旨在提供始终如一的亚毫秒级到低毫秒级的响应时间。

  • 低延迟 API 通常以 p99 延迟为目标,延迟范围在 1 毫秒到 50 毫秒之间,具体取决于工作负载的复杂性和地理分布。
  • Cloudflare Workers 和 Fastly Compute 等边缘计算平台在全球 300 多个地点部署代码,以最大限度地减少网络跳转。
  • 与传统的 REST/JSON API 相比,使用 gRPC over HTTP/2 等协议选择可减少 20-40% 的序列化开销。
  • 像 Redis 和 Memcached 这样的内存数据网格可以实现微秒级的读取速度,构成了对延迟敏感型服务的支柱。
  • 金融交易系统对延迟要求极低,托管服务器的往返时间可低于 100 微秒。

比较表

功能 高通量推荐服务 低延迟API系统
主要用例 大规模个性化内容排名 通用请求-响应服务
典型延迟目标 端到端 50-200 毫秒 1-50毫秒 p99
吞吐量重点 每次请求都会对数百万候选人进行评分 每个节点同时处理数千个请求
核心架构 多阶段检索和排名漏斗 无状态或分片有状态服务
数据依赖性 严重依赖特征存储和嵌入 通常由缓存和主数据库提供支持
通用计算 GPU 和 CPU 混合推理 针对 CPU 进行了优化,偶尔会使用 FPGA 加速。
缩放模式 水平方向与模型平行 水平方向,具备负载均衡和自动伸缩功能
关键指标 点击率、参与度、K 召回率、NDCG p50/p95/p99 延迟、错误率、可用性
示例平台 TensorFlow Serving、NVIDIA Triton、Merlin Envoy、gRPC、Fastly Compute、Cloudflare Workers
故障敏感性 优雅降级并保留备用排名 采用断路器模式的硬性超时

详细对比

建筑哲学

推荐服务系统采用漏斗式架构,逐步将数百万个候选结果筛选为少数个性化推荐。每个阶段都以速度换取精度,检索模型会先进行广泛搜索,然后排名模型再进行细粒度评分。相比之下,低延迟 API 系统遵循更为统一的请求-响应模式,每次调用通常执行固定量的工作,而与输入的复杂程度无关。

延迟与吞吐量之间的权衡

虽然两种系统都追求低延迟,但推荐服务通常会接受稍高的尾部延迟(100-200毫秒),以换取每次请求评估更多候选结果。低延迟API将每一毫秒都视为关键,因为它们是微服务之间的连接纽带,级联延迟可能会导致整个应用程序栈的不稳定。两者对延迟偏差的容忍度存在显著差异。

数据和模型复杂性

推荐系统严重依赖机器学习模型、嵌入式查找和实时特征存储,而这些特征存储必须通过流式数据保持更新。服务层必须在严格的延迟预算内协调模型推理和特征检索。低延迟 API 处理更简单的数据访问模式,通常从缓存或分片数据库读取数据,这使得它们更具可预测性,但个性化程度较低。

硬件和计算选择

推荐服务越来越依赖GPU和NVIDIA Triton或TPU等专用加速器来处理神经排序模型的计算负载。低延迟API通常采用CPU优化部署,有时会使用内核旁路网络(DPDK、RDMA)或FPGA加速来处理要求最高的金融工作负载。这两个领域的硬件投资情况截然不同。

可观测性和故障模式

推荐系统除了监控技术指标外,还会监控点击率和用户互动等业务指标,因为模型质量直接影响收入。它们通常会通过回退到更简单的模型或基于受欢迎程度的排名来优雅地降级。低延迟 API 优先考虑基于服务级别目标 (SLO) 的监控,采用熔断器、重试机制和严格的超时设置来防止服务网格中出现级联故障。

优点与缺点

高通量推荐服务

优点

  • + 处理海量候选人库
  • + 大规模个性化
  • + 内置优雅降级功能
  • + 强大的业务指标一致性

继续

  • 基础设施复杂性更高
  • 更宽松的延迟预算
  • 机器学习模型维护开销
  • 对GPU的高要求

低延迟API系统

优点

  • + 可预测的响应时间
  • + 更简单的调试
  • + 广泛的工具生态系统
  • + 经济高效的CPU部署

继续

  • 个性化深度有限
  • 对级联故障敏感
  • 需要周密的产能规划
  • 网络优化的复杂性

常见误解

神话

推荐系统本质上就是应用排名技术的快速数据库查询。

现实

现代推荐服务融合了嵌入检索、神经排序和实时特征查找等技术,其复杂程度远远超出了传统数据库操作。机器学习流程、特征更新和模型版本控制等因素增加了复杂性,这是简单的查询引擎无法处理的。

神话

对于任何系统而言,更低的延迟始终意味着更好的用户体验。

现实

延迟优化带来的收益递减。对于推荐系统而言,与其仅仅缩短最后10毫秒的响应时间,不如多花几毫秒来提升排名,这样往往更能提高用户参与度。最佳延迟目标取决于用户情境和业务目标。

神话

在预测方面,GPU 的速度始终比 CPU 快。

现实

GPU 在批量推理和大型神经网络方面表现出色,但对于小型模型或单次请求推理,GPU 的启动开销可能会使 CPU 更快。这种权衡取决于模型大小、批次大小和流量模式。

神话

缓存可以解决API系统中的所有延迟问题。

现实

缓存有助于处理读取密集型工作负载,但会带来一致性挑战和缓存溢出风险。对于写入密集型或高度定制化的 API,缓存带来的益处有限,而且实际上会增加复杂性,却无法显著降低延迟。

神话

边缘计算消除了对低延迟 API 设计的需求。

现实

边缘平台可以降低网络延迟,但无法修复设计糟糕的 API。冷启动、大型有效负载和同步依赖链等问题,即使与用户地理位置接近,仍然会造成瓶颈。

常见问题解答

在推荐服务中,什么才算是高吞吐量?
高吞吐量推荐服务通常每个集群每秒处理数万到数百万个请求。像 Meta 和 TikTok 这样的大型平台每天处理数十亿个推荐请求,每个请求都可能通过多阶段排名流程对数千个候选项目进行评分。
低延迟 API 如何实现亚毫秒级的响应时间?
亚毫秒级 API 依赖于内核旁路网络(DPDK、RDMA)、内存数据存储、连接池和协同部署等技术。金融交易系统则通过 FPGA 加速和直接市场数据馈送,进一步提升延迟,达到微秒级。
推荐系统和低延迟 API 能否共享基础设施?
是的,它们通常共享底层组件,例如服务网格、负载均衡器和可观测性堆栈。然而,由于资源配置不同,服务层通常保持独立。一些团队使用共享的 GPU 池,并采用不同的调度策略,以最大限度地提高两种工作负载的资源利用率。
特征存储系统在推荐服务中扮演什么角色?
特征存储提供对预计算批量特征和排名过程中使用的实时流特征的低延迟访问。它们确保训练和服务之间的一致性,支持时间点正确性,并且通常能在 10 毫秒内完成特征查找,以满足推荐延迟预算。
为什么推荐系统要采用多阶段架构?
多阶段架构通过使用低成本模型将数百万个候选者筛选至数百个,然后再应用昂贵的神经网络模型进行最终排序,从而平衡准确性和延迟。这种漏斗式方法使得大规模个性化在经济上可行,而无需使用最昂贵的模型评估每个候选者。
对于低延迟 API 而言,gRPC 与 REST 相比如何?
gRPC 使用 Protocol Buffers 进行二进制序列化,并使用 HTTP/2 进行多路复用流处理,与基于 REST 的 JSON 相比,通常可以减少 20-40% 的有效负载大小和 15-30% 的延迟。然而,gRPC 需要更多的工具投入,并且浏览器支持有限,因此对于面向公众的 API 而言,REST 仍然是更佳选择。
推荐服务中最大的瓶颈是什么?
特征查找和嵌入检索通常会占据推荐系统延迟预算的大部分。即使使用优化的向量数据库,每次请求获取和组合数百个特征也会消耗总响应时间的 30% 到 50%,因此特征存储的性能对系统整体速度至关重要。
如何有效测量p99潜伏期?
准确的 p99 测量需要客户端和服务器端都具备高分辨率时间戳、足够的流量(理想情况下每秒数千个请求)以及跨分布式节点的正确直方图聚合。Prometheus 直方图、Envoy 统计信息和 OpenTelemetry 跟踪等工具可以帮助捕获简单平均值无法捕捉到的尾部延迟。
近似最近邻搜索的速度是否足以满足生产环境的需求?
现代人工神经网络(ANN)算法,例如 HNSW 和 ScaNN,召回率可达 95% 以上,同时与精确方法相比,搜索延迟降低了 10 到 100 倍。FAISS 和 Milvus 等库能够处理数十亿个向量,查询延迟低于 10 毫秒,这使得人工神经网络成为生产推荐系统中检索阶段的标准方法。
当推荐模型在生产环境中出现故障时会发生什么?
生产系统实施了优雅降级的回退层级机制:神经网络模型回退到更简单的线性模型,线性模型回退到基于受欢迎程度的排名,最终回退到编辑精选。这确保即使主服务基础设施出现问题,用户也始终能够看到内容。

裁决

如果您的产品依赖于互联网规模的个性化内容发现,请选择高吞吐量推荐服务,并接受略高的延迟以换取排名质量。如果您构建基础服务架构时,可预测的快速响应时间比每次请求的计算深度更重要,则请选择低延迟 API 系统。

相关比较