LMDeploy大模型量化部署实践

视频地址:(5)LMDeploy 大模型量化部署实践_哔哩哔哩_bilibili

文档:https://github.com/InternLM/tutorial/blob/vansin-patch-4/lmdeploy/lmdeploy.md

一、大模型部署背景

1、模型部署

定义:

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

产品形态

  • 云端、边缘计算端、移动端

计算设备

  • CPU、GPU、NPU、TPU等

2、大模型特点

内存开销巨大

  • 庞大的参数量。 7B 模型仅权重就需要 14+G 内存
  • 采用自回归生成 token,需要缓存 Attention 的 k/v,带来巨大的内存开销

动态shape

  • 请求数不固定
  • Token 逐个生成,且数量不定

相对视觉模型,LLM结构简单

  • Transformers 结构,大部分是 decoder-only

3、大模型部署挑战

设备

  • 如何应对巨大的存储问题? 低存储设备 (消费级显卡、手机等)如何部署?

推理

  • 如何加速 token 的生成速度
  • 如何解决动态shape,让推理可以不间断
  • 如何有效管理和利用内存

服务

  • 如何提升系统整体吞吐量?
  • 对于个体用户,如何降低响应时间?

4、大模型部署方案

技术点

  • 模型并行
  • transformer 计算和访存优化
  • 低比特量化
  • Continuous Batch+
  • Page Attention44

方案

  • huggingface transformers
  • 专门的推理加速框架

        云端

  • Imdeploy
  • vllm
  • tensorrt-Ilm
  • deepspeed

        移动端

  • llama.cpp
  • mlc-llm

二、LMDeploy简介

LMDeploy 是 LLM 在英伟达设备上部署的全流程解决方案。包括模型轻量化、推理和服务。

项目地址: https://github.com/InternLM/Imdeploy

高效推理引擎

  • 持续批处理技巧
  • Blocked k/v cache
  • 深度优化的计算kernels
  • 动态分割与融合

完备易用的工具链

  • 量化、推理、服务全流程
  • 无缝对接opencompass
  • 评测推理精度
  • 多维度推理速度评测工具

1、推理性能

2、量化

两个基本概念

  • 计算密集 (compute-bound) : 推理的绝大部分时间消耗在数值计算上;针对计算密集场景,可以通过使用更快的硬件计算单元来提升计算速度比如量化为 W8A8 使用 INT8 Tensor Core 来加速计算。
  • 访存密集(memory-bound) : 推理时,绝大部分时间消耗在数据读取上;针对访存密集型场景,一般是通过提高计算访存比来提升性能。

LLM 是典型的访存密集型任务

常见的 LLM 模型是 Decoder Only 架构。推理时大部分时间消耗在逐Token 生成阶段 (Decoding 阶段) ,是典型的访存密集型场景。如右图,A100 的 FP16 峰值算力为 312 TFLOPS,只有在 Batch Size 达到128 这个量级时,计算才成为推理的瓶颈,但由于 LLM 模型本身就很大推理时的 KV Cache 也会占用很多显存,还有一些其他的因素影响 (如Persistent Batch) ,实际推理时很难做到 128 这么大的 Batch Size。

3、TurboMind

持续批处理 

有状态的推理 

Blocked k/v cache

高性能的cuda kernel

4、推理服务 API server

三、实践

 文档:https://github.com/InternLM/tutorial/blob/vansin-patch-4/lmdeploy/lmdeploy.md

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值