ChatGLM-6b本地安装手把手教学

2023-11-19

什么是ChatGLM-6B

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

ChatGLM-6B安装

环境准备:python 3.9.6

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

1.Torch安装

1)torch测试执行下面代码

# cuda支持检查
import torch
print(torch.cuda.is_available())

显示 False 说明驱动还没好

2)检查安装适合自己的cuda

在NVIDIA控制面板中点击 帮助-》系统信息 查看自己的CUDA适配版本
在这里插入图片描述

也可 cmd 中使用 nvcc -V 命令查看安装情况

CUDA下载安装(注:CUDA版本可以向下兼容,选择大于11.7的版本)这里选择了12.1.0
https://developer.nvidia.com/cuda-toolkit-archive

在这里插入图片描述

CUDA下载安装完成后 进入网站 https://pytorch.org/get-started/previous-versions/ 选择适配自己的torch安装,经过测试 与 cuda11.8 的torch兼容
在这里插入图片描述

# CUDA 11.8
pip install torch==2.0.0+cu118 torchvision==0.15.1+cu118 torchaudio==2.0.1 --index-url https://download.pytorch.org/whl/cu118

注意:
pip 安装自行选择本地还是虚拟环境

#创建虚拟环境
python -m venv venv

#liunx下进入虚拟环境
source venv/bin/activate

#windows下进入虚拟环境
venv\Scripts\activate

2.ChatGLM-6B模型安装

1)将 ChatGLM-6B 项目克隆到本地 https://github.com/THUDM/ChatGLM-6B

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

2)安装依赖

进入到项目目录执行命令:

pip install -r requirements.txt

可以查看项目中的 requirements.txt 是所需要的依赖,其中 transformers 库版本推荐为 4.27.1,但理论上不低于 4.23.1 即可。
在这里插入图片描述
3) 从本地加载模型

从 Hugging Face Hub 下载模型需要先安装Git LFS https://docs.github.com/zh/repositories/working-with-files/managing-large-files/installing-git-large-file-storage,然后运行

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

如果你从 Hugging Face Hub 上下载 checkpoint 的速度较慢,可以只下载模型实现

GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/THUDM/chatglm-6b

然后从这里手动下载模型参数文件,并将下载的文件放到任意路劲下或者替换 THUDM/chatglm-6b 目录下。

2.Demo测试

在 requirements.txt 中已经安装好 gradio,我们只需要替换模型路径
在这里插入图片描述
运行web_demo.py
在这里插入图片描述

运行成功后会出现访问地址,访问即可!
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ChatGLM-6b本地安装手把手教学 的相关文章

