Chatglm2-6B学习笔记1

Chatglm2-6B学习与实践笔记

@(莹莹的NLP)

Chatglm2-6B简介

  • Chatglm2-6B是Chatglm-6B的二代对话模型,除了拥有第一代对话流畅、部署门槛低的特性之外,还有以下几个优点:1.更强大的性能,在各个测评集上均有较大幅度的提升。2.可以接受更长的上下文,基座模型由chatglm-6b的2k提升至了32k,并在训练的过程中采用的是8k的对话上下文。3.更高效的推理,将Multi-Head Attention替换成了Multi-Query Attention,降低了显存占用,且加快了推理的速度。4.协议更加的开放,在取得许可的情况下,可进行商用。

Chatglm2-6B实践

Chatglm2-6B运行环境部署
  • 由于之前已经搭建好的Chatglm-6B的环境,就直接在这个环境的基础上进行Chatglm2-6B的部署。
Chatglm2-6B模型权重文件下载地址
  • 模型下载地址:https://www.huggingface.co/THUDM/chatglm2-6b/tree/main。因为使用的服务器不能联网,所有采用离线加载的形式,手动的将该链接下的files中的所有内容下载下来,在上传到服务器上去。
模型推理
代码调用的方式
from transformers import AutoTokenizer, AutoModel

tokenizer = AutoTokenizer.from_pretrained("/data/home/huangying-ghq/download/models/chatglm2-6b/", trust_remote_code=True)
model = AutoModel.from_pretrained("/data/home/huangying-ghq/download/models/chatglm2-6b/", trust_remote_code=True)
model = model.cuda(3).half().eval()
response, history = model.chat(tokenizer, "你好", history=[])
print(response)
print('*'*20)
response, history = model.chat(tokenizer, "年收入20万,购买寿险这类保险产品的建议有哪些呢", history=history)
print(response)
  • 运行结果展示:
    在这里插入图片描述
gradio网页版推理
  • 在命令行运行:在这里插入图片描述

  • 在运行web_demo.py之前需要将模型路径指定成自己放置模型的路径在这里插入图片描述

  • 运行结果如下:
    在这里插入图片描述

  • note :粘贴服务地址到浏览器上的时候,一直显示loading,我的服务器不能联网,还以为在下载什么东西,结果再次刷新就行了,页面就正常打开了。

streamlit网页版推理
  • 在命令行运行:在这里插入图片描述,运行之前同样需要将代码中的模型改为自己路径下的,否则会从huggingface上进行下载。

  • 运行的界面显示:在这里插入图片描述

  • note:在运行的过程中,transformer的版本为4.24,报错了,升级版本至4.30即可

#####命令行推理

  • 命令行运行:在这里插入图片描述
    ,同样,如果本地下载好了模型可以替换成自己的模型存放路径。
  • 运行的效果:在这里插入图片描述

#####API部署

  • 命令行运行:在这里插入图片描述

  • 结果显示:在这里插入图片描述

总结:

  • streamlit界面生成回复的时候感觉要比gradio要快一些,看起来要舒服一些;
  • 该项目提供了多种部署方式,非常容易上手,可快速的应用在自己的项目中,此次学习,也仅仅是把服务给搭起来,项目细节还需要进一步进行探索;
  • Chatglm2-6B后续需要补知识点
    • FlashAttention原理
    • Multi-Query Attention原理
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值