Windows10下ChatGLM2-6B模型本地化安装部署教程图解

        随着人工智能技术的不断发展,自然语言处理模型在研究和应用领域备受瞩目。ChatGLM2-6B模型作为其中的一员,以其强大的聊天和问答能力备受关注,并且最突出的优点是性能出色且轻量化。然而,通过云GPU部署安装模型可能需要支付相应的费用,这对于一些开发者来说可能存在一定的压力。为了更灵活地使用该模型,掌握安装环境的知识并了解部署流程,以便快速尝鲜ChatGLM2-6B模型,将其本地化部署成为了许多开发者追求的目标。

        本文将为您提供一份详尽的教程,指导您在Windows 10操作系统下进行ChatGLM2-6B模型的本地化安装和部署,快速尝鲜ChatGLM2-6B模型。

目录

一、ChatGLM2-6B模型介绍

二、本地安装电脑配置要求

三、Cuda环境安装并检查是否安装成功

四、配置ChatGLM2-6B Conda虚拟环境

五、在虚拟环境中安装Pytorch

六、ChatGLM2-6B模型环境安装及模型下载

七、ChatGLM2-6B模型代码运行及本地大模型初体验

八、小结

一、ChatGLM2-6B模型介绍

ChatGLM2-6B 是开源中英双语对话模型 ChatGLM-6B 的第二代版本,在保留了初代模型对话流畅、部署门槛较低等众多优秀特性的基础之上,ChatGLM2-6B 引入了如下新特性:

  1. 更强大的性能:基于 ChatGLM 初代模型的开发经验,我们全面升级了 ChatGLM2-6B 的基座模型。ChatGLM2-6B 使用了 GLM 的混合目标函数,经过了 1.4T 中英标识符的预训练与人类偏好对齐训练,评测结果显示,相比于初代模型,ChatGLM2-6B 在 MMLU(+23%)、CEval(+33%)、GSM8K(+571%) 、BBH(+60%)等数据集上的性能取得了大幅度的提升,在同尺寸开源模型中具有较强的竞争力。
  2. 更长的上下文:基于 FlashAttention 技术,我们将基座模型的上下文长度(Context Length)由 ChatGLM-6B 的 2K 扩展到了 32K,并在对话阶段使用 8K 的上下文长度训练,允许更多轮次的对话。但当前版本的 ChatGLM2-6B 对单轮超长文档的理解能力有限,我们会在后续迭代升级中着重进行优化。
  3. 更高效的推理:基于 Multi-Query Attention 技术,ChatGLM2-6B 有更高效的推理速度和更低的显存占用:在官方的模型实现下,推理速度相比初代提升了 42%,INT4 量化下,6G 显存支持的对话长度由 1K 提升到了 8K。
  4. 更开放的协议:ChatGLM2-6B 权重对学术研究完全开放,在填写问卷进行登记后亦允许免费商业使用

链接源码地址:

GitHub - THUDM/ChatGLM2-6B: ChatGLM2-6B: An Open Bilingual Chat LLM | 开源双语对话语言模型ChatGLM2-6B: An Open Bilingual Chat LLM | 开源双语对话语言模型 - GitHub - THUDM/ChatGLM2-6B: ChatGLM2-6B: An Open Bilingual Chat LLM | 开源双语对话语言模型https://github.com/THUDM/ChatGLM2-6B推理性能:

ChatGLM2-6B 使用了 Multi-Query Attention,提高了生成速度。生成 2000 个字符的平均速度对比如下:

Model推理速度 (字符/秒)
ChatGLM-6B31.49
ChatGLM2-6B44.62

使用官方实现,batch size = 1,max length = 2048,bf16 精度,测试硬件为 A100-SXM4-80G,软件环境为 PyTorch 2.0.1

        Multi-Query Attention 同时也降低了生成过程中 KV Cache 的显存占用,此外,ChatGLM2-6B 采用 Causal Mask 进行对话训练,连续对话时可复用前面轮次的 KV Cache,进一步优化了显存占用。因此,使用 6GB 显存的显卡进行 INT4 量化的推理时,初代的 ChatGLM-6B 模型最多能够生成 1119 个字符就会提示显存耗尽,而 ChatGLM2-6B 能够生成至少 8192 个字符。

