书生·浦语集训营第五节LMDeploy量化

笔记

llm部署背景

人工智能领域定义:将训练好的深度学习模型在特定环境中运行的过程
服务器端:CPU部署、单GPU/TPU/NPU部署,多卡/集群部署
移动端/边缘端:移动机器人、手机

llm部署面临的挑战

  • 计算量巨大:20B模型每生成128个token就需要进行5.2万亿次运算,而个人难以承担的A100(六位数rmb)理论运算性能才为每秒77.97万亿次。
  • 内存开销巨大:以FP16精度加载20B大模型就需要40+G的显存,而以batch-size为16、输入512tokens、输出32tokens的情景下推理还会产生10G的缓存。
  • 访存瓶颈:目前硬件计算速度“远快于”显存带宽,以RTX 4090推理175Bllm为例,当batch-size为1时计算量为6.83TFLOPs,远低于82.58TFLOPs的FP16计算能力,但是访存量为32.67TB,是带宽mei miao chu li每秒处理能力的30倍
  • 动态请求:请求量不确定、请求时间不确定、Token逐个生成,生成数量不确定

大模型部署方法

模型剪枝:

  • 非结构化剪枝:移除个别参数,而不考虑整体网络结构。对个别低于阈值的权重或神经元进行置零处理
  • 结构化剪枝: 根据定义规则或分层结构,同时保持整体网络结构。这种方法一次性地针对整体权重,能够在降低模型复杂度和内存使用的同时保持整体llm结构完整。
    知识蒸馏:
    通过引导轻量化的学生模型“模仿”性能更好、结构更复杂的教师模型,在不改变学生模型的结构的情况下提高其性能。
    量化:将传统的表示方法中的浮点数转换为整数或其他离散形式,以减轻深度学习模型的存储和计算负担。

LMDeploy

涵盖了LLM任务的全套轻量化、部署和服务解决方案。核心功能包括:
模型高效推理:lmdeploy chat -h
模型量化压缩:lmdeploy lite -h
服务化部署:lmdeploy serve -h

实操

LMDeploy环境部署
首先创建环境studio-conda -t lmdeploy -o pytorch-2.1.2

请添加图片描述

conda activate lmdeploy
pip install lmdeploy[all]==0.3.0

创建完成并激活安装lmdeploy请添加图片描述

请添加图片描述

ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b /root/从开发机共享目录中下载internlm2-chat-1_8b
请添加图片描述

新建pipeline_transformer.py文件并将代码粘贴到上述文件
请添加图片描述
python /root/pipeline_transformer.py运行该文件(慢死了请添加图片描述

lmdeploy chat /root/internlm2-chat-1_8b使用LMDeploy直接与模型进行对话(明显快了很多
请添加图片描述

接下来要量化模型
使用W4A16量化是要先安装einops依赖库
并执行量化代码

lmdeploy lite auto_awq \
   /root/internlm2-chat-1_8b \
  --calib-dataset 'ptb' \
  --calib-samples 128 \
  --calib-seqlen 1024 \
  --w-bits 4 \
  --w-group-size 128 \
  --work-dir /root/internlm2-chat-1_8b-4bit

请添加图片描述
量化成功
在这里插入图片描述

使用API处理器推理internlm2-chat-1_8b模型

lmdeploy serve api_server \
    /root/internlm2-chat-1_8b \
    --model-format hf \
    --quant-policy 0 \
    --server-name 0.0.0.0 \
    --server-port 23333 \
    --tp 1
    

在这里插入图片描述

有点酷
命令行客户端连接API服务器
花了点时间配置最终成功运行
lmdeploy serve api_client http://localhost:23333
在这里插入图片描述

网页客户端连接服务器
在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LTAA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值