真实面经题目 · 原创解析
在电商推荐在线 serving 链路中,如何优化精排模型推理计算,并用 RT/P99、QPS、资源成本和线上指标验证收益?
这道题考察推荐在线 serving 中精排推理优化的工程能力。回答要同时覆盖模型、特征、服务、硬件和评估,不应只说压缩模型或加机器。
真实面经题目 · 原创解析
这道题考察推荐在线 serving 中精排推理优化的工程能力。回答要同时覆盖模型、特征、服务、硬件和评估,不应只说压缩模型或加机器。
推荐精排 serving 的优化目标不是单纯把模型跑快,而是在 P99 延迟、QPS、资源成本和线上收益之间找到平衡。我会先拆链路:请求进入后要取用户/上下文特征、召回候选、补 item 特征、组装特征、批量模型推理、后处理和打散。精排推理慢可能来自模型本身、候选数过多、特征读取慢、序列特征太长、跨服务 RPC、CPU/GPU 利用率低或 batch 调度不合理。 优化手段可以分层做。模型侧做蒸馏、剪枝、量化、特征裁剪、embedding 维度压缩、双塔预打分、轻重模型级联和多目标头合并;特征侧做缓存、特征预计算、序列截断/摘要、近线特征刷新和缺失兜底;服务侧做候选数动态截断、micro-batching、异步并发、RPC 合并、线程池隔离、GPU/CPU 混部、熔断降级和热点缓存。验证时先离线看排序指标损失,再压测 RT/P50/P95/P99、QPS、CPU/GPU 利用率、内存、成本,最后线上 A/B 看 CTR、CVR、GMV、时长、负反馈和生态护栏。任何优化都要证明性能收益没有吞掉业务收益。
精排耗时不只在模型。特征读取、候选数量、序列构造、RPC、后处理和打散都可能成为瓶颈。先用 tracing 找 P99 最大贡献段。
可用蒸馏、量化、剪枝、embedding 压缩、特征选择、轻重模型级联和算子融合。要记录排序指标损失,避免只追求 latency。
将稳定特征离线或近线预计算,热点 item 特征缓存,用户序列截断或聚合,缺失特征快速兜底。特征读取慢常常比模型算子更影响 P99。
通过 micro-batching、异步并发、候选动态裁剪、线程池隔离、RPC 合并、GPU 批推理和超时降级提升吞吐并控制尾延迟。
高峰或依赖异常时,可减少候选数、切轻模型、使用缓存分数、关闭部分重特征或回退规则排序。降级要可观测且有业务护栏。
压测看 RT/P99、QPS、资源利用率和单请求成本;线上看 CTR/CVR/GMV/时长和负反馈。性能优化只有在业务指标可接受时才算成功。
不一定。还要看分层人群、长尾 item、校准、延迟分布和线上业务指标。量化误差可能集中在少数重要样本或影响分数排序边界。
它提高吞吐但可能增加排队延迟,尤其低流量或严格实时场景。要设置最大等待时间和 batch size,并监控 P99。
可按请求预算、召回质量、用户活跃度和系统负载动态调整。高置信候选少的请求少排一些,低置信或高价值请求保留更多候选。
比较同等流量下机器数、CPU/GPU 利用率、QPS/核、QPS/GPU、单千次请求成本和扩容需求,同时确认业务指标没有显著下降。