书生·浦语LLM 第五节课笔记

  •  一、配置 LMDeploy 运行环境:

  • 1、创建环境:
  • studio-conda -t lmdeploy -o pytorch-2.1.2

    2.激活指令:

  • conda activate lmdeploy

    3.安装lmdeploy:

  • pip install lmdeploy[all]==0.3.0

    4.下载模型:

  • ls /root/share/new_models/Shanghai_AI_Laboratory/

    5.进入想放在目录,如home;从共享目录软链接或拷贝模型;ls查看下载好的预训练模型:

  • cd ~
    
    ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b /root/
    # cp -r /root/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b /root/
    
    ls

  • 下载好的预训练模型如上图。

二、以命令行方式与 InternLM2-Chat-1.8B 模型对话:

1.使用Transformer库运行模型:

1.在VSCode界面右键,点Open in Intergrated Terminal;

2.终端里,新建py文件:

touch /root/pipeline_transformer.py

3.复制程序进去并保存,程序如下:

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("/root/internlm2-chat-1_8b", trust_remote_code=True)

# Set `torch_dtype=torch.float16` to load model in float16, otherwise it will be loaded as float32 and cause OOM Error.
model = AutoModelForCausalLM.from_pretrained("/root/internlm2-chat-1_8b", torch_dtype=torch.float16, trust_remote_code=True).cuda()
model = model.eval()

inp = "hello"
print("[INPUT]", inp)
response, history = model.chat(tokenizer, inp, history=[])
print("[OUTPUT]", response)

inp = "please provide three suggestions about time management"
print("[INPUT]", inp)
response, history = model.chat(tokenizer, inp, history=history)
print("[OUTPUT]", response)

上面的程序包含INPUT的内容,直接改里面的inp即可。

5.返回终端激活,运行:

conda activate lmdeploy


python /root/pipeline_transformer.py

2.使用LMDeploy与模型对话:

1.激活,运行:

conda activate lmdeploy


#lmdeploy chat [HF格式模型路径/TurboMind格式模型路径]

lmdeploy chat /root/internlm2-chat-1_8b

能明显感觉到LMDeploy比Transformer速度快很多。

3.速度比较:

(1)加载模型的速度:

transformer约一分半,如下图:

lmdeploy约46s,如下图:

(2)生成西瓜的故事:

transformer约19秒,如下图:

lmdeploy约3s,如下图:

4.LMDeploy模型量化(lite)

lmdeploy chat /root/internlm2-chat-1_8b --cache-max-entry-count 0.5

1.无限制:

2.  --cache-max-entry-count 0.1

3.--cache-max-entry-count 0.01 几乎禁止KV Cache占用显存:

总结:禁用前后模型加载速度和推理速度衰减不明显,可能是“生成小故事”过于简单。具体差异应该会在复杂问题的推理上体现。

四、总结

运行方式对比TransformerLMDeploy
加载模型76-95s46s
生成故事19s3-4s

显存限制对比无限制0.10.01
显存占用785649444560
生成小故事速度约4s约4s约4s

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值