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

news2024/10/7 20:37:05

什么是ChatGLM-6B

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

ChatGLM-6B安装

环境准备:python

如果需要在 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适配版本
在这里插入图片描述

CUDA下载安装(注:CUDA版本可以向下兼容,选择大于11.7的版本) https://developer.nvidia.com/cuda-toolkit-archive
在这里插入图片描述

CUDA下载安装完成后 进入网站 https://pytorch.org/get-started/previous-versions/ 选择适配自己的torch安装,我这里是11.7所以我选择CUDA 11.7的命令执行
在这里插入图片描述

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

注意:
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
在这里插入图片描述

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis【入门篇】---- Redis的Java客户端-SpringDataRedis

Redis【入门篇】---- Redis的Java客户端-SpringDataRedis 1. 快速入门1. 导入pom坐标2. 配置文件3. 测试代码 2. 数据序列化器3. StringRedisTemplate4. Hash结构操作 SpringData是Spring中数据操作的模块,包含对各种数据库的集成,其中对Redis的集成模块…

网络安全|渗透测试入门学习,从零基础入门到精通—静态分析技术详解

目录 前言 1、文件类型分析 2、反汇编引擎 2.1、OllyDbg的ODDisasm 2.2、BeaEngine 2.3、Udis86 2.5、AsmJit 2.6、Keystone 2.7、小结 前言 用高级语言编写的程序有两种形式。一种程序是被编译成机器语言在CPU上执行的,例如Visual C。机器语言与汇编语言几乎…

【Docker】docker启动oracle11g并初始化数据,部署和使用

前提:已经在docker中安装好Oracle 1.启动docker: docker run --name oracle11 -p 1521:1521 -e ORACLE_ALLOW_REMOTEtrue -e ORACLE_PWDoracle -d oracleinanutshell/oracle-xe-11g出现问题,请查看:Exited 139解决Window下docke…

web漏洞-反序列化之JAVA全解(38)

首先第一个就是概念。第二个是他的利用,一个好用的工具ysoserial,主要用来生成工具的paload,修复大差不差。 #概念:我们有时候需要保存某一个对象的信息,会进行一些操作,类似于反序列化,序列化…

Mysql 逗号‘,’拼接的字符串怎么查询包含的匹配数据?

上数据 : 可以看到sn 存储的方式的逗号拼接的方式。 那么怎么去做sn这个字段的匹配查找呢? ① like (不考虑) 首先 like 是不行的, 除非你能保证 你的 逗号拼接这里面的数据不包含 重复的值, 比如 1 和…

Unreal 5 实现骨骼网格体转静态网格体顶点动画

如果需要大批量的渲染具有动作的模型,如果使用骨骼网格体渲染模型,量级上去以后,性能肯定扛不住的。如果需要实现大批量的渲染相同的带有动画的模型,我们需要实现将骨骼网格体烘焙成静态网格体,然后将骨骼网格体动画转…

D. Dot(思维+记忆化搜索dfs)

翻译: D. 点 时间限制:3秒 内存限制:256兆字节 输入:标准输入 输出:标准输出 Anton和Dasha喜欢在棋盘纸上玩不同的游戏。到11年级时,他们成功玩过了所有这类游戏,并请程序员Vova想出一个新…

基于 Leaflet 的缩放功能:在最后一层瓦片缺失时进行优化

这里写自定义目录标题 第一种方式第二种方式第三种方式 引言:Leaflet 是一个广泛使用的开源 JavaScript 库,用于创建交互式、可定制的地图应用程序。在 Leaflet 中,默认情况下,瓦片地图是通过切分成多个瓦片来展示的,这…

华为防火墙之NAT技术

1.源NAT 源NAT技术对IP报文的源地址进行转换,将私网IP地址转换成公网IP地址,使大量私网用户可以利用少量公网IP地址访问Internet,大大减少了对公网IP地址的消耗。 源NAT转换的过程如下图所示,当私网用户访问Internet的报文到达防…

Ubuntu终端最大化的3种方法

摘要:Ubuntu 系统下,使用Ctrl Alt T 快捷键唤醒终端时默认大小为 80 列 x 24 行。在某些测试中我们需要更大的窗口,而通过鼠标将窗口最大化太慢了,所以本文介绍了快速实现终端窗口最大化的 3 种方法。 声明:本文所有…

java安全——Java 默认沙箱

Java安全 Java 默认沙箱 程序设计者或者管理员通过改变沙箱的参数从而完成权限的变动更新 Java默认沙箱的设计目的是为了保护系统和用户的安全。Java虚拟机提供了一种机制,让Java应用程序在一个受限的环境中运行,也就是“沙箱”。这个沙箱能够在应用程序…

微信支付证书过期了怎么办

什么是商户API证书?如何获取商户API证书? 微信原文档:https://kf.qq.com/faq/161222NneAJf161222U7fARv.html 注:正常情况下,微信商户平台的密钥不需要更新重置,站点妥善保存密钥,定期更新证书即…

【adb指令】

一、什么是adb adb的全称为Android Debug Bridge,官方提供的用于操作安卓设备的工具。 二、adb用来干什么? 在电脑终端通过命令行: 打开收手机应用;传输文件;点击、输入、滑动等;硬件操作、返回、回到首…

踩坑记录:nuxt3 - ssg 重构我的前端导航网站

一、💥 背景故事 不久前我利用周末搭建了个 万能导航网站,当时还写了篇文章:# 我给自己搭建的前端导航网站,你们都别用🤪。本来我以为不会有太大的访问量,主要是方便自己用。没想到用的人还不少&#xff0…

maven 远程仓库 查找jar mvnrepository.com

https://mvnrepository.com 搜索包 找到指定版本 下载包或者配置文件引用

WORDPRESS REST API 学习

WORDPRESS 的 REST API 本身是没有身份验证的,我安装了 miniOrange 的 WordPress REST API Authentication 免费部分只有 Basic Authentication 和 JWT Authentication , 作为学习 REST API 够用了。 一般使用 postman 测试 api ,后来卸载了…

通用分页【上】之后端代码

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于通用分页的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 导读: 💡辉辉小…

git创建分支提示fatal: not a valid object name: ‘master‘解决方案

文章目录 1. 背景描述:2. 原因分析:3. 解决方案: 1. 背景描述: 在本地使用 git init初始化一个空的git项目后,想使用git branch创建分支时,提示fatal: not a valid object name: ‘master’。 2. 原因分…

【react全家桶学习】react的 (新/旧) 生命周期(重点)

目录 生命周期(旧) 挂载时的生命周期 constructor(props) componentWillMount()-------------新生命周期已替换 render() componentDidMount()--- 组件…

【MHA高可用配置及故障切换】

目录 一、案例概述1、传统的MySQL主从架构存在的问题1.1、单点故障 2、HMA的简介2.1、HMA的概述2.2、HMA的组成2.3、MHA 的特点 三、搭建MySQL HMA1、实验思路1、进入主服务器进行修改配置文件2、启动服务,并在从服务器上配置计划性任务进行时间同步 2、修改 Master…