类ChatGPT模型ChatGLM-b6本地部署实践

国外ChatGPT火爆持续,前一段时间百度发布“文心一言”还没有全面放开测试,这不阿里“通义千问”又悄然而至,国内大模型AI产品渐渐浮出水面。早在2022年8月份时候清华大学的对话语言模型ChatGLM-6B就发布并开源,本文简要介绍ChatGLM-6B在本地环境的部署实践。


1、ChatGLM-6B模型介绍

ChatGLM是清华大学研究的具备问答和对话功能的中英语言模型,ChatGLM-6B是发布的开源版本,可以直接部署在本地进行测试。GitHub官网(https://github.com/THUDM/ChatGLM-6B)介绍如下:

ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。

ChatGLM-6B使用了和ChatGPT相似的技术,针对中文问答和对话进行了优化。经过约1T标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的ChatGLM-6B已经能生成相当符合人类偏好的回答,更多信息请参考我们的博客。

为了方便下游开发者针对自己的应用场景定制模型,我们同时实现了基于P-Tuning v2的高效参数微调方法(使用指南) ,INT4量化级别下最低只需7GB显存即可启动微调。

不过,由于ChatGLM-6B的规模较小,目前已知其具有相当多的局限性,如事实性/数学逻辑错误,可能生成有害/有偏见内容,较弱的上下文能力,自我认知混乱,以及对英文指示生成与中文指示完全矛盾的内容。请大家在使用前了解这些问题,以免产生误解。更大的基于 1300 亿参数 GLM-130B 的 ChatGLM 正在内测开发中。

在这里插入图片描述

1)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,方便展示。

2)ChatGLM-6B局限和不足

  • 模型容量较小: 6B的小容量,决定了其相对较弱的模型记忆和语言能力。在面对许多事实性知识任务时,ChatGLM-6B可能会生成不正确的信息。
  • 可能会产生有害说明或有偏见的内容:ChatGLM-6B只是一个初步与人类意图对齐的语言模型,可能会生成有害、有偏见的内容。
  • 较弱的多轮对话能力:ChatGLM-6B的上下文理解能力还不够充分,在面对长答案生成,以及多轮对话的场景时,可能会出现上下文丢失和理解错误的情况。
  • 英文能力不足:训练时使用的指示大部分都是中文的,只有一小部分指示是英文的。
  • 易被误导:ChatGLM-6B的“自我认知”可能存在问题,很容易被误导并产生错误的言论。例如当前版本模型在被误导的情况下,会在自我认知上发生偏差。

2、ChatGLM模型本地部署

2.1 本地安装Python

1)Python安装

从官网下载(https://www.python.org/downloads/),Python版本在3.9以上,建议使用3.10

注:安装完成后修改默认的Python环境变量

2)安装pip

如果pip命令提示不存在,使用以下命令安装

py -m ensurepip --upgrade

安装完成后查看版本

pip --version
pip 23.0.1 from D:\Python3.10.9\lib\site-packages\pip (python 3.10)
2.2 下载项目程序包和模型包

1)从GitHub下载项目程序包https://github.com/THUDM/ChatGLM-6B

在这里插入图片描述

下载后解压到本地目录,如D:\ChatGPT\ChatGLM-6B-main

2)下载模型包chatglm

下载地址:https://huggingface.co/THUDM/chatglm-6b/tree/main

在这里插入图片描述

下载后解压到新建目录chatglm-6b:D:\ChatGPT\ChatGLM-6B-main\chatglm-6b

在这里插入图片描述

备注:8个模型文件可以从这里下载:https://cloud.tsinghua.edu.cn/d/fb9f16d6dc8f482596c2/

2.3 下载依赖包

1)执行命令安装依赖包

D:\>cd D:\ChatGPT\ChatGLM-6B-main
D:\ChatGPT\ChatGLM-6B-main>pip install -r requirements.txt

在这里插入图片描述

2)依赖包下载成功后安装

在这里插入图片描述

3)检查pytorch是否为GPU版本

>>> import torch
>>> torch.cuda.is_available()
False

如果是True表示为GPU版本

2.4 运行网页版Demo

1)修改模型路径,编辑web_demo.py,修改路径为2.2中模型包保存的目录

#model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().cuda()
model = AutoModel.from_pretrained("D:\ChatGPT\ChatGLM-6B-main\chatglm-6b", trust_remote_code=True).half().cuda()

