通过 CUDA 缓存技术实现 AI 模型部署加速
AI
Tech

分享AI模型部署提速的方法。

这两周都在研究AI模型的移植和优化,昨天晚上认真分析了一下部署模型的耗时,主要是三块:

  1. 模型权重加载
  2. KV Cache 初始化
  3. 编译 CUDA 内核

权重加载和 KV Cache 初始化没有太多优化空间

加载权重和 KV Cache 初始化更多是模型从磁盘到显存的搬运和初始化过程,没有太多优化策略。

编译 CUDA 内核这一步完全没有必要

反而是 CUDA 内核编译却没有必要,所以我先在 T5000 芯片上编译 CUDA 内核,然后把编译好的 cache、triton、nv 等生成目录合成一个 CUDA 缓存包,用户只需要下载缓存包就可以加载 CUDA 内核,而不是每次加载模型都需要重新编译 CUDA 内核。

优化前后的耗时对比

阶段 优化前 优化后 节省
加载模型权重 2分30秒 2分30秒 0
初始化 KV Cache 7分钟 5分37秒 1分23秒
编译 CUDA 内核 10分钟 2秒 9分58秒
缓存恢复及健康检查 未记录 约8秒
镜像导入后到部署完成 至少20分钟 8分47秒 至少11分13秒

通过这样的方式,我把整个重新部署的时间从 40 分钟,压缩到 16 分钟,大大节省了部署 AI 模型的时间。