ChatGLM2-6b的本地部署

2024-06-08 22:44
文章标签 部署 本地 chatglm2 6b

本文主要是介绍ChatGLM2-6b的本地部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

** 大模型玩了一段时间了,一直没有记录,借假期记录下来 **

ChatGlm2介绍:

chatglm2是清华大学发布的中英文双语对话模型,具备强大的问答和对话功能,拥有长达32K的上下文,可以输出比较长的文本。6b的训练参数量为60亿,本地部署大约需要12G以上的显存才能运行起来,但6b提供了一个量化后的int4版本,实测推理仅需要6gb即可。int4版本对于某些老旧的或者不支持int4的GPU而言运行不了,在额外的blog里面会记录如何修改使其运行起来。

硬件需求

要确保自己有超过32G的内存,超过12G的显存且显卡支持float16计算,以及足够的硬盘空间

模型部署

代码下载

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

环境配置

conda create -n torch python=3.10 ipykernel
conda activate torch
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simlple

模型下载

建议使用这样的方式,同时这也解决了国内无法访问huggingface的问题
在这里插入图片描述
或者直接从清华的数据库进行下载:清华云
如果速度不够快,也可以用paddle,阿里云进行下载,实际测试发现,阿里云下载下来的模型容易出错,慎用。
模型下载下来以后,直接放在文件夹下面即可!

配置GPU

查看设备:
在这里插入图片描述
torch2.0以上需要CUDA12以上的支持,故安装一个比较高版本的CUDA即可解决问题,因为CUDA是向下兼容的,即CUDA12.2支持CUDA11.8,同时要选择合适的CUDNN,通常CUDA12.2对应的CUDNN为8.8.0以上。

在这里插入图片描述

检查GPU是否可用

import torch
torch.cuda.is_available()

开始本地测试

测试web

如果是在本地电脑上,可以不修改服务器的端口,负责要在lauch中修改server_name为0.0.0.0或所用电脑的ip。
在这里插入图片描述
在这里插入图片描述

jupyter

在这里插入图片描述
至此,本地部署完成。
后期将陆续更新:
如何将int4版本做修改让其跑起来;
如何基于peft做微调;
如何基于prompt做微调

这篇关于ChatGLM2-6b的本地部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1043522

相关文章

使用Java读取本地文件并转换为MultipartFile对象的方法

《使用Java读取本地文件并转换为MultipartFile对象的方法》在许多JavaWeb应用中,我们经常会遇到将本地文件上传至服务器或其他系统的需求,在这种场景下,MultipartFile对象非... 目录1. 基本需求2. 自定义 MultipartFile 类3. 实现代码4. 代码解析5. 自定

Java实现本地缓存的四种方法实现与对比

《Java实现本地缓存的四种方法实现与对比》本地缓存的优点就是速度非常快,没有网络消耗,本地缓存比如caffine,guavacache这些都是比较常用的,下面我们来看看这四种缓存的具体实现吧... 目录1、HashMap2、Guava Cache3、Caffeine4、Encache本地缓存比如 caff

Linux部署中的文件大小写问题的解决方案

《Linux部署中的文件大小写问题的解决方案》在本地开发环境(Windows/macOS)一切正常,但部署到Linux服务器后出现模块加载错误,核心原因是Linux文件系统严格区分大小写,所以本文给大... 目录问题背景解决方案配置要求问题背景在本地开发环境(Windows/MACOS)一切正常,但部署到

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

MySQL 主从复制部署及验证(示例详解)

《MySQL主从复制部署及验证(示例详解)》本文介绍MySQL主从复制部署步骤及学校管理数据库创建脚本,包含表结构设计、示例数据插入和查询语句,用于验证主从同步功能,感兴趣的朋友一起看看吧... 目录mysql 主从复制部署指南部署步骤1.环境准备2. 主服务器配置3. 创建复制用户4. 获取主服务器状态5

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

Java使用HttpClient实现图片下载与本地保存功能

《Java使用HttpClient实现图片下载与本地保存功能》在当今数字化时代,网络资源的获取与处理已成为软件开发中的常见需求,其中,图片作为网络上最常见的资源之一,其下载与保存功能在许多应用场景中都... 目录引言一、Apache HttpClient简介二、技术栈与环境准备三、实现图片下载与保存功能1.