最近ChatGPT很火,但是用起来需要翻墙,国内也有很多模型,什么百度的文心一言、阿里的盘古、还有科大讯飞的模型等等,那么今天我们就来介绍下怎么在本地自己部署自己的聊天模型,也可以学习很多知识 。一、开源模型
1、ChatGLM-6B介绍
- 清华大学知识工程 (KEG) 实验室和智谱AI公司与于2023年共同训练的语言模型;ChatGLM-6B 参考了 ChatGPT 的设计思路,在千 亿基座模型 GLM-130B 中注入了代码预训练,通过有监督微调等技术实现与人类意图对齐(即让机 器的回答符合人类的期望和价值观);
- ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数;
- 结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存);
- ChatGLM-6B 使用了和 ChatGPT 相似的技术,针对中文问答和对话进行了优化 。经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B 已经能生成相当符合人类偏好的回答;
- 充分的中英双语预训练: ChatGLM-6B 在 1:1 比例的中英语料上训练了 1T 的 token 量,兼具双语能力;
- 优化的模型架构和大小: 吸取 GLM-130B 训练经验,修正了二维 RoPE 位置编码实现,使用传统FFN结构 。6B(62亿)的参数大小,也使得研究者和个人开发者自己微调和部署 ChatGLM-6B 成为可能;
- 较低的部署门槛: FP16 半精度下,ChatGLM-6B 需要至少 13GB 的显存进行推理,结合模型量化技术,这一需求可以进一步降低到 10GB(INT8) 和 6GB(INT4),使得 ChatGLM-6B 可以部署在消费级显卡上;
- 更长的序列长度: 相比 GLM-10B(序列长度1024),ChatGLM-6B 序列长度达 2048,支持更长对话和应用;
- 人类意图对齐训练: 使用了监督微调(Supervised Fine-Tuning)、反馈自助(Feedback Bootstrap)、人类反馈强化学习(Reinforcement Learning from Human Feedback) 等方式,使模型初具理解人类指令意图的能力 。输出格式为 markdown,方便展示;因此,ChatGLM-6B 具备了一定条件下较好的对话与问答能力;
- 模型容量较小: 6B 的小容量,决定了其相对较弱的模型记忆和语言能力;在面对许多事实性知识任务时,ChatGLM-6B 可能会生成不正确的信息;
- 她也不擅长逻辑类问题(如数学、编程)的解答;
- 可能会产生有害说明或有偏见的内容:ChatGLM-6B 只是一个初步与人类意图对齐的语言模型,可能会生成有害、有偏见的内容;
- 较弱的多轮对话能力:ChatGLM-6B 的上下文理解能力还不够充分,在面对长答案生成,以及多轮对话的场景时,可能会出现上下文丢失和理解错误的情况;
- 英文能力不足:训练时使用的指示大部分都是中文的,只有一小部分指示是英文的 。因此在使用英文指示时,回复的质量可能不如中文指示的回复,甚至与中文指示下的回复矛盾;
- 易被误导:ChatGLM-6B 的“自我认知”可能存在问题,很容易被误导并产生错误的言论 。例如当前版本模型在被误导的情况下,会在自我认知上发生偏差 。即使该模型经过了1万亿标识符(token)左右的双语预训练,并且进行了指令微调和人类反馈强化学习(RLHF),但是因为模型容量较小,所以在某些指示下可能会产生有误导性的内容;
文章插图
二、系统部署
1、硬件需求
文章插图
2、系统环境
操作系统:centos 7.6/Ubuntu (内存:32G)
显卡配置: 2x NVIDIA Gefore 3070Ti 8G (共16G显存)
Python/ target=_blank class=infotextkey>Python 3.8.13 (版本不要高于3.10,否则有些依赖无法下载,像paddlepaddle 2.4.2在高版本Python还不支持)
# 安装Python3.8所需依赖sudo yum -y install gcc zlib zlib-devel openssl-devel# 下载源码wget https://www.python.org/ftp/python/3.8.13/Python-3.8.13.tgz# 解压缩tar -zxvf Python-3.8.13.tgz# 编译配置,注意:不要加 --enable-optimizations 参数./configure --prefix=/usr/local/python3# 编译并安装make && make install
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 字节跳动开源ByConity:基于ClickHouse的存算分离架构云原生数仓
- 在 Meta 构建和部署 MySQL Raft
- 几个基于CDC实时同步数据的开源组件,让你的数据同步更实时
- Redis+DB实现基于号段的发号器原理
- Stable Diffusion背后团队发布开源大语言模型 可用于本地部署
- 一款基于开源框架实现的脚手架平台,帮助中小企业快速迭代开发
- 一文了解MongoDB的各种部署模式
- 了解基于光纤的局域网架构
- 微信基于 PyTorch 的大规模推荐系统训练实践
- 基于SQL的数据可视化和数据挖掘