随机推荐

  • IDEA 配置aliyunmaven 仓库地址无法下载依赖jar 包

    由于Mavn 默认公共仓库地址是国外的导致下载jar 包比较慢 所以推荐使用aliyun maven 仓库镜像 编辑setting xml 文件 在mirrors节点下 新增如下内容 我按照百度检索的结果 在maven 的setting x
  • 接口测试八(压缩解压)

    转自 http www 360doc com content 16 0128 15 30056680 531241550 shtml 一 什么是HTTP压缩 HTTP压缩采用通用的压缩算法如gzip等压缩HTML JavaScript或CS
  • Vue项目创建

    1 创建项目 在终端中输入命令 vue create 项目名称用以创建项目 在命令输入前会有命名提示符 提示当前所在目录是哪里 输入命令之后 等待片刻 会出现选择vue版本 选择vue2项目 2 配置路由 配置路由 需要下载依赖库 要通过c
  • 常见脚本命令

    1 taskkill是Windows命令行里终止指定程序 进程 的命令 f 表示强制终止 im 表示指定的进程名称 例如 explor exe 2 start C Program Files erwin Data Modeler r9 er
  • MVC发展历程及思想

    两种web应用程序的开发模式 model 1 JSP JavaBean JSP负责 页面显示 页面跳转 调用Javabean处理数据 处理请求 JavaBean负责 数据封装保存 数据处理逻辑 适用场景 model 1 方式适合开发业务逻辑
  • android开发:jd-gui的下载和使用

    参考 jd gui的下载和使用
  • 常见JS动画效果

    作为一名前端开发人员 想要的大多都是 在开发过程中 看着自己制作的动画的炫酷以及困难的解决 开发结束后 自己的项目 成果可以被他人认可接受 人们浏览网页时 若一个网页动画效果丰富炫酷 性能良好 体验度良好 自然会受到吸引去打来浏览 吸引用户
  • 为什么模板不能模板分离编译(模板的定义与声明分离)

    目录 一 什么是分离编译 二 为什么不能 三 解决方案 1 模板定义的位置显式实例化 2 将声明和定义放到同一个文件里 不让定义和声明分离 一 什么是分离编译 一个程序 项目 由若干个源文件共同实现 而每个源文件单独编译生成目标文件 最后将
  • qt sql 查询 正序,倒序

    QString str QString SELECT Date Time People Event FROM TB LOG WHERE People 1 order by Date desc limit 0 2000 arg 模式 orde
  • 请你介绍一下map的分类和常见的情况

    java为数据结构中的映射定义了一个接口java util Map 它有四个实现类 分别是HashMap Hashtable LinkedHashMap 和TreeMap Map主要用于存储健值对 根据键得到值 因此不允许键重复 重复了覆盖
  • 机器学习-线性回归总结

    最近学习了线性回归的模型 也是机器学习中最基础的一种模型 在此 总结一下线性回归的模型介绍 梯度下降以及正规方程 回归问题 线性回归 顾名思义 属于回归问题 既然是回归问题 那必然属于监督学习 在这里简单再介绍一下什么是回归问题 回归用于预
  • Matlab出错向量长度必须相同,代码已贴。错误使用plot3,向量长度必须相同

    clc clear all theta 60 半功率角 m log10 2 log10 cosd theta P LED 0 02 nLED 60 P total nLED nLED P LED Ar 1e 4 Ts 1 index 1 5
  • 智能科学工程毕业设计如何选题

    文章目录 0 简介 1 如何选题 2 最新智科毕设选题 3 最后 0 简介 学长搜集分享最新的智能科学工程与技术业专业毕设选题 难度适中 适合作为毕业设计 大家参考 学长整理的题目标准 相对容易 工作量达标 题目新颖 1 如何选题 最近非常
  • 【MicroPython RP2040】可编程IOs(PIO)示例介绍

    MicroPython RP2040 可编程IOs PIO 原文链接 https www cnx software com 2021 01 27 a closer look at raspberry pi rp2040 programmab
  • VSCode连接WSL2及VMware,WSL2安装GUI应用

    一 VScode 连接WSL2 参考文章 巨硬官方文档 知乎大佬教程 知乎大佬教程2 1 开启WSL2 支持 使用管理员权限的 Shell 才能安装 WSL2 按 Win X 找到 Windows PowerShell 管理员 并复制执行命
  • mysql (Errcode: 13 - Permission denied)没有权限找不到文件问题

    下午五点钟 突然反馈说某个页面报错 然后还想让我加班 并且很迅速的帮我点了外卖 我还打算今晚去健身房呢 1 首先从案发现场勘察 页面返回500 2 之后看后台发现某个数据表not found permission denied 3 最后到后
  • 第一次跑高光谱数据结果

    1 所用数据集 Bostwana Indian Pines 所用算法 SVM 2 数据分析 高光谱数据维数高 信息量大 冗余信息多 这些先都不考虑 先输入SVM数据再考虑 3 试验流程 加载数据 包括Data和label 数据预处理 归一化
  • python Pycharm出现“can't find '__main__' module”解决方案

    第一次运行Pycharm工程 出现 can t find main module 最后发现 原来是配置没配对 因为在配置时没有选择 py文件 而只选择了工程名 因此选择Edit Configurations 选择Edit Configura
  • 从“深度伪造”到“深度合成”:AI为啥需要一次“正名”?

    在世人对AI的 邪恶性 进行攻诘的浪潮中 AI造假 可能已经是现在排首位的理由了 自从2017年Deepfake 深度伪造 横空出世以后 人们惊呼原来AI在造假方面简直天赋异禀 此后 AI生成内容 技术 特别是GAN算法的突飞猛进更加印证了
  • ChatGLM-6b本地安装手把手教学

    什么是ChatGLM 6B ChatGLM 6B 是一个开源的 支持中英双语的对话语言模型 基于 General Language Model GLM 架构 具有 62 亿参数 结合模型量化技术 用户可以在消费级的显卡上进行本地部署 INT