ai-infra-interview-305

第 140 题:推理模型的hot reload如何实现?零停机更新?

题目

推理模型的hot reload如何实现?零停机更新?


完整讲解

一、Hot Reload 与零停机目标

Hot reload:不重启进程、不中断正在处理的请求,用新版本模型替换旧版本,新请求 thereafter 使用新模型。零停机:用户无感知、无 5xx、无连接断开。难点:模型可能很大、加载耗时长;正在进行的请求必须用旧模型跑完;新模型与旧模型接口需兼容(shape、配置等)。

二、实现思路

(1)多版本并存:新模型加载到新目录或新 version,加载完成后通过配置或路由把新流量切到新版本,旧请求仍用旧 version;旧请求结束后可卸载旧版本(可选)。(2)双 buffer/双实例:维护 A/B 两套实例,当前流量走 A;后台把 B 更新为新模型并预热,切换时流量切到 B,再更新 A,轮流替换。(3)Triton 等:支持 model_version_policy 与 load/unload API,先 load 新 version,再改 policy 或路由指向新 version,旧 request 仍用原 version 直到完成。关键:新模型加载与切换原子化或通过「版本切换」一步完成,避免半新半旧状态。

三、注意点

加载期间显存可能双倍(旧+新),需预留或先 unload 再 load;接口兼容性要在发布流程里保证;可做金丝雀(先切少量流量到新版本)。


面试要点


记忆要点

  1. Hot reload = 进程内换模型、新请求用新版本;零停机 = 无感知。
  2. 实现 = 多版本/双实例 + 流量切换;旧请求用旧版本跑完。
  3. 显存预留、接口兼容、金丝雀。
返回模块 返回总览