量化等级编码 2048 长度的最小显存生成 8192 长度的最小显存
FP16 / BF1613.1 GB12.8 GB
INT88.2 GB8.1 GB
INT45.5 GB5.1 GB

二、本地安装电脑配置要求

python版本要求:3.8以上,可在Anaconda中安装Python虚拟环境。

windows系统:Windows 10及以上,推荐有NVIDIA显卡(最好NVIDIA显卡20系列以上)

显卡要求:显存必须6G以上GPU(可以看到上面表格中,量化等级INT4,也需要5.1G显存以上)

检查自己的电脑是否有GPU及显存大小:

        鼠标右击电脑最下方任务栏,选中“任务管理器”选项,即可打开任务管理器,再点击“性能”,如下图:

        我本地电脑的显卡是NVIDIA GTX 1060 6G显存GPU ,16G内存,处理器i7-8750H CPU,刚好满足要求。想想部署成功后的测试画面就很卡。。。。。。

三、Cuda环境安装并检查是否安装成功

        上面检查本地PC电脑配置,刚好满足部署ChatGLM2-6B的最低要求。所以,自己搭建本地模型,尝试体验一下,不需要拥有高端设备或庞大的计算能力来开始使用ChatGLM2-6B模型。只要你的本地PC电脑达到了ChatGLM2-6B模型的最低要求,就可以轻松安装和部署这一强大的聊天模型。

1、Cuda环境安装

cuda下载链接:

CUDA Toolkit Archive | NVIDIA DeveloperPrevious releases of the CUDA Toolkit, GPU Computing SDK, documentation and developer drivers can be found using the links below. Please select the release you want from the list below, and be sure to check www.nvidia.com/drivers for more recent production drivers appropriate for your hardware configuration.https://developer.nvidia.com/cuda-toolkit-archive

点击链接,即可进入该界面(我本地安装的是CUDA Toolkit 11.7.0,因为我的显卡只支持我安装Cuda Version 12.0以下的):

 接着点击CUDA Toolkit 11.7.0,进入以下界面,选择windows10,exe(local)本地下载,然后点击Download即可。

 下载完成后进行安装cuda。

具体安装教程可上网查找,这里推荐一个:

CUDA安装教程(超详细)_Billie使劲学的博客-CSDN博客目录前言cuda的下载及安装cuda版本CUDA toolkit Downloadcuda安装cuDNN下载及安装cuDNN下载cuDNN配置参考自前言windows10 版本安装 CUDA ,首先需要下载两个安装包CUDA toolkit(toolkit就是指工具包)cuDNN注:cuDNN 是用于配置深度学习使用官方教程CUDA:Installation Guide Windows :: CUDA Toolkit Documentatio_cuda安装https://blog.csdn.net/m0_45447650/article/details/123704930

2、检查Cuda是否安装成功

按住win + R 调出命令终端,输出cmd:

 1)进入终端后,输入 nvidia-smi 查看是否已正确安装:

nvidia-smi

如果返回以下信息,则CUDA已正确安装并可以被系统识别: 

         如果返回类似“command not found”的信息,则CUDA没有成功安装或者没有正确添加环境变量。

        查看到本机可装CUDA版本最高为12.0,版本向下兼容,意思就是CUDA 12.0及以下版本的都可以安装,但一般不建议使用最新版本的,所以本地下载的是Cuda11.7版本。

2)或者输入 nvcc -V命令,测试CUDA是否安装成功

nvcc -V

 如果返回类似“command not found”的信息,则CUDA没有成功安装或者没有正确添加环境变量。

四、配置ChatGLM2-6B Conda虚拟环境

Python 环境:使用Anaconda创建虚拟环境mygpt,虚拟环境的Python版本是Python3.10.11,激活虚拟环境activate mygpt,进入之后安装相对应的工具包即可。

 (注:如果不会安装Anaconda,并在Anaconda中创建虚拟环境,百度找下教程,网上一大堆)

五、在虚拟环境中安装Pytorch

激活虚拟环境之后,首先在命令行输入下面命令即可:

注意这里的Pytorch需要和cuda版本一致,我上面下载的是cuda11.7;还有注意如果你的cuda版本和我不一致,以下命令也有差异。具体看官网命令,以对应版本官网命令为准。

Pytorch地址:

