真实面经题目 · 原创解析
生产中的 AI 服务如何保障全天稳定运行,覆盖资源、限流、降级、监控和模型依赖治理?
这道题考 AI 服务稳定性治理。好答案要覆盖容量、GPU/模型资源、流量控制、依赖失败、降级策略、监控告警、灰度发布和故障演练。
真实面经题目 · 原创解析
这道题考 AI 服务稳定性治理。好答案要覆盖容量、GPU/模型资源、流量控制、依赖失败、降级策略、监控告警、灰度发布和故障演练。
保障 AI 服务全天稳定运行,我会先定义 SLO,例如可用性、P95/P99 延迟、超时率、错误率、队列等待和质量抽检通过率。资源层要做好 GPU/CPU/显存容量评估、模型预热、实例隔离、自动扩缩容、OOM 保护和健康检查。流量层要有限流、排队上限、优先级、熔断、重试退避和防雪崩,不能让突刺流量把模型实例全部拖死。降级层要准备缓存结果、小模型、规则兜底、异步处理、关闭非核心能力和友好的失败返回。依赖治理上要管理模型版本、prompt/schema 版本、外部 API、向量库和特征服务。监控要覆盖请求链路、GPU、模型输出、依赖、成本和业务指标,并配合灰度发布、回滚、压测和故障演练。
AI 服务的稳定性要同时看可用性、延迟、吞吐、错误率和输出质量。实时推荐或问答服务要关注 P95/P99 延迟、队列等待、超时率、模型错误率、GPU OOM、降级比例和用户成功率;离线或异步任务则更关注任务完成率、积压时长和重试成功率。只有先定义 SLO 和错误预算,才能判断什么时候扩容、限流、降级或回滚。
AI 服务常见故障不是普通 CPU 打满,而是显存碎片、模型加载失败、GPU OOM、batch 抖动、实例冷启动慢和模型版本切换不一致。生产中应做模型预热、实例池化、显存水位监控、并发上限、负载均衡、进程自恢复和资源隔离。多模型服务还要避免一个大模型占满资源影响小模型,必要时按模型、租户或优先级拆池。
流量突刺时,如果所有请求都排队等待大模型,P99 会恶化并引发级联超时。更稳的方式是入口限流、队列长度上限、优先级调度、超时取消、熔断下游、指数退避重试和请求去重。降级策略要提前设计,例如命中缓存、使用小模型、规则兜底、返回部分结果、转异步任务或暂时关闭高成本能力。
AI 服务依赖模型文件、prompt、schema、向量库、特征服务、外部模型 API 和业务数据,每一层都可能导致全天运行中断。监控要包含 trace、结构化日志、模型版本、prompt 版本、依赖成功率、输出空值率、异常标签分布和成本。发布时应灰度、金丝雀、双版本对比和一键回滚;日常要做压测、故障注入和容量复盘,证明服务在依赖慢、GPU OOM、模型加载失败和流量翻倍时能恢复。
先做显存水位和 batch 大小监控,限制单实例并发、最大输入长度和动态 batch 上限,必要时拆分模型池。发生 OOM 后要自动摘除实例、清理上下文、重启预热,并通过降级或排队上限保护入口,避免所有实例同时崩溃。
要有超时、熔断、重试退避和供应商隔离。核心路径可以准备备用模型、本地小模型或缓存结果;非核心路径可以异步化。重试必须有上限,否则外部慢会被内部重试放大成雪崩。
不够。AI 服务需要检查模型是否加载完成、GPU 是否可用、关键依赖是否可连、队列是否过载、版本是否一致。浅层 ping 只能说明进程活着,不能证明服务真的能推理成功。
除了单元测试,要做长时间压测、峰值压测、故障注入、灰度观察和回滚演练。验收指标包括内存和显存无持续泄漏、错误率稳定、P99 不漂移、队列不无限增长、降级可控、重启后能自动恢复。