您当前的位置:首页 > 电脑百科 > 人工智能

基于 ChatGLM-6B 部署本地私有化 ChatGPT

时间:2023-06-01 13:58:55  来源:微信公众号  作者:Android开发编程

最近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 已经能生成相当符合人类偏好的回答;

2、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 具备了一定条件下较好的对话与问答能力;

3、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

3、部署ChatGLM 6B

3.1 下载源码

直接下载chatGLM-6B  https://Github.com/THUDM/ChatGLM-6B

git下载  git clone https://github.com/THUDM/ChatGLM-6B

3.2 安装依赖

进入ChatGLM-6B目录

使用 pip 安装依赖:pip install -r requirements.txt,其中 transformers 库版本推荐为 4.27.1,但理论上不低于 4.23.1 即可。

此外,如果需要在 cpu 上运行量化后的模型,还需要安装 gcc 与 openmp。多数 linux 发行版默认已安装。对于 windows ,可在安装 TDM-GCC 时勾选 openmp。 Windows 测试环境 gcc 版本为 TDM-GCC 10.3.0, Linux 为 gcc 11.3.0

3.3 下载模型

从 Hugging Face Hub 下载

可以手动下载https://huggingface.co/THUDM/chatglm-6b/tree/main

git下载 git clone https://huggingface.co/THUDM/chatglm-6b

将模型下载到本地之后,将以上代码中的 THUDM/chatglm-6b 替换为你本地的 chatglm-6b 文件夹的路径,即可从本地加载模型;

在chatglm-6b文件下创建一个model文件夹放模型文件

3.4 代码调用

可以通过如下代码调用 ChatGLM-6B 模型来生成对话:

模型的实现仍然处在变动中。如果希望固定使用的模型实现以保证兼容性,可以在 from_pretrained 的调用中增加 revisinotallow="v1.1.0" 参数。

>>> from transformers import AutoTokenizer, AutoModel
>>> tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", tRust_remote_code=True)
>>> model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().cuda()
>>> model = model.eval()
>>> response, history = model.chat(tokenizer, "你好", history=[])
>>> print(response)
你好


