开发演示里的AI总是又快又准。特征新鲜,向量搜索灵敏,预测结果让人满意。然后系统上线,一切开始崩塌。
延迟 spikes 毫无规律。特征变得陈旧。10万条记录时表现优异的向量索引,在1000万条时开始劣化。模型准确率没变,但系统正在喘息——而准确率不再是唯一指标。
这篇文章讨论的是模型准确率之后的事:决定实时AI能否在大规模生产环境真正运行的基础设施问题。
大多数机器学习流水线基于"快乐路径"假设设计:数据干净、特征新鲜、请求速率可控、算力充足。这些假设在开发环境成立,在规模面前 rarely 成立。
生产环境引入三类压力,暴露架构弱点:
负载波动。流量从不平坦。产品发布、病毒式传播、季度末报表高峰、时区相关的用户行为——真实世界的AI负载会 spikes。P50 表现良好的流水线无法保证 P99 的可接受行为。而 P99 正是用户遭遇故障时的真实体验。
数据速度。特征会过期。世界变化快于批处理刷新周期。对于推荐系统、欺诈检测、个性化引擎——任何依赖近期行为信号的场景——15分钟前的特征可能比15秒前的显著更差。特征生成与模型消费之间的 gap 直接导致预测质量劣化。
索引漂移。向量搜索不是"设置即遗忘"的操作。随着嵌入空间增长演变——新文档、更新产品、修订知识库——驱动语义搜索的索引需要持续维护。近似最近邻(ANN)索引尤其如此,当数据分布在其下发生偏移时,相关性和响应时间都会劣化。
理解这三类压力,是设计能够幸存系统的第一步。
"实时AI"是一个被过度加载的术语。设计之前,需要精确定义它在你的语境中意味着什么。至少存在三个有意义的层级:
每个层级要求不同的架构选择。为近实时刷新设计的特征存储,可能完全不适用于毫秒级延迟推理。第一个架构问题不是"如何获取特征"——而是"对于这个工作负载,实时到底意味着什么?"
回答这个问题之后,才能推理流水线设计。
特征流水线是大多数延迟和陈旧问题的来源。批处理系统(每日或每小时刷新)在概念上简单,但为实时推理创造了根本性的不匹配。当模型需要当前行为信号时,昨天的特征值就是错误的答案。
流式架构解决了新鲜度问题,但引入了复杂性。事件顺序、处理延迟、 exactly-once 语义、状态管理——这些在批处理中隐含的保证,在流式系统中成为显式的设计负担。
混合方法正在兴起:批处理用于缓慢变化的基础特征,流式增量用于快速变化的信号。但这种方法需要仔细协调两个路径,确保它们在推理时正确汇合。
向量搜索基础设施面临独特的规模挑战。精确最近邻在嵌入维度上计算不可行,因此生产系统依赖 ANN 算法——HNSW、IVF、PQ 及其变体。这些算法在速度、内存和召回率之间 trade off,而这种 trade off 不是静态的。
随着索引增长,相同的算法参数产生不同的质量特征。10万向量的 HNSW 图与1000万向量的图行为不同。数据分布漂移——新领域内容、季节性产品目录、新兴查询模式——进一步复杂化这个动态。
生产级向量搜索需要持续监控:召回率指标、延迟分布、索引构建时间。它还需要运维机制:重新索引策略、分片方案、可能的多级索引层次结构,在精确度和速度之间自适应切换。
推理服务的延迟预算通常以毫秒计,但完整的特征检索路径可能跨越多个系统。特征存储查询、向量搜索、预处理转换——每个环节增加可变延迟。端到端延迟不是各组件延迟的简单相加,而是其分布的卷积。
这意味着 P99 优化需要系统性思维。局部优化——让特征存储更快——可能被下游瓶颈抵消。全局视图要求理解请求在整个路径上的流动,识别真正的约束所在。
缓存策略变得关键,但缓存什么、缓存多久是语境敏感的决策。用户级特征缓存可能加速重复查询,但也可能放大陈旧性问题。模型输出缓存对于热门查询有效,但对于长尾分布帮助有限。
预计算与实时计算的 trade off 贯穿整个架构。预计算降低延迟但牺牲灵活性;实时计算支持个性化但引入不确定性。没有 universal 正确答案,只有与具体用例约束匹配的选择。
监控和可观测性在实时AI系统中呈现不同形态。准确率指标仍然重要,但不再充分。延迟分布、特征新鲜度直方图、索引质量指标、缓存命中率——这些成为生产健康的同等关键信号。
告警阈值需要反映用户感知而非仅技术阈值。P99 延迟从50ms跳到200ms可能不触发传统告警,但可能意味着用户体验的实质性劣化。
成本结构也在变化。实时基础设施倾向于更高的单位推理成本——流式处理、内存密集型索引、低延迟网络路径。这些成本需要与业务价值显式关联:延迟降低带来的转化率提升,新鲜特征带来的参与度增长。
组织影响同样深远。实时AI系统模糊了传统边界:数据工程、机器学习工程、基础设施工程之间的界限变得流动。特征流水线需要数据工程师的流处理专长;向量搜索优化需要基础设施工程师的系统性能知识;模型服务需要机器学习工程师的推理优化技能。
有效的团队结构反映这种交叉——不是按职能划分,而是按端到端交付单元组织。特征平台团队、推理平台团队、搜索基础设施团队——每个跨越传统边界,对特定生产结果负责。
技术债务在实时AI系统中积累方式不同。批处理流水线的债务通常是显性的:已知延迟、可量化陈旧性。实时系统的债务更隐蔽:逐渐漂移的索引质量、缓慢劣化的延迟分布、微妙变化的特征统计。需要主动监控来检测,需要持续投资来偿还。
评估实时AI系统的成熟度,可以观察其如何处理三类压力:负载波动是否有自动响应机制?特征新鲜度是否有可量化的SLI?向量索引是否有持续维护的运维流程?
这些问题的答案区分了演示级系统与生产级系统。模型准确率是起点,不是终点。真正的挑战在于构建在规模面前不崩塌的基础设施——当流量 spikes、特征过期、索引漂移时,仍然稳定运行的系统。
这不是关于更复杂的模型,而是关于更成熟的工程。AI流水线长大成人,意味着接受生产环境的混乱本质,并为此设计。
热门跟贴