LMDeploy 大模型量化部署实践

发布时间:2024年01月14日

大模型部署背景

模型部署

定义

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

产品形态

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

计算设备

CPU、GPU、NPU、TPU等

大模型特点

  • 内存消耗巨大 庞大的参数量 7B模型仅权重就需要14+G内存
  • 采用自回归生成token 需要缓存Attention的k/v带来巨大的内存开销
  • 动态shape 请求数不固定 token逐个生成,且数量不定
  • 相对视觉模型 LLM结构简单

大模型挑战

  • 设备 如何应对巨大的存储问题 ? 底存储设备如何部署?
  • 推理 如何加速token的生成速度 如何解决动态shape 让推理可以不间断 如何有效管理和利用内存
  • 服务 如何提升系统整体吞吐量。对于个体用户 如何降低相应时间

大模型部署方案

  • 技术点
    在这里插入图片描述
  • 方案
    在这里插入图片描述

LMDeploy简介

LMDeploy 是LLM在英伟达设备上部署的全流程解决方案。包括模型轻量化、推理和服务。
项目地址:https://github.com/InternLM/lmdeploy
在这里插入图片描述
在这里插入图片描述

推理性能

  • 静态推理性能 固定batch
    在这里插入图片描述
  • 动态推理性能 真是对话
    在这里插入图片描述

核心功能-量化

在这里插入图片描述
为什么做weight only的量化?

  • 计算密集:推理的绝大部分时间消耗在数值计算上,针对计算密集场景,可以通过使用更快的硬件计算单元来提升计算速度,比如量化为W8A8使用Int8 Tensor Core来加速计算
  • 访问密集:推理时,绝大部分时间消耗在数据读取上,针对访问密集场景,一般是通过提高计算访存比来提升性能。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

核心功能-推理引擎TurboMind

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

核心功能 推理服务 api-server

在这里插入图片描述

案例(安装、部署、量化)

参考教程:
https://github.com/InternLM/tutorial/blob/main/lmdeploy/lmdeploy.md

文章来源:https://blog.csdn.net/shengweiit/article/details/135565624
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。