Tags:ChatGPT   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除。
▌相关推荐
最近chatGPT很火,但是用起来需要翻墙,国内也有很多模型,什么百度的文心一言、阿里的盘古、还有科大讯飞的模型等等,那么今天我们就来介绍下怎么在本地自己部署自己的聊天模型,也...【详细内容】
2023-06-01  Tags: ChatGPT  点击:(0)  评论:(0)  加入收藏
自2022年11月公开发布以来,ChatGPT经历了显著增长。它已成为许多企业和个人必不可少的工具,但随着ChatGPT大面积融入我们的日常生活和工作,人们自然会思考:ChatGPT使用安全吗?由...【详细内容】
2023-06-01  Tags: ChatGPT  点击:(4)  评论:(0)  加入收藏
新浪科技讯 北京时间6月1日早间消息,据报道,当地时间周三,OpenAI公司通过论文介绍了一种全新的方法,来训练生成式人工智能语言模型。OpenAI这一研究成果来得很是时候,最近,随着生...【详细内容】
2023-06-01  Tags: ChatGPT  点击:(5)  评论:(0)  加入收藏
使用chatgpt进行辅助编程首先要清晰描述自己需求,生成代码通过不断调试及优化,最终完成任务。有它,对程序员是好事也是坏事。一、确认功能请编程实现以下功能:1.所有html保存在a...【详细内容】
2023-05-31  Tags: ChatGPT  点击:(4)  评论:(0)  加入收藏
今天,AI 领域传出一封重要的公开信。包括「ChatGPT 之父」Sam Altman 在内 350 位 AI 权威都签署了这封联名公开信,并对当前正在开发的 AI 技术可能会对人类构成生存威胁担忧...【详细内容】
2023-05-31  Tags: ChatGPT  点击:(11)  评论:(0)  加入收藏
日前,人工智能巨头OpenAI在官网宣布,其在美国正式推出了适用于iOS的ChatGPT应用程序,并表示未来几周将扩展到其他国家,支持安卓系统的App应该很快就会到来。OpenAI 聊天机器人Ch...【详细内容】
2023-05-31  Tags: ChatGPT  点击:(1)  评论:(0)  加入收藏
文章转载来源:AIGC来源:AIGC开放社区AI平台Writer发布了一项关于生成式AI工具的调查报告。主要查看企业对ChatGPT等生成式AI的应用情况和看法。数据显示,ChatGPT成为企业应用最...【详细内容】
2023-05-31  Tags: ChatGPT  点击:(3)  评论:(0)  加入收藏
这些交易员在AI选股上总共押注了1470万美元,这意味着平均每人押注近600美元。但两个投资组合的短期结果显示,一个GPT投资组合基本和大盘持平,另一个则大幅跑输投资标的虚拟货币...【详细内容】
2023-05-30  Tags: ChatGPT  点击:(12)  评论:(0)  加入收藏
图片来源@视觉中国文 | 零点有数科技ChatGPT是OpenAI最新的语言模型,与其他大型语言模型一样,能够以不同的样式和目的生成文本,并且在准确度、叙述细节和上下文连贯性方面表现...【详细内容】
2023-05-29  Tags: ChatGPT  点击:(7)  评论:(0)  加入收藏
要在 C++ 中调用 ChatGPT API,您可以使用以下步骤: 首先,安装 C++ 的 HTTP 客户端库,例如 libcurl 或者 Poco。 创建一个 HTTP 客户端实例,以便向 OpenAI API 发送 HTTP 请求。 ...【详细内容】
2023-05-29  Tags: ChatGPT  点击:(6)  评论:(0)  加入收藏
▌简易百科推荐
最近chatGPT很火,但是用起来需要翻墙,国内也有很多模型,什么百度的文心一言、阿里的盘古、还有科大讯飞的模型等等,那么今天我们就来介绍下怎么在本地自己部署自己的聊天模型,也...【详细内容】
2023-06-01  Android开发编程  微信公众号  Tags:ChatGPT   点击:(0)  评论:(0)  加入收藏
自2022年11月公开发布以来,ChatGPT经历了显著增长。它已成为许多企业和个人必不可少的工具,但随着ChatGPT大面积融入我们的日常生活和工作,人们自然会思考:ChatGPT使用安全吗?由...【详细内容】
2023-06-01    IT168企业级  Tags:ChatGPT   点击:(4)  评论:(0)  加入收藏
新浪科技讯 北京时间6月1日早间消息,据报道,当地时间周三,OpenAI公司通过论文介绍了一种全新的方法,来训练生成式人工智能语言模型。OpenAI这一研究成果来得很是时候,最近,随着生...【详细内容】
2023-06-01  新浪科技    Tags:大模型   点击:(5)  评论:(0)  加入收藏
伴随着ChatGPT的崛起,AI的风险之说也不绝于耳。当地时间5月30日,非营利组织“人工智能安全中心”(Center for AI Safety)在其官网发布一封联名公开信,称减轻AI(给人类)带来的灭绝风...【详细内容】
2023-06-01    每日经济新闻  Tags:AI   点击:(4)  评论:(0)  加入收藏
从2019年开始,Anna一直在国内的跨境电商平台兼职做假发模特,在今年3月之前,她一直有着比较稳定的接单量。但在最近,她的接单量开始骤降——跟她抢饭碗的正是在国内外...【详细内容】
2023-06-01    每日经济新闻  Tags:AI   点击:(3)  评论:(0)  加入收藏
日前,人工智能巨头OpenAI在官网宣布,其在美国正式推出了适用于iOS的ChatGPT应用程序,并表示未来几周将扩展到其他国家,支持安卓系统的App应该很快就会到来。OpenAI 聊天机器人Ch...【详细内容】
2023-05-31  爱云资讯    Tags:ChatGPT   点击:(1)  评论:(0)  加入收藏
 人工智能的时代已经到来,那些生产旧芯片的厂商也未必会被抛弃在后。生产存储芯片和闪存芯片的厂商也将受益于AI大潮。如今美股市场上最火爆的股票非英伟达莫属。投资者的目...【详细内容】
2023-05-31    华尔街见闻  Tags:芯片   点击:(2)  评论:(0)  加入收藏
文章转载来源:AIGC来源:AIGC开放社区AI平台Writer发布了一项关于生成式AI工具的调查报告。主要查看企业对ChatGPT等生成式AI的应用情况和看法。数据显示,ChatGPT成为企业应用最...【详细内容】
2023-05-31    AIGC开放社区  Tags:ChatGPT   点击:(3)  评论:(0)  加入收藏
【科技创新世界潮】据英国《每日邮报》网站报道,来自美国和英国的8位人工智能(AI)专家就这项技术在未来10年将如何改变人们生活进行了预测。这些专家表示,到2030年,AI可以照顾...【详细内容】
2023-05-31    科技日报  Tags:人工智能   点击:(4)  评论:(0)  加入收藏
这段时间,关于马超吃中线的问题,引起了玩家激烈的争议,有很大一批玩家都非常唾弃马超吃中线的行为。王者荣耀吃中线的英雄很多,射手打野对抗路,只要有机会,都会跑到中路吃线,那为何...【详细内容】
2023-05-29  游戏热点    Tags:王者荣耀   点击:(9)  评论:(0)  加入收藏
站内最新
站内热门
站内头条