趋近智
部署机器学习模型时,最主要的架构考量集中在一个基本矛盾上:最小化延迟与最大化吞吐量。这两个目标常常相互冲突,而最佳平衡完全取决于您的应用需求。专为即时欺诈检测设计的架构,与为夜间处理用户上传视频而构建的架构会截然不同。了解这种权衡是构建成功且经济的推理服务的第一步。
在我们分析架构模式之前,准确定义我们的性能指标非常必要。在模型服务中,这些术语具有特定的含义,指导着工程决策。
延迟 是处理单个推理请求所需的时间。它通常从服务接收请求的那一刻起,到响应发送回去的那一刻为止进行测量。对于面向用户的应用,这通常受严格的服务水平目标(SLO)约束,例如99百分位延迟(p99)低于100毫秒。这意味着100个请求中有99个必须比此阈值更快完成。我们还必须考虑冷启动延迟,这是第一个需要将模型载入内存或预热新计算实例的请求所产生的额外延迟。
吞吐量 是服务在给定时间内可以处理的推理请求总数,通常以每秒请求数(RPS)或每秒推理数衡量。吞吐量是系统容量的衡量标准,与成本效益直接相关。高吞吐量系统能有效使用其底层硬件(如GPU),以相同的固定成本处理更多数据。
核心难点在于,用于提高吞吐量的技术,例如以大批量处理请求,本身会增加任何单个请求的延迟。
您的架构选择将介于纯粹的延迟优化和纯粹的吞吐量优化之间。
对于即时响应要求高的应用,例如交互式聊天机器人、实时竞价或驾驶辅助系统,延迟是主要的衡量指标。目标是尽可能快地处理每个传入请求,并使延迟最小化。
在设计推理服务时,为了有效平衡延迟和吞吐量,通常会采用以下几种架构方法:
这种方法的主要缺点是硬件利用率低。现代GPU是一种大规模并行处理器,旨在同时处理大量数据。发送批处理大小为1的单个请求会使大部分计算核心处于空闲状态,导致每次推理的成本很高。
延迟优化架构将单个请求分发到多个模型副本,以确保即时处理。
对于不关注延迟的离线任务,目标转变为最大化效率和最小化总成本。例子包括为文档语料库生成嵌入、预先计算夜间用户推荐,或分析一批医学图像。
这种架构的特点是:
明显的权衡是极高的延迟。刚好在批处理开始后到达的请求,必须等待整个当前批处理完成并填满新批处理后才能被处理。
大多数现代服务需要一种实际的平衡:它们需要响应迅速,但也要具有成本效益。这正是动态批处理发挥作用的地方。它提供了一个中间方案,在只带来最小、可控的延迟增加下提升吞吐量。
该机制简单而有效:
动态批处理将时间上接近的请求分组,以轻微的延迟权衡来提高GPU利用率。
这种技术是高性能服务的基本组成。通过牺牲几毫秒的延迟,您可以大幅提高服务的吞吐量。例如,您可能会将p99延迟从15毫秒变为25毫秒,但这样做可以将服务器的容量从100 RPS提高到400 RPS。这种权衡对于并非处于实时要求最前沿的服务几乎总是值得的。
在延迟-吞吐量之间选择合适的点,为所有后续优化做好了准备。一旦您心中有了架构模式,接下来的步骤(我们将在后续章节中介绍)包括优化模型本身,并使用Triton等专用服务软件有效实现这些模式。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造