Llama 3 五一超级课堂中实践llama3的部署,微调,量化优化部署学习总结:第三部分LMDeploy部署llama3-8b模型及量化策略

本次学习分享基于Llama3-Tutorial(Llama 3 超级课堂)分享,git地址如下

GitHub - SmartFlowAI/Llama3-Tutorial: Llama3-Tutorial(XTuner、LMDeploy、OpenCompass)gLlama3-Tutorial(XTuner、LMDeploy、OpenCompass). Contribute to SmartFlowAI/Llama3-Tutorial development by creating an account on GitHub.icon-default.png?t=N7T8https://github.com/SmartFlowAI/Llama3-Tutorial/此外感谢InternStudio提供的大模型实训平台,还有学习群内小伙伴的相互帮助。

llama3-8b对话模型部署

步骤1:conda环境设置,命令如下

conda create -n llama3 python=3.10
conda activate llama3
conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=12.1 -c pytorch -c nvidia

安装好lmdeploy

pip install -U lmdeploy[all]

步骤2:下载已经训练好的llama3的权重

情况1:单独下载:通过从OpenXLab中获取权重

方法:安装 git-lfs 依赖

# 如果下面命令报错则使用 apt install git git-lfs -y
conda install git-lfs
git-lfs install

下载模型

git clone https://code.openxlab.org.cn/MrCat/Llama-3-8B-Instruct.git Meta-Llama-3-8B-Instruct

情况2:软链接 InternStudio 中的模型(用于InternStudio平台)

方法:

ln -s /root/share/new_models/meta-llama/Meta-Llama-3-8B-Instruct ~/model/Meta-Llama-3-8B-Instruct

步骤3:使用LMDeploy Chat CLI 工具初步测试llama-3-8b的运行效果

测试命令如下

lmdeploy chat /root/model/Meta-Llama-3-8B-Instruct

运行结果如下图

步骤4:使用LMDeploy对模型进行量化

lmDeploy提供KV8量化和W4A16量化,本次实践基于W4A16量化来测试比对步骤2中的显存占比

lmdeploy的w4a16量化命令如下

lmdeploy lite auto_awq \
   /root/model/Meta-Llama-3-8B-Instruct \
  --calib-dataset 'ptb' \
  --calib-samples 128 \
  --calib-seqlen 1024 \
  --w-bits 4 \
  --w-group-size 128 \
  --work-dir /root/model/Meta-Llama-3-8B-Instruct_4bit

控制lmdeploy中的cache-max-entry-count的大小来测试量化后模型在实际测试时的显存占比

lmdeploy chat /root/model/Meta-Llama-3-8B-Instruct_4bit --model-format awq --cache-max-entry-count 0.03

执行上面命令时,量化后的模型测试效果及显存占比如下图

 

mdeploy chat /root/model/Meta-Llama-3-8B-Instruct_4bit --model-format awq --cache-max-entry-count 0.1

执行上面命令时,量化后的模型测试效果及显存占比如下图

比对一下上面的显存占比,可以看到随着cache-max-entry-count的参数变化,系统的显存有着明显的变化

步骤4:使用LMDeploy部署本地服务

1. 启动API服务接口,命令如下

lmdeploy serve api_server \
    /root/model/Meta-Llama-3-8B-Instruct \
    --model-format hf \
    --quant-policy 0 \
    --server-name 0.0.0.0 \
    --server-port 23333 \
    --tp 1

2. 启动客户端服务来连接API服务,命令如下

lmdeploy serve api_client http://localhost:23333

3. 服务器上的测试效果如图所示

可以看到模型处理时所占的显存及对话效果

问题及后续处理

问题1:LMDeploy提供多种量化算法和对应参数,由于时间问题,只是简单测试了几个,后续会进行多种测试

问题2:后续会对量化后的模型如何在服务器上的部署方式来逐一实验

  • 20
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Llama3-8b是一个开源的聊天机器人模型,可以用于自然语言处理和对话生成任务。如果您希望进行私有化部署,可以按照以下步骤进行操作: 1. 获取源代码:首先,您需要从Llama3-8b的开源代码库获取源代码。您可以在GitHub上找到该项目,并将其克隆到本地。 2. 环境配置:在进行私有化部署之前,您需要配置适当的环境。确保您的系统满足所需的软件和硬件要求,并安装必要的依赖项。 3. 数据准备:为了训练和使用Llama3-8b模型,您需要准备相应的数据集。这可能包括对话数据、语料库等。确保数据集的质量和多样性,以提高模型的性能。 4. 模型训练:使用准备好的数据集,您可以开始训练Llama3-8b模型。根据您的需求和资源情况,您可以选择在单个GPU或多个GPU上进行训练。训练过程可能需要一定的时间和计算资源。 5. 模型部署:一旦训练完成,您可以将Llama3-8b模型部署到私有环境。这可能涉及将模型加载到服务器或云平台,并设置相应的API接口供其他应用程序调用。 6. 安全性和隐私保护:在进行私有化部署时,确保采取适当的安全措施来保护用户数据和系统安全。这可能包括数据加密、访问控制、身份验证等。 7. 持续优化和更新:私有化部署后,您可以根据实际需求对Llama3-8b模型进行持续优化和更新。这可能包括增加新的训练数据、微调模型参数等。 希望以上步骤对您进行Llama3-8b的私有化部署提供了一些指导。如果您有任何进一步的问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值