2)执行如下命令,运行网页版本的demo,如下

python web_demo.py

由于电脑没有GPU,直接运行会提示“Torch not compiled with CUDA enabled”。因此需要修改为在CPU上进行推理,但是推理速度会更慢,修改方法如下:

model = AutoModel.from_pretrained("D:\ChatGPT\ChatGLM-6B-main\chatglm-6b", trust_remote_code=True).float()

在这里插入图片描述

内存不足,直接加载量化后的模型:

model = AutoModel.from_pretrained("THUDM/chatglm-6b-int4",trust_remote_code=True).float()

程序会运行一个Web Server,并输出地址。在浏览器中打开输出的地址即可使用。最新版Demo实现了打字机效果,速度体验大大提升。

在这里插入图片描述

注意,由于国内Gradio的网络访问较为缓慢,启用demo.queue().launch(share=True, inbrowser=True)时所有网络会经过Gradio服务器转发,导致打字机体验大幅下降,现在默认启动方式已经改为share=False,如有需要公网访问的需求,可以重新修改为share=True启动。


参考资料:

  1. https://chatglm.cn/blog
  2. https://huggingface.co/THUDM/chatglm-6b
  3. https://github.com/THUDM/ChatGLM-6B
  4. https://blog.csdn.net/tzhuwb/article/details/129910616
  5. ChatGPT热技术冷思考

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/71087.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

chatgpt赋能python:Python如何绑定登陆和主界面

Python如何绑定登陆和主界面 Python是一种开发Web应用程序的强大语言,被广泛运用于网站开发和应用程序开发,其可扩展性和丰富的开发库使得Python成为了Web开发的首选语言之一。在Web开发中,绑定登陆和主界面是一个非常重要的步骤&#xff0c…

北京内推 | 百度搜索策略部招聘NLP方向算法实习生(校招同步招收)

合适的工作难找?最新的招聘信息也不知道? AI 求职为大家精选人工智能领域最新鲜的招聘信息,助你先人一步投递,快人一步入职! 百度 【百度核心部门——搜索策略部】搜索,二十余年百度的发展根基;…

科研实习 | 新加坡国立大学尤洋老师课题组招收Data-centric AI科研实习生

合适的工作难找?最新的招聘信息也不知道? AI 求职为大家精选人工智能领域最新鲜的招聘信息,助你先人一步投递,快人一步入职! 新加坡国立大学 新加坡国立大学(National University of Singapore)&#xff0c…

北京内推 | 微软亚洲研究院数据知识智能组招聘大模型研究实习生

合适的工作难找?最新的招聘信息也不知道? AI 求职为大家精选人工智能领域最新鲜的招聘信息,助你先人一步投递,快人一步入职! 微软亚洲研究院 与MSRA Data Knowledge Intelligence组的科学家一起探索前沿最先进大模型&a…

错别字检查软件与人工校对:如何兼顾准确性和效率?

错别字检查软件和人工校对各有优劣,在兼顾准确性和效率方面需要结合实际情况进行选择和应用。以下是一些建议: 1.利用错别字检查软件:错别字检查软件可以帮助我们快速检测和纠正拼写错误,从而提高效率。在一些重复性工作和大规模数…

论文校对错别字检测工具

论文校对错别字检测工具 2018-4-15 07:35:37 论文校对错别字检测工具 盼望着,盼望着,东风来了,春天的脚步近了。毕业季也到来了。 高校中的芸芸学子们也忙着准备找工作、开始准备写毕业论文了。 毕业论文是学习路上的阶段性总结,标志性的报告。如果毕业论文中出现…

chatgpt赋能python:Python实现错别字纠正的重要性与方法

Python实现错别字纠正的重要性与方法 作为一种强大的编程语言,Python已经广泛应用于各行各业。其中,Python实现错别字纠正技术是非常重要的,它可以有效提升企业在线文本的质量和可读性。这篇文章将会介绍Python实现错别字纠正的重要性和方法…

中文汉字错别字纠错方法

前记 本文简单地讲解如何使用n-gram模型结合汉字拼音来作中文错别字纠错,然后介绍最短编辑距离在中文搜索纠错方面的应用;最后从依赖树入手讲解如何作文本长距离纠错(语法纠错),并从该方法中得到一种启示,利…

免费错别字检测、在线纠错工具

