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;接口兼容性要在发布流程里保证;可做金丝雀(先切少量流量到新版本)。
| 返回模块 | 返回总览 |