欢迎关注我的公众号 [极智视界],获取我的更多经验分享
大家好,我是极智视界,本文来介绍一下 算法部署中需要注意的Lazy Loading。
邀您加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码下载,链接:https://t.zsxq.com/0aiNxERDq
Lazy Loading 也即 "懒加载",做前端 web 的同学可能会对这个概念熟悉一些,前端中的一些懒加载比如在长网页中延迟加载图像 或 其他资源,可以减少服务器的负载,而是在当要用到的时候再加载,可以减少无效资源的加载,可以明显降低服务器的压力和流量。
同样的道理放到算法部署或者说算力芯片场景,可能也会涉及 Lazy Loading 的策略优化,比如 CUDA 编程中就会涉及 Lazy Loading 的概念。既然 CUDA 有,那么这样的策略也会直接辐射到英伟达系列的 GPU 硬件部署上,体现的现象就是,比如用 TensorRT 进行模型推理的时候,第一次推理耗时明显过长,后续马上平稳,这不是一个渐变的过程,而是一个突变的过程。口说无凭,下面是我在英伟达平台上用 TensorRT 推理一个 bs=32 的模型的耗时数据,可以看到第一次推理是 584.812ms,后面马上突变到 174ms 的样子。可以很好的想象,可以在初始化的时候 "懒"