题目重点:Set A 对比 batch inference 与 real-time inference;从数据新鲜度、SLA、吞吐、特征契约和幂等恢复展开。
题意与假设
这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。
- Batch 指按计划/触发批量为一组实体算分;real-time 指请求到来时同步或近实时返回预测。
- 两者可共享同一模型 artifact,但输入特征的可得性与版本须分别验证。
解题路线
- 先从输出时效判断:每日营销名单可批量预计算,授权路径上的风险分数通常需要请求时新鲜数据。
- Batch 优化总吞吐和单位成本,关注调度、分区、断点续跑、幂等输出和重算;实时优化每请求延迟和可用性,关注峰值、队列、依赖超时和降级。
- 画训练/服务特征契约:事件时间、可用时间、缺失值、编码器和模型版本一致;批量分数若用于在线查询,还要定义 TTL 与失效条件。
- 按业务损失比较两种方案,必要时用批量预计算稳定特征、在线补充实时特征的混合架构。
手动走一遍
训练例:夜间对 100 万账户算次日推荐名单可接受小时级完成;交易授权需要新交易字段,不能只读昨夜分数。若混合方案读取预计算画像,再拼当前交易特征,需标记画像时间戳。数字仅示意。
规模与取舍
批量耗时约随实体数和每条计算成本增长,可按分区并行;实时容量由峰值 QPS×每请求成本与 p99 目标决定。批量省单位开销不等于总资源必更低。
易错点与追问
容易失分的边界
- 把 batch 等同低质量/离线模型。
- 把旧 batch 分数用于需实时事件的决策而不设 TTL。
- 只比平均延迟,不比 p99 与故障恢复。
- 同一模型权重上线却漏掉特征时间一致性。
继续深挖
- 如何做 hybrid serving?
- 批任务中途失败如何只重算部分分区?
- 实时模型依赖超时时能否退回批量分数?
