700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 本地部署ChatGLM-6B模型(使用JittorLLMs大模型推理库)

本地部署ChatGLM-6B模型(使用JittorLLMs大模型推理库)

时间:2022-09-11 14:57:59

相关推荐

本地部署ChatGLM-6B模型(使用JittorLLMs大模型推理库)

简介

网上冲浪时发现的这两个国产模型,重点是对硬件的要求并不高,有2GB内存就可以跑,觉得有趣就弄来玩了下。

/Jittor/JittorLLMs

/THUDM/ChatGLM-6B

简单介绍下用到的仓库

ChatGLM-6B

ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。 ChatGLM-6B 使用了和 ChatGPT 相似的技术,针对中文问答和对话进行了优化。经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B 已经能生成相当符合人类偏好的回答。

JittorLLMS

JittorLLMS是基于ChatGLM-6B开发的开源项目。

成本低:相比同类框架,本库可大幅降低硬件配置要求(减少80%),没有显卡,2G内存就能跑大模型,人人皆可在普通机器上,实现大模型本地部署;是目前已知的部署成本最低的大模型库。

效果

系统:win10

环境:python 3.9.10

cpu:i7-8750H

显卡:GTX-1050Ti

内存:16GB 2666 MHz

如下图所示,可以发现就凭我这5年前的笔电都可以运行起来,还是挺不错的,就是回答的效果不太好 一个回答需要好几分钟才能说完。

开始安装

安装Python

这里不做赘述,版本要求至少3.8。版本不够的小伙伴需要做下版本的升级

下载安装依赖

可以通过环境变量JITTOR_HOME指定缓存存放路径,默认存放在C盘的user下

# 国内使用 gitlink clonegit clone /jittor/JittorLLMs.git --depth 1# github: git clone /Jittor/JittorLLMs.git --depth 1cd JittorLLMs# -i 指定用jittor的源, -I 强制重装Jittor版torchpip install -r requirements.txt -i /simple -I

如果出现找不到jittor版本的错误,请更新版本:

pip install jittor -U -i /simple

安装中若有其他错误,安装python对应的提示信息完成就可以。

如果遇到transformers下载失败,尝试使用VPN 将节点放到新加坡 再重新下载,我之前的节点在香港 导致一直下载失败。

部署启动

部署只需一行命令即可:

python cli_demo.py [chatglm|pangualpha|llama|chatrwkv]

运行上面的命令会下载模型文件到本地根目录(C盘)

JittorLLMs 支持4个语言模型的运行

等待模型下载完成后,没有出现红色字体报错,且出现了生成进度 并出现了用户输入:这几个字,那么恭喜 你的模型运行成功,可以愉快的训练了

若输入指令后 没几秒模型崩了,就是出现如下那种错误了 或内存警告之类的

原因是JittorLLM需要使用的显存和内存超过了我们电脑配置的极限,设置下JittorLLM的环境变量,节省内存:

export JT_SAVE_MEM=1# 限制cpu最多使用16G 就是内存export cpu_mem_limit=16000000000# 限制device内存(如gpu、tpu等)最多使用8Gexport device_mem_limit=8000000000# windows 用户,请使用powershell# $env:JT_SAVE_MEM="1"# $env:cpu_mem_limit="16000000000"# $env:device_mem_limit="8000000000"

内存设置小技巧

为了更好的发挥性能并使JittorLLM不被回收,我们设置内存与GPU显存可用量 可用按如下的公式来:

内存:总内存-当前已用内存-500MB预留的内存

GPU显存:总显存-当前已用显存-500MB预留显存

以上并不一定是最优,至少可用保证运行后被系统给回收掉

用户可以自由设定cpu和设备内存的使用量,如果不希望对内存进行限制,可以设置为-1

# 限制cpu最多使用16Gexport cpu_mem_limit=-1# 限制device内存(如gpu、tpu等)最多使用8Gexport device_mem_limit=-1# windows 用户,请使用powershell# $env:JT_SAVE_MEM="1"# $env:cpu_mem_limit="-1"# $env:device_mem_limit="-1"

JittorLLM 文档已经写的很清楚了,可以在仓库看到更多的操作

简单记录,回忆不迷路

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。