LMDeploy 量化部署进阶实践

LMDeploy 量化部署进阶实践

参考教程

1 配置LMDeploy环境

在这里插入图片描述

2 LMDeploy与InternLM2.5

2.1 LMDeploy API部署InternLM2.5

2.1.1 启动API服务器

在这里插入图片描述

2.1.2 以命令行形式连接API服务在这里插入图片描述
2.1.3 以Gradio网页形式连接API服务器

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

2.2 LMDeploy Lite

随着模型变得越来越大,我们需要一些大模型压缩技术来降低模型部署的成本,并提升模型的推理性能。LMDeploy 提供了权重量化和 k/v cache两种策略。

2.2.1 设置最大kv cache缓存大小

在这里插入图片描述

2.2.2 设置在线 kv cache int4/int8 量化

在这里插入图片描述

2.2.3 W4A16 模型量化和部署

准确说,模型量化是一种优化技术,旨在减少机器学习模型的大小并提高其推理速度。量化通过将模型的权重和激活从高精度(如16位浮点数)转换为低精度(如8位整数、4位整数、甚至二值网络)来实现。

那么标题中的W4A16又是什么意思呢?

  • W4:这通常表示权重量化为4位整数(int4)。这意味着模型中的权重参数将从它们原始的浮点表示(例如FP32、BF16或FP16,Internlm2.5精度为BF16)转换为4位的整数表示。这样做可以显著减少模型的大小。
  • A16:这表示激活(或输入/输出)仍然保持在16位浮点数(例如FP16或BF16)。激活是在神经网络中传播的数据,通常在每层运算之后产生。

因此,W4A16的量化配置意味着:

  • 权重被量化为4位整数。
  • 激活保持为16位浮点数。

在这里插入图片描述
运行过程中报错:

TypeError: 'NoneType' object is not callable

pip install datasets==2.19.2 即可

压缩后可以看到模型变小了
在这里插入图片描述

lmdeploy chat /root/models/internlm2_5-1_8b-chat-w4a16-4bit/ --model-format awq

部署后显存占用也变小了
在这里插入图片描述

2.2.4 W4A16 量化+ KV cache+KV cache 量化
lmdeploy serve api_server \
	/root/models/internlm2_5-1_8b-chat-w4a16-4bit/
    --model-format awq \
    --quant-policy 4 \
    --cache-max-entry-count 0.4\
    --server-name 0.0.0.0 \
    --server-port 23333 \
    --tp 1

在这里插入图片描述

3 LMDeploy与InternVL2

3.1 LMDeploy Lite

在这里插入图片描述

4 LMDeploy之FastAPI与Function call

之前在2.1.1 启动API服务器与3.2 LMDeploy API部署InternVL2均是借助FastAPI封装一个API出来让LMDeploy自行进行访问,在这一章节中我们将依托于LMDeploy封装出来的API进行更加灵活更具DIY的开发。

4.1 API开发

lmdeploy serve api_server \
    /root/models/internlm2_5-1_8b-chat-w4a16-4bit \
    --model-format awq \
    --cache-max-entry-count 0.4 \
    --quant-policy 4 \
    --server-name 0.0.0.0 \
    --server-port 23333 \
    --tp 1

在这里插入图片描述

4.2 Function call

关于Function call,即函数调用功能,它允许开发者在调用模型时,详细说明函数的作用,并使模型能够智能地根据用户的提问来输入参数并执行函数。完成调用后,模型会将函数的输出结果作为回答用户问题的依据。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值