爱校对 依托清华大学人机交互实验室的技术成果 针对错别字、多字、少字、敏感词、禁用词、用法错误、表述错误、语法错误等可实时校对。 爱校对 在线校对网站http://www.ijiaodui.com 在新闻出版、自媒体等多个领域,因为错别字、敏感词汇等引起的文本错误非常频繁…

《XrayGLM:基于VisualGLM-6B微调训练对X光胸片进行医学诊断》学习分享与本地项目微调部署实践

XrayGLM据说是首个会看胸部X光片的中文多模态医学大模型,我最近也是因为关注这个所以就找时间学习了一下,顺便把学习资料对应记录分享一下。 官方提供了开源的项目,地址在这里,如下所示: 最近,通用领域的大…

【心理咨询师考试笔记】基础理论(一)——心理学概论

心理学概论 文章目录 心理学概论一、绪论1.基础心理学的研究对象及研究内容是什么?2.心理包括什么?3.心理现象发生发展的过程4.心理学发展简史 二、心理活动的生理基础1.神经元2.神经系统(1)神经系统结构(2&#xff09…

【心理咨询师考试笔记】基础理论(六)——心理咨询概论

心理咨询概论 文章目录 心理咨询概论一、概述简史基本概念心理咨询师应有的思维方式与态度心理咨询师应具备的条件 二、精神分析理论观点分区观点结构观点心理动力观点发展观点适应观点 三、行为主义理论观点行为主义心理学的先驱操作性条件反射和应答性条件反射的区别内隐与外…

【心理咨询师考试笔记】操作技能(二)——心理评估

心理评估 文章目录 心理评估一、概述二、心理评估在心理咨询中的作用三、心理评估的方法四、个案概念化五、心理诊断技能一:初诊接待与资料的搜集、整理二:初步诊断 六、心理测验技能人格测验类问卷明尼苏达多相人格测验(MMPI)卡特…

为本教育柳春丽心理咨询师擅长哪些方面领域

柳春丽老师-为本教育心理咨询师-国家二级心理咨询师擅长领域如下: 1、情绪问题咨询: (如自卑、内疚、焦虑、恐惧、愤怒、悲伤等)的调节。 2、个人成长咨询: 内向孤僻、缺乏自信、敏感多疑、性格缺陷、人际关系紧张…

【Claude2体验】继ChatGPT,文心一言,Bing等大模型后,初次对话Claude2的体验

文章目录 🌺注意事项🤖什么是Claude2⭐与之前版本的进步🛸官网的讲解🍔功能介绍🎄使用体验🎆查看不知道如何才能打开的文档 的内容🎆日常需求✨Claude✨ChatGPT3.5 🤖总结 &#x1f…

Docker网络

文章目录 一、引言二、网络原理2.1 Linux veth pair2.2 虚拟网卡Docker0 三、容器互联–Link四、网络模式五、container模式六、自定义网络4.1 创建网络4.2 Docker网络驱动程序和网络模式区别 七、网络连通八、常见使用命令九、总结十、参考资料 一、引言 一直拖着Docker网络这…

微软AI太会了,示爱威胁PUA!

微软在以ChatGPT为基础的最新搜索引擎New Bing在公测仅一周后就引发了人们的担忧和恐惧。用户反馈,New Bing不仅会表现出类似示爱、PUA和威胁人类等人类特有的行为,还可能超越人类意志和价值观,并违反“阿西莫夫的机器人三定律”。这引起了人…

ubuntu16.04没有声音解决方案

上网搜了一堆资料也没解决,自己瞎捣鼓给弄好了,记录下 输入下面命令安装pavucontrol: #sudo apt install pavucontrol #pavucontrol 运行h之后就是下图这个样子 点击Playback选项,将下面的Built-in Audio Analog Stereo修改为Lo…

解决腾讯会议没有声音的问题

文章目录 问题背景解决方案 问题背景 最近,在连接蓝牙耳机听腾讯会议时,发现没有声音,音量合成器里也没有腾讯会议。切换成外放时,发现音量控制键也失效了。 解决方案 这种情况除了软件内部的声音设置问题,很有可能…

借军工经验开拓消费市场,三星显示收购eMagin浅析

前不久三星显示(Samsung Display)宣布,拟支付2.18亿美元收购微显示方案商eMagin全部普通股,收购完成后eMagin将并入三星显示,以加速XR显示业务发展。 据青亭网了解,eMagin成立于1996年,该公司多…