真实面经题目 · 原创解析
大流量业务想利用 3B 模型效果但不能实时调用时,如何设计离线推理、特征/结果缓存、蒸馏或轻量模型接力方案,并验证效果、时延和成本?
这题考察大流量系统中如何利用 3B 模型效果而不让实时链路承担模型成本。核心方案是离线推理、特征或结果缓存、在线轻量模型接力、蒸馏和分层召回排序,并用效果、时延、成本、覆盖率和新鲜度验证。
真实面经题目 · 原创解析
这题考察大流量系统中如何利用 3B 模型效果而不让实时链路承担模型成本。核心方案是离线推理、特征或结果缓存、在线轻量模型接力、蒸馏和分层召回排序,并用效果、时延、成本、覆盖率和新鲜度验证。
大流量业务如果不能实时调用 3B 模型,我会先拆清楚模型到底提供什么能力:是内容理解、用户意图识别、候选排序、风险判断,还是生成式解释。只要能力不强依赖当前毫秒级上下文,就优先做离线化。离线推理可以按内容、用户、作者、商品、候选 pair 或场景模板批量产出 embedding、标签、质量分、风险分、语义分等结果,再写入特征库或结果缓存,在线链路只做读取和轻量融合。 缓存设计要有版本和新鲜度意识。结果 key 不能只用对象 ID,还要包含模型版本、特征版本、业务场景和时间窗口;对于变化快的内容或用户行为,要做增量推理和 TTL;对于热点对象,可以预热缓存;对于 miss 或过期,可以回退到轻量模型、规则或上一版本结果。这样 3B 模型主要在离线 GPU 集群消耗算力,在线服务只承担低延迟读缓存和简单计算。 如果实时上下文很重要,就用蒸馏或接力方案。可以把 3B 模型作为 teacher,生成软标签、排序偏好或解释性特征,训练小模型在线推理;也可以做两阶段架构,在线先用轻量模型或规则覆盖全量流量,只对低置信、长尾、高价值或抽样请求调用较重模型的离线近实时更新。验证时不能只看离线指标,要同时看线上 A/B 的 CTR、CVR、留存或审核准确率,P95/P99 时延,缓存命中率,结果新鲜度,GPU/CPU 成本和单位请求成本。
先判断 3B 模型贡献的是语义理解、排序分、标签、风控还是解释,并识别是否必须实时。只有知道模型能力落在哪个业务环节,才能决定是离线算特征、缓存结果、蒸馏小模型还是抽样调用。
按全量、增量、热点和高价值对象分批跑,产出可被在线链路读取的特征或结果。内容语义、作者质量、商品标签和稳定画像通常适合离线,用户会话意图等快变量则需要在线轻量修正。
key 包含对象、场景、模型版本、特征版本和时间窗口,支持 TTL、预热、回退和灰度。没有版本和新鲜度管理,线上效果变差时很难判断是模型问题、特征过期还是缓存污染。
用小模型、规则、线性融合或树模型消费离线特征,保证主链路低延迟。在线层负责结合实时上下文做最后调整,而不是让 3B 模型卡在每次请求的同步路径上。
用 3B teacher 产生软标签、排序偏好、边界样本和解释性特征,训练 student 在可接受效果损失下覆盖实时请求。蒸馏评估要看 student 与 teacher 一致率,也要看线上业务指标。
用离线指标、线上 A/B、P95/P99 时延、缓存命中率、成本和新鲜度共同评估。单看模型准确率不够,因为高流量业务还关心单位请求成本、服务稳定性和缓存 miss 降级质量。
会,所以要把特征分成慢变量和快变量。内容语义、作者质量等慢变量适合离线;用户最近点击、会话意图等快变量由在线轻模型处理。融合时让离线 3B 特征提供强语义底座,在线特征负责实时修正。
要有明确降级链路:先读上一版本或近邻结果,再用轻量模型补充,最后用规则兜底。高价值对象可以触发异步补算,但不能阻塞主请求。
先看 student 与 teacher 的一致率、排序相关性和关键 bad case 覆盖,再看线上业务指标和时延成本。可用不代表完全追平 teacher,而是在可接受效果损失下显著降低在线成本。
由对象变化速度和业务容忍的新鲜度决定。热点内容可能分钟级或小时级增量更新,稳定画像可天级更新。评估时要监控特征年龄分布和新鲜度对业务指标的影响。