Start Locally | PyTorch An open source machine learning framework that accelerates the path from research prototyping to production deployment.https://pytorch.org/get-started/locally/#anaconda

 绿色方框中就是安装命令:

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117

 安装完成后,检查一下:

import torch
print(torch.cuda.is_available())

 如果结果为True,则说明Pytorch安装成功。如果为False,则说明自己电脑上对应cuda版本和torch、torchvision版本文件不一致。

如何解决在cuda上安装torch后torch.cuda.is_available()返回False - 知乎

六、ChatGLM2-6B模型环境安装及模型下载

1、ChatGLM2-6B源码下载

1)方法一:源码下载链接:

GitHub - THUDM/ChatGLM2-6B: ChatGLM2-6B: An Open Bilingual Chat LLM | 开源双语对话语言模型

注:Github网站不稳定,有时需要科学上网。

 如上图,点击下载Download ZIP即可下载ChatGLM2-6B源码,大概5-6M左右。

2)方法二:直接使用git命令clone (这个需要安装Git软件)

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

下载完成之后,将下载好的文件放到本地D盘或者其他盘,尽量不要放C盘。 

再在该路径下(ChatGLM2-6B-main文件夹下)新建一个model文件,用于放ChatGLM2-6B模型文件,大小11.6G。

2、ChatGLM2-6B模型下载

模型下载地址1:清华大学云盘

THUDM/chatglm-6b at main模型下载地址2:THUDM/chatglm-6b at main,(全部下载)

下载完成后,将下载后的模型文件放入到ChatGLM2-6B-main\model文件夹中:

 3、requirements.txt中相关库安装

进入到D:\Pycharmproject2023\ChatGPT_Pre\ChatGLM2-6B-main目录下,执行以下命令,进行安装相关包:

pip3 install -r requirements.txt

 直到现在,所有环境全部安装完成,胜利在望。。。

七、ChatGLM2-6B模型代码运行及本地大模型初体验

1、修改web_demo.py代码

在运行之前,需修改web_demo.py中的代码

下载下来的源代码,在web_demo.py文件中的第6-7行:

tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True, device='cuda')

修改为:

tokenizer = AutoTokenizer.from_pretrained("D:\Pycharmproject2023\ChatGPT_Pre\ChatGLM2-6B-main\model", trust_remote_code=True)
model = AutoModel.from_pretrained("D:\Pycharmproject2023\ChatGPT_Pre\ChatGLM2-6B-main\model", trust_remote_code=True).half().quantize(4).cuda()

 其中D:\Pycharmproject2023\ChatGPT_Pre\ChatGLM2-6B-main\model为我电脑模型下载位置,更改为你自己的即可。

half().quantize(4).cuda()这个需要根据你电脑实际显卡GPU进行更改。

温馨提示:

        根据实际显卡显存 (如何看自己的显存,前面我已经讲过了,自己的显存要和下面代码对应,不对应就会报错并且烧坏显卡,注意注意!!),可以更改第6行关于model运行方式:

# 6G 显存可以 4 bit 量化
model = AutoModel.from_pretrained("model", trust_remote_code=True).half().quantize(4).cuda()# 10G 显存可以 8 bit 量化
model = AutoModel.from_pretrained("model", trust_remote_code=True).half().quantize(8).cuda()# 14G 以上显存可以直接不量化,博主显存为16G选择的就是这个
model = AutoModel.from_pretrained("model", trust_remote_code=True).half().cuda()

我电脑配置只能选择第一个,即6G 显存可以 4 bit 量化。

2、运行启动ChatGLM2-6B模型

进入到环境中,运行python web_demo.py即可启动,稍等一下:

 接着浏览器会自动打开Web界面:

 

3、ChatGLM2-6B模型测试体验

 在ChatGLM2-6B生成答案时,我看到我的显存占用情况,大概5G显存左右:

 生成答案的时候确实卡卡卡卡卡卡,不流畅,电脑就这配置,只能熟悉一下安装流程和简单体验一下。

