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

这篇具有很好参考价值的文章主要介绍了类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 正在内测开发中。

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

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

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

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

2)下载模型包chatglm

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

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

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

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

备注: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

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

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

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

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()

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

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

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

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

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

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


参考资料:文章来源地址https://www.toymoban.com/news/detail-439936.html

  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热技术冷思考

到了这里,关于类ChatGPT模型ChatGLM-b6本地部署实践的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【ChatGLM_01】ChatGLM2-6B本地安装与部署(大语言模型)

    ChatGLM2-6B是一个开源的、支持中英双语的对话语言模型,基于General Language Model (GLM)架构。 ChatGLM2-6B具备的能力: 自我认知:“介绍一下你的优点” 提纲写作:“帮我写一个介绍ChatGLM的博客提纲” 文案写作:“写10条热评文案” 信息抽取:‘从上述信息中抽取人、时间、事件

    2024年02月14日
    浏览(32)
  • AI模型部署记录(一)-ChatGLM:清华开源本地部署(2023/05/06更新)

    文章首发及后续更新:https://mwhls.top/4500.html,无图/无目录/格式错误/更多相关请至首发页查看。 新的更新内容请到mwhls.top查看。 欢迎提出任何疑问及批评,非常感谢! 服务部署汇总 本来这篇是为了打比赛写的,写着写着发现两个问题,AI部署连续几篇,等我比赛打完再发模

    2024年02月03日
    浏览(25)
  • 开源双语对话语言模型 ChatGLM-6B 本地私有化部署

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

    2024年02月10日
    浏览(26)
  • 本地构建自己的chatgpt已成为可能,国外团队从GPT3.5提取大规模数据完成本地机器人训练,并开源项目源码和模型支持普通在笔记上运行chatgpt

    国外团队从GPT3.5提取大规模数据完成本地机器人训练,并开源项目源码和模型支持,普通在笔记上运行chatgpt。下面是他们分享的:收集到的数据、数据管理程序、训练代码和最终模型,以促进开放研究和可重复性。 在 2023 年 3 月 20 日至 2023 年 3 月 26 日期间,该团队使用 GPT

    2023年04月21日
    浏览(36)
  • 模型训练系列:1、用清华ChatGLM-6B模型部署自己的本地AI助手

    最近清华大学开源的ChatGLM-6B语言模型在国际上大出风头,仅仅62亿参数的小模型,能力却很强。很期待他们后续1300亿参数模型130B的发布。 为什么一些能力较弱的小模型,这么受追捧?因为ChatGPT、GPT-4虽好,毕竟被国外封锁,而且还要付费,更重要的是,LLM要在各行业提高生

    2024年02月11日
    浏览(23)
  • AIGC|手把手教你进行ChatGLM模型部署实践

    模型部署基本步骤分为模型选择、模型部署、运行,如果需要在特定的场景下定制化模型,则还需要进行数据集的选择、数据集格式转换、微调。 根据上述的步骤本教程选取如下的开源模型、数据集,来对医疗场景下进行定制化模型部署。当然模型部署对GPU要求非常高,所以

    2024年02月03日
    浏览(21)
  • chatglm2-6b模型在9n-triton中部署并集成至langchain实践

    近期, ChatGLM-6B 的第二代版本ChatGLM2-6B已经正式发布,引入了如下新特性: ①. 基座模型升级,性能更强大,在中文C-Eval榜单中,以51.7分位列第6; ②. 支持8K-32k的上下文; ③. 推理性能提升了42%; ④. 对学术研究完全开放,允许申请商用授权。 目前大多数部署方案采用的是

    2024年02月12日
    浏览(22)
  • 英特尔集成显卡+ChatGLM3大语言模型的企业本地AI知识库部署

    作者: 英特尔创新大使 刘力 英特尔开发者技术推广经理 李翊玮     在当今的企业环境中,信息的快速获取和处理对于企业的成功至关重要。为了满足这一需求,我们可以将RAG技术与企业本地知识库相结合,以提供实时的、自动生成的信息处理和决策支持。这将有助于企业

    2024年04月26日
    浏览(36)
  • 【chatglm2】使用Python在CPU环境中运行 chatglm.cpp 可以实现本地使用CPU运行chatglm2模型,速度也特别的快可以本地部署,把现有项目进行AI的改造。

    https://github.com/li-plus/chatglm.cpp.git 这个项目和llama.cpp 项目类似,使用C++ 去运行模型的。 项目使用了 ggml 这个核心模块,去运行的。 可以支持在 cpu 上面跑模型。 ChatGLM2-6B 是开源中英双语对话模型 ChatGLM-6B 的第二代版本,在保留了初代模型对话流畅、部署门槛较低等众多优秀

    2024年02月08日
    浏览(67)
  • 中科院ChatGPT 学术版 本地部署实践记录

    近期中科院ChatGPT 学术版 在github上限了,截止本文发布已经有18.3k的star了。 他们将ChatGPT 学术版开源出来真的非常好,能让更多的人享受到科技的红利。 我也想着试一下,这次也记录下本地部署的过程。 其实文件中的readme,已经说的很清楚了,这里是给自己一下午的工作做

    2023年04月08日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包