LMDeploy 量化部署 LLM 实践

1. 什么是LMdeploy

LMdeploy 有两个功能:量化与部署。量化加快推理速度减少现存占用,部署可以用客户端、网页以及Api迅速调用方便开发者使用。
在这里插入图片描述

2. LMdeploy量化使用

TurboMind是LMDeploy团队开发的一款关于LLM推理的高效推理引擎,它的主要功能包括:LLaMa 结构模型的支持,continuous batch 推理模式和可扩展的 KV 缓存管理器。

TurboMind推理引擎仅支持推理TurboMind格式的模型。因此,TurboMind在推理HF格式的模型时,会首先自动将HF格式模型转换为TurboMind格式的模型。该过程在新版本的LMDeploy中是自动进行的,无需用户操作。
模型转化:
HuggingFace模型->Turbomind模型->KV Cashe量化->w4a16量化

2.1 turbomind模型转化

以internlm-chat-7b转化为例

lmdeploy convert internlm-chat-7b  /root/share/temp/model_repos/internlm-chat-7b/

2.2 kv cache量化

数据对齐

# 计算 minmax
lmdeploy lite calibrate \
  --model  /root/share/temp/model_repos/internlm-chat-7b/ \
  --calib_dataset "c4" \
  --calib_samples 128 \
  --calib_seqlen 2048 \
  --work_dir ./quant_output

量化权重文件

# 通过 minmax 获取量化参数
lmdeploy lite kv_qparams \
  --work_dir ./quant_output  \
  --turbomind_dir workspace/triton_models/weights/ \
  --kv_sym False \
  --num_tp 1

2.3 w4a16量化

3.LMdeploy部署使用

3.1 terminal:

# Turbomind + Bash Local Chat
lmdeploy chat turbomind ./workspace

3.2 API

# ApiServer+Turbomind   api_server => AsyncEngine => TurboMind
lmdeploy serve api_server ./workspace \
	--server_name 0.0.0.0 \
	--server_port 23333 \
	--instance_num 64 \
	--tp 1

3.3 Gradio

# Gradio+Turbomind(local)
lmdeploy serve gradio ./workspace

Github地址https://github.com/InternLM/lmdeploy

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值