chatglm3_fastllm 对话问答算法模型

ChatGLM3

论文

GLM: General Language Model Pretraining with Autoregressive Blank Infilling

模型结构

ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的新一代对话预训练模型。ChatGLM3-6B 是 ChatGLM3 系列中的开源模型,在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上,ChatGLM3-6B 具有更强大的基础模型、更完整的功能支持、更全面的开源序列。

以下是ChatGLM3-6B的主要网络参数配置:

模型名称隐含层维度层数头数词表大小位置编码最大序列长度
ChatGLM3-6B4096283265024RoPE8192

算法原理

ChatGLM3-6B基于GLM架构开发。GLM是一种基于Transformer的语言模型,以自回归空白填充为训练目标, 同时具备自回归和自编码能力。

本项目主要针对ChatGLM3-6B推理性能优化,达到DCU平台较快的对话效果

环境配置

环境准备

在光源可拉取推理的docker镜像,拉取方式如下:

docker pull image.sourcefind.cn:5000/dcu/admin/base/custom:lmdeploy-dtk23.10-torch1.13-py38

容器启动

模型推理容器启动命令参考如下,用户根据需要修改:

# <container_name> 自定义容器名
# <project_path> 当前工程所在路径
docker run -it --name=<container_name> -v <project_path>:/work -v /opt/hyhal:/opt/hyhal --device=/dev/kfd --device=/dev/dri --security-opt seccomp=unconfined --cap-add=SYS_PTRACE --ipc=host --network host --shm-size=16G --group-add video image.sourcefind.cn:5000/dcu/admin/base/custom:lmdeploy-dtk23.10-torch1.13-py38 /bin/bash

安装方法

#进入本工程目录
cd package
python setup.py install

数据集

推理

原版模型下载

[原版模型下载](THUDM/chatglm3-6b · Hugging Face)

ChatGLM3原版模型转换

# 将模型转换脚本chatglm_export.py移动到原版ChatGLM3-6B环境中,也可以使用"pip3 install -r requirements.txt"命令根据工程自带的requirements.txt安装相关依赖
# 如果使用自己finetune的模型需要修改chatglm_export.py文件中创建tokenizer, model时的模型存放路径
# 执行:
python3 chatglm_export.py chatglm3-6b-fp16.bin float16 # 导出fp16模型,参数为导出的模型路径
python3 chatglm_export.py chatglm3-6b-int8.bin int8 #    导出int8模型,参数为导出的模型路径

运行ChatGLM3-6B模型实例

# 命令行聊天程序,使用了模型创建以及流式对话效果
python cli_demo.py -p chatglm3-6b-fp16.bin

# 简易webui,需要先安装streamlit-chat,并且需要在容器启动时映射streamlit的端口到外部网络
streamlit run web_demo.py chatglm3-6b-fp16.bin 

# 按照openai接口实现的api_server的实例:
# 需要先进入api_server_demo,安装所需依赖:
cd api_server_demo
pip install -r requirements.txt
# 运行api_server服务,使用-p指定转换后的模型文件,客户端代码可以参考openai-client.py实现:
python fastllm-openai.py -p ../chatglm3-6b-fp16.bin 
# 如果需要测试服务的并发性能,可以使用openai-client.py,修改其中的prompt和concurrencys变量值后执行:
python openai-client.py

result

精度

应用场景

算法类别

对话问答

热点应用行业

医疗,科研,金融,教育

源码仓库及问题反馈

ModelZoo / ChatGLM3_fastllm · GitLab

参考资料

GitHub - THUDM/ChatGLM3: ChatGLM3 series: Open Bilingual Chat LLMs | 开源双语对话语言模型

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术瘾君子1573

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值