当前位置: 首页 > news >正文

LLM大模型ChatGLM-6B 本地部署与运行

本文详细介绍清华开源项目 ChatGLM 本地部署的详细教程。清华开源项目 ChatGLM-6B 已发布开源版本,这一项目可以直接部署在本地计算机上做测试,无需联网即可体验与 AI 聊天的乐趣

目录

一、ChatGLM-6B介绍

二、环境配置

三、运行测试

四、局限性


一、ChatGLM-6B介绍

        本文详细介绍清华开源项目 ChatGLM 本地部署的详细教程。清华开源项目 ChatGLM-6B 已发布开源版本,这一项目可以直接部署在本地计算机上做测试,无需联网即可体验与 AI 聊天的乐趣。

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

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

        ChatGLM-6B 权重对学术研究完全开放,在填写问卷进行登记后亦允许免费商业使用

二、环境配置

        1.首先需要下载Anaconda和PyCharm。

Anaconda官网:https://www.anaconda.com/download/

PyCharm官网:https://www.jetbrains.com/zh-cn/pycharm/

PyCharm建议下载专业版的,上网找个激活码就ok。

安装过程很简单,网上教程一大堆,随便找个一步步来就可以。就不再赘述。

        2.安装好Anaconda之后,在开始菜单栏会有文件夹,打开Anaconda Prompt(记住不能错,必须是Anaconda Prompt)

新建虚拟环境,代码如下:

conda create -n llm python3.10 -y#创建名字为llm的环境,python版本为3.10conda activate llm
#激活环境llm
如图所示:

看到下面这个这个状态就是创建成功了。

3.下载模型包 chatglm

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

普通配置的电脑建议下载Int4的轻量化版本,不然显卡带不动,该版本效果比原版本差一些。

下载完成之后,用pycharm打开,打开设置,配置刚才创建的环境llm,如图所示:

完成之后,安装需要的包:

pip install -r requirements.txtpip install gradio

在pycharm的终端里面,激活环境llm,pip一键下载即可。

(注意不要点错了,不是console,是prompt)

如果在pycharm里面pip下载报错,直接打开Anaconda Prompt,激活llm环境,手动pip install 下载需求文件里面的库即可。

三、运行测试

        在代码里面,cli_demo.py是命令行对话的示例,web_demo.py是网页版的示例,直接点击运行这个。

        程序会运行一个 Web Server,并输出地址。在浏览器中打开输出的地址即可使用。最新版 Demo 实现了打字机效果,速度体验大大提升。注意,由于国内 Gradio 的网络访问较为缓慢,启用 demo.queue().launch(share=True, inbrowser=True) 时所有网络会经过 Gradio 服务器转发,导致打字机体验大幅下降,现在默认启动方式已经改为 share=False,如有需要公网访问的需求,可以重新修改为 share=True 启动。

四、局限性

由于 ChatGLM-6B 的小规模,其能力仍然有许多局限性。以下是我们目前发现的一些问题:

  • 模型容量较小:6B 的小容量,决定了其相对较弱的模型记忆和语言能力。在面对许多事实性知识任务时,ChatGLM-6B 可能会生成不正确的信息;它也不擅长逻辑类问题(如数学、编程)的解答。

  • 产生有害说明或有偏见的内容:ChatGLM-6B 只是一个初步与人类意图对齐的语言模型,可能会生成有害、有偏见的内容。(内容可能具有冒犯性,此处不展示)

  • 英文能力不足:ChatGLM-6B 训练时使用的指示/回答大部分都是中文的,仅有极小一部分英文内容。因此,如果输入英文指示,回复的质量远不如中文,甚至与中文指示下的内容矛盾,并且出现中英夹杂的情况。

  • 易被误导,对话能力较弱:ChatGLM-6B 对话能力还比较弱,而且 “自我认知” 存在问题,并很容易被误导并产生错误的言论。例如当前版本的模型在被误导的情况下,会在自我认知上发生偏差。

相关文章:

  • 算法工程师面试题一
  • Git配置笔记
  • 环境配置|PyCharm——Pycharm本地项目打包上传到Github仓库的操作步骤
  • 未来的社交标杆:如何通过AI让Facebook更加智能化?
  • 【网络文明】关注网络安全
  • vim网络和安全的操作及shell的使用
  • 防火墙之双机热备篇
  • Java Spring Boot的三层结构
  • Kafka Producer发送消息流程之分区器和数据收集器
  • 电阻有哪些参数呢
  • 13 个最受欢迎的技术写作工具
  • Proteus + Keil单片机仿真教程(六)多位LED数码管的动态显示
  • 镜像与容器
  • PostgreSQL 慢 SQL 排查
  • 【MySQL篇】Percona XtraBackup工具备份指南:常用备份命令详解与实践(第二篇,总共五篇)
  • C++入门教程(10):for 语句
  • CAP理论的例子讲解
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • HTTP 简介
  • iOS 颜色设置看我就够了
  • Java 23种设计模式 之单例模式 7种实现方式
  • Js基础——数据类型之Null和Undefined
  • Laravel5.4 Queues队列学习
  • Meteor的表单提交:Form
  • php中curl和soap方式请求服务超时问题
  • React16时代,该用什么姿势写 React ?
  • socket.io+express实现聊天室的思考(三)
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 反思总结然后整装待发
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 机器学习中为什么要做归一化normalization
  • 前嗅ForeSpider教程:创建模板
  • 深入浅出Node.js
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 在electron中实现跨域请求,无需更改服务器端设置
  • 《码出高效》学习笔记与书中错误记录
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • ​queue --- 一个同步的队列类​
  • # 详解 JS 中的事件循环、宏/微任务、Primise对象、定时器函数,以及其在工作中的应用和注意事项
  • #QT(QCharts绘制曲线)
  • (003)SlickEdit Unity的补全
  • (03)光刻——半导体电路的绘制
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (佳作)两轮平衡小车(原理图、PCB、程序源码、BOM等)
  • (论文阅读11/100)Fast R-CNN
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (转)fock函数详解
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • .apk 成为历史!