八、小结

        本文旨在为读者提供一份详尽的教程,指导读者在Windows 10操作系统下进行ChatGLM2-6B模型的本地化安装和部署。总结如下:

  1. 确认模型要求:在开始之前,了解ChatGLM2-6B模型的基本要求对于成功地进行本地化部署是至关重要的。确保您的本地PC电脑满足这些要求,包括适当的硬件配置和操作系统版本。

  2. 配置GPU环境:为了充分利用本地GPU资源加速模型运行,确保正确配置GPU环境。这包括安装适当的GPU驱动程序和CUDA工具包,并配置相应的环境变量。

  3. 安装必要软件和依赖库:在进行模型安装之前,确保已正确安装Python环境,并根据需要安装必要的软件和依赖库。这包括PyTorch等库,以及其他必需的辅助工具。

  4. 加载和使用模型:一旦完成安装和配置,就可以下载ChatGLM2-6B源程序和大模型参数文件,运行并体验使用ChatGLM2-6B模型。

  5. 优化和调试:可以基于本地知识库问答进行微调模型,大家自行探索预研。

        总结起来,通过本文所提供的详细教程,希望你们可以轻松地进行ChatGLM2-6B模型的本地化部署,并深入了解其优秀的聊天和问答能力。本地化部署为开发者提供了更大的灵活性和控制力,使得能够更好地应对各种需求和挑战。无论为了更灵活地使用该模型,掌握安装环境的知识并了解部署流程,以便快速尝鲜ChatGLM2-6B模型,还是为了探索自然语言处理模型的潜力,本地化部署都是一个值得尝试的选择。请按照本文提供的教程,开始您的ChatGLM2-6B模型之旅吧!

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Win11下VS2022的emguCV4.6安装配置方法

本人做图像处理处理很多年了,最开始是用VC6,尽管有一些源码例子,但好多库还得自己创建,什么都得自己写,工作量巨大。VS是从2003版本开始入门的,这也是VS的第一个版本,这个版本其实是个测试版&am…

你认为微软 Win12 可以在哪些方面改进?

众所周知,微软正在努力开发 Windows 的下一个版本,为了方便理解下文就叫它“Win12”了。新版本的内部代号为“Next Valley”,目前仍处于早期规划和工程阶段,目标是在 2024 年年底上线。 距离“Win12”发布还有 2 年多时间&#xf…

windows,win10安装微调chat,alpaca.cpp,并且成功运行(保姆级别教导)

win10下安装aplaca.cpp 1.下载alpaca-cpp源码 ​ https://github.com/antimatter15/alpaca.cpp 2.下载基础模型 下载 ggml-alpaca-7b-q4.bin并将其放在与chatzip 文件中的可执行文件相同的文件夹中。 从最新版本下载与您的操作系统对应的 zip 文件。在 Windows 上下载alpa…

ChatGLM-6B的windows本地部署使用

ChartGPT最近特别火,但是收费,而且国内访问不太方便,所以找了个类似的进行学习使用 ChatGLM-6B,开源支持中英文的对话大模型,基于 General Language Model (GLM) 架构,具有62亿参数,简单说非常…

ChatGLM环境配置

【目的】 ChatGPT令人震撼的冲击下,笔者转向NLM的Transformer模型,ChatGLM作为清华开源的大语言模型,笔者尝试了其环境配置,为相关理论学习奠定基础。本文用于备忘与学习,无商业用途。 【参考】 ChatGLM的源码下载链…

马斯克最新访谈全文,信息量极大,远见令人震撼

"建设太空文明和成为多星球物种是重要的,如果将来发生了第三次世界大战或者类似的事情,或者发生了全球性热核战争,那个时候可能地球上所有的文明都将被毁于一旦,但它至少能够继续在别的地方存在。" 作者 | 六毛 来源 | …

NER实战:(命名实体识别/文本标注/Doccano工具使用/关键信息抽取/Token分类/源码解读/代码逐行解读)

精读这篇文章你就能知道什么是NER,并且可以学会在开发任务中使用NER 目录 1、chatGPT对NER的解释 2、NER任务 3、NER标注工具Doccano 1、chatGPT对NER的解释 命名实体识别(Named Entity Recognition,NER)是自然语言处理领域的…

Ubuntu 18.04 LTS 更换国内源(镜像)

中科大源官方帮助 官方还有其它发行版的帮助,在 Ubuntu 18.04 LTS 上打开软件列表可以看到“软件和更新”。

Ubuntu22.04更换国内镜像源(阿里、网易163、清华、中科大)

