LMDeploy大模型量化部署实践

一、大模型部署背景

1.模型部署的定义:

  • 将训练好的模型在特定软硬件环境中启动的过程,使模型能够按收输入并返回预测结果。
  • 为了满足性能和效率的需求,常常需要对模型进行优化,例如模型压缩和硬件加速。

2.大模型特点

  • 内存开销巨大
    • 庞大的参数量。78 模型仅权重就需要 14+6 内存
    • 采用自回归生成 token,无要缓存 Attention 的 k/v,带来巨大的内存开销
  • 动态shape
    • 请求数不固定
    • Token 逐个生成,且数量不定
  • 相对视觉模型,LLM结构简单
    • Transformers 结构,大部分是 decoder-only

3.大模型部署背景

  • 大模型部署挑战
    • 设备层面:如何应对巨大的存储问题?低存储设备(消费级显卡、手机等)如何部署?
    • 推理层面:如何加速token的生成速度?如何解决动态shape,让推理可以不间断?如何有效管理和利用内存?
    • 服务层面:如何提升系统整体吞吐量?对于个体用户,如何降低响应时间?

二、LMDeploy简介

基础作业:

  • 使用 LMDeploy 以本地对话、网页Gradio、API服务中的一种方式部署 InternLM-Chat-7B 模型,生成 300 字的小故事(需截图)

进阶作业(可选做)

  • 将第四节课训练自我认知小助手模型使用 LMDeploy 量化部署到 OpenXLab 平台。
  • 对internlm-chat-7b模型进行量化,并同时使用KV Cache量化,使用量化后的模型完成API服务的部署,分别对比模型量化前后(将 bs设置为 1 和 max len 设置为512)和 KV Cache 量化前后(将 bs设置为 8 和 max len 设置为2048)的显存大小。
  • 在自己的任务数据集上任取若干条进行Benchmark测试,测试方向包括:
    (1)TurboMind推理+Python代码集成
    (2)在(1)的基础上采用W4A16量化
    (3)在(1)的基础上开启KV Cache量化
    (4)在(2)的基础上开启KV Cache量化
    (5)使用Huggingface推理
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