大模型ChatGLM2-6B的本地化部署

大模型ChatGLM2-6B使用系列

第一章 大模型ChatGLM2-6B的本地化部署

文章目录

  • 大模型ChatGLM2-6B使用系列
  • 前言
  • 一、ChatGLM2-6B是什么?
  • 二、ChatGLM2-6B的本地安装和部署
    • 1.基础环境和设备配置
    • 2.ChatGLM2-6B源码的下载
    • 3.模型文件的下载
    • 4.源码文件加载本地模型文件
    • 5.下载、安装Anaconda,并创建虚拟运行环境
    • 6.安装依赖文件
    • 7.运行源码文件web_demo.py
  • 总结


前言

` 大模型是指一种庞大的数学模型,通常用于研究和预测复杂系统。这些模型通常使用大量数学符号、方程和变量来描述系统的结构和行为,可以帮助我们理解系统的运动规律和内部联系。大模型可以应用于多个领域,包括经济学、生物学、物理学、工程学等等。
近年来,随着人工智能技术的发展,大模型在许多领域中取得了显著的成果。例如,在自然语言处理领域,大型语言模型可以对自然语言文本进行建模,帮助计算机理解和生成自然语言。在计算机视觉领域,大型视觉模型可以帮助计算机理解和识别图像中的物体和场景。

一、ChatGLM2-6B是什么?

ChatGLM2-6B是智谱AI及清华KEG实验室发布的中英双语对话模型。
在保留了初代模型ChatGLM-6B对话流畅、部署门槛较低等特性的基础之上,又增加许多新特性:
1.更强大的性能:ChatGLM2-6B 使用了 GLM 的混合目标函数,经过了 1.4T 中英标识符的预训练与人类偏好对齐训练,评测结果显示,相比于初代模型,ChatGLM2-6B 在 MMLU(+23%)、CEval(+33%)、GSM8K(+571%) 、BBH(+60%)等数据集上的性能取得了大幅度的提升。
2.更长的上下文:上下文长度由 ChatGLM-6B 的 2K 扩展到了 32K。
3.更高效的推理:推理速度相比初代提升了 42%,INT4 量化下,6G 显存支持的对话长度由 1K 提升到了 8K。
4.更开放的协议:ChatGLM2-6B 权重对学术研究完全开放。
ChatGLM2-6B 使用了 Multi-Query Attention,提高了生成速度,同时也降低了生成过程中 KV Cache 的显存占用。同时,ChatGLM2-6B 采用 Causal Mask 进行对话训练,连续对话时可复用前面轮次的 KV Cache,进一步优化了显存占用。

二、ChatGLM2-6B的本地安装和部署

本教程采用Anaconda来实现ChatGLM2-6B的安装和部署,首先我们来看一下安装部署的基础环境和设备配置

1.基础环境和设备配置

1.设备:笔记本电脑;
2.操作系统:Windows 11 家庭中文版;
3.CPU:AMD Ryzen 9 5900HX with Radeon Graphics 基准主频:3.30GHz;
4.内存:32G  速度:3200 MHz;
5.硬盘:1T  SSD;
6.GPU:NVIDIA GeForce RTX 3080 16GB

2.ChatGLM2-6B源码的下载

首先我们需要到GitHub上去下载,地址是:https://github.com/THUDM/ChatGLM2-6B,可以通过GitHub客户端(GitHub Desktop)进行下载,如下图所示:

大模型ChatGLM2-6B的本地化部署_第1张图片
大模型ChatGLM2-6B的本地化部署_第2张图片
下载完成后,在选择的本地路径下即可看到源码,如下图所示:
大模型ChatGLM2-6B的本地化部署_第3张图片

也可以通过GitHub网站上直接下载压缩包,解压到指定的路径下,如下图所示:

大模型ChatGLM2-6B的本地化部署_第4张图片

3.模型文件的下载

接下来我们去hugging face下载模型文件,网址是:https://huggingface.co/,在搜索框中输入ChatGLM2-6B,如下图所示:


大模型ChatGLM2-6B的本地化部署_第5张图片
挨个下载上图中的所有文件,并在ChatGLM2-6B的源码文件夹中新建一个文件夹,并命名为model,将下载的所有模型文件都放在该文件夹下,如下图所示:
大模型ChatGLM2-6B的本地化部署_第6张图片

4.源码文件加载本地模型文件

上述源码文件和模型文件都下载完成后,接下来我们需要在源码文件中加载本地的模型文件,以源码文件的web_demo.py为例:

大模型ChatGLM2-6B的本地化部署_第7张图片
保存修改的web_demo.py文件,则这一步完成。

5.下载、安装Anaconda,并创建虚拟运行环境

去Anaconda管网去下载Anaconda安装文件,根据自己设备的环境选择对应的版本,如下图所示:
大模型ChatGLM2-6B的本地化部署_第8张图片
下载完成之后,直接右键选择以管理员权限运行该安装包,进入安装过程:
大模型ChatGLM2-6B的本地化部署_第9张图片

大模型ChatGLM2-6B的本地化部署_第10张图片

大模型ChatGLM2-6B的本地化部署_第11张图片
大模型ChatGLM2-6B的本地化部署_第12张图片
大模型ChatGLM2-6B的本地化部署_第13张图片
安装过程需要几分钟,耐心等待安装完成即可
大模型ChatGLM2-6B的本地化部署_第14张图片
大模型ChatGLM2-6B的本地化部署_第15张图片
大模型ChatGLM2-6B的本地化部署_第16张图片
点击finish按钮,打开Anaconda,打开过程需要几分钟,耐心等待,进入Anaconda主页面后,切换到Environment界面,创建虚拟环境以供项目承载运行,如下图所示:
大模型ChatGLM2-6B的本地化部署_第17张图片
大模型ChatGLM2-6B的本地化部署_第18张图片
大模型ChatGLM2-6B的本地化部署_第19张图片
大模型ChatGLM2-6B的本地化部署_第20张图片

大模型ChatGLM2-6B的本地化部署_第21张图片

6.安装依赖文件

在上述打开的命令窗口中,切换到源码文件目录中,如下图所示:

大模型ChatGLM2-6B的本地化部署_第22张图片
大模型ChatGLM2-6B的本地化部署_第23张图片
然后在该窗口运行命令:pip install -r requirements.txt,如下图所示:
大模型ChatGLM2-6B的本地化部署_第24张图片
大模型ChatGLM2-6B的本地化部署_第25张图片
安装完成,此时,尝试第一次运行源码文件web_demo.py,结果如下图所示:
大模型ChatGLM2-6B的本地化部署_第26张图片
发生了报错,原因是源码文件夹中的requirements.txt中的torch默认安装的是只支持cpu的cuda,因此我们要对它进行修复。
1.首先我们到pytorch官网,去下载支持gpu的cuda,如下图所示:
大模型ChatGLM2-6B的本地化部署_第27张图片
大模型ChatGLM2-6B的本地化部署_第28张图片

首先我们要通过命令nvidia-smi查看我们设备上显卡支持的cuda的版本,如下图所示:
大模型ChatGLM2-6B的本地化部署_第29张图片
可以看到本设备显卡支持的cuda版本是11.6。
大模型ChatGLM2-6B的本地化部署_第30张图片

因为我们用的是Anaconda,因此按上图进行选择后,复制conda命令:conda install pytorch1.13.0 torchvision0.14.0 torchaudio==0.13.0 pytorch-cuda=11.6 -c pytorch -c nvidia,到命令窗口执行,如下图所示:
大模型ChatGLM2-6B的本地化部署_第31张图片
大模型ChatGLM2-6B的本地化部署_第32张图片
输入y后进行回车,如下图所示:
大模型ChatGLM2-6B的本地化部署_第33张图片

7.运行源码文件web_demo.py

做完以上六个步骤之后,可以在Anaconda的虚拟环境(ChatGLM2-6B)中再次尝试运行web_demo.py文件,命令为:python web_demo.py,如下图所示:
大模型ChatGLM2-6B的本地化部署_第34张图片
回车之后,进入运行加载过程,如下图所示:
大模型ChatGLM2-6B的本地化部署_第35张图片
当加载进度条到100%后,表示加载完成,如下图所示:
大模型ChatGLM2-6B的本地化部署_第36张图片
复制上图中的local url到浏览器的地址栏中,即可进行ChatGLM2-6B大模型的对话界面,如下图所示:
大模型ChatGLM2-6B的本地化部署_第37张图片
在对话框中进行聊天交互,效果如下:
大模型ChatGLM2-6B的本地化部署_第38张图片
至此,ChatGLM2-6B大模型的本地化安装和部署完成。

总结

`本文对ChatGLM2-6B的本地化安装和部署的流程进行了完整的描述,在部署的过程中,有以下两点要注意:
1.从GitHub下载的ChatGLM2-6B源码文件中的requirements.txt中的torch,在安装时,默认是只支持cpu的cuda,因此对于在具备GPU资源的设备中进行部署ChatGLM2-6B时,需要对其进行修复;
2.在安装pytorch时,需要查询一下自己设备上的显卡所支持的cuda的版本;
3.对于使用nvidia GPU的用户来说,需要下载安装CUDA Toolkit,网上教程很多;
4.在运行源码文件中的demo时,如web_demo.py,在进行聊天交互时,请将软件或者VPN等关掉,有可能会报错;
5.在上述安装过程中,请将360安全卫士等退出,以免影响大模型所需环境的安装部署。

你可能感兴趣的:(AIGC,自然语言处理,人工智能,python)