更换方法 Ubuntu采用apt作为软件安装工具,其镜像源列表记录在/etc/apt/source.list文件中。 首先将source.list复制为source.list.bak备份,然后将source.list内容改为需要的镜像源列表即可。 修改完成后保存source.list文件,执行&#xff…

比较两幅图像的相似度

现在以图搜图的功能比较火热,很好奇其原理。 简单的搜索学习得知,实现相似图片搜索的关键技术是“感知哈希算法”,作用是对每一张图片按照某种规律生成一个对应的指纹字符串。比较不同图片之间的指纹字符串,结果越接近&#xff0…

比较两个模拟信号的相似度

转载自微信公众号 原创 逸珺 嵌入式客栈 #include <stdio.h> #include <math.h>/* 返回值在区间&#xff1a; [-1,1] */ /* 如返回-10&#xff0c;则证明输入参数无效 */ #define delta 0.0001f double calculate_corss_correlation(double *s1, doub…

图像相似度对比分析软件,图像相似度算法有哪些

有没有一款软件能比对两张照片是否一样? 可以用AI软件来对比。AI人脸比对已经变成非常常用的AI场景之一。步骤如下&#xff1a;1、浏览器输入网址百度AI应用&#xff0c;AI人脸比对。2、进入人脸比对的功能演示模块。 3、点击左侧的‘本地上传’按钮&#xff0c;上传本地照片…

图像相似度对比分析软件,图像相似度计算方法

怎么对比两张图片的相似度 1、首先打开微信&#xff0c;选择底部“发现”。如图所示。2、然后在点击进入“小程序”。如图所示。3、然后输入“腾讯AI体验中心”搜索&#xff0c;点击进入。4、选择“人脸对比”。如图所示。 5、上传两张图片上去&#xff0c;点击“人脸比对”。…

使用Faiss进行海量特征的相似度匹配

点击上方“机器学习与生成对抗网络”&#xff0c;关注"星标" 获取有趣、好玩的前沿干货&#xff01; 作者丨Gemfield知乎 编辑 | 极市平台 来源丨https://zhuanlan.zhihu.com/p/210736523 导读 Faiss为稠密向量提供高效相似度搜索和聚类&#xff0c;支持十亿级别向量…

分析图片相似度的软件,图片相似度比对算法

计算图像相似度的算法有哪些 SIMStructuralSIMilarity&#xff08;结构相似性&#xff09;&#xff0c;这是一种用来评测图像质量的一种方法。 由于人类视觉很容易从图像中抽取出结构信息,因此计算两幅图像结构信息的相似性就可以用来作为一种检测图像质量的好坏.首先结构信息…

比较两幅图像的相似度的各种相似度量结果对比

对于人眼来说&#xff0c;很容易看出两个给定图像的质量有多相似。例如下图将各种空间噪声添加到图片中&#xff0c;我们很容易将它们与原始图像进行比较&#xff0c;并指出其中的扰动和不规则性。但是在机器学习中我们需要数学表达式来量化这种差异。 在本文中&#xff0c;我们…

语音相似度评价

语音相似度评价是用于测量语音之间的相似程度&#xff0c;常使用的算法是动态时间规整&#xff08;Dynamic time warping&#xff0c;DTW&#xff09;&#xff0c;其原理是通过对齐时间序列来评估它们之间相似性。DTW是一种基于对齐的度量&#xff08;alignment-based metric&a…

图像相似度对比分析软件,图像相似度对比分析法

有什么可以对比两张图片得出相似度的软件。 谷歌人工智能写作项目&#xff1a;神经网络伪原创 图像怎么进行比对 有什么软件可以把两张照片进行对比 查看相似度 1、Mix滤镜大师。IX滤镜大师免费提供将近200款默认滤镜&#xff0c;包括景深滤镜&#xff0c;散景滤镜&#xff…

如何写好工作日报,周报,月报?

管理大师德鲁克曾经在《21世纪的管理挑战》中说过&#xff0c;“21世纪&#xff0c;‘管理’需要提供的最重要的贡献&#xff0c;就是提高知识工作和知识工作者的生产率。” 而这也是公司推行周报日报制度最核心的诉求&#xff0c;对于知识工作者生产率的管理&#xff0c;用白…

测试部门工作周报模板

转载于:https://blog.51cto.com/zdytesting/2148921