AI大模型探索之路-应用篇15:GLM大模型-ChatGLM3-6B私有化本地部署

2024-04-18 09:12

本文主要是介绍AI大模型探索之路-应用篇15:GLM大模型-ChatGLM3-6B私有化本地部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

前言

一、ChatGLM3-6B 简介说明

二、ChatGLM3-6B 资源评估

三、购买云服务器

四、git拉取GLM

五、pip安装依赖

六、运行测试

七、本地部署安装

总结


前言

ChatGLM3-6B 是 OpenAI 推出的一款强大的自然语言处理模型,它在前两代模型的基础上进行了优化和改进,具有更高的性能和更广泛的应用场景。本文将从技术角度对 ChatGLM3-6B 进行详细介绍,包括其特点、资源评估、购买云服务器、git拉取GLM、pip安装依赖、运行测试以及本地部署安装等方面的内容。希望通过本文的介绍,能够帮助大家更好地理解和使用 ChatGLM3-6B 模型。

一、ChatGLM3-6B 简介说明

ChatGLM3-6B 是一款基于深度学习的自然语言处理模型,它具有以下特点:

1)更强大的基础模型: ChatGLM3-6B 的基础模型 ChatGLM3-6B-Base 采用了更多样的训练数据、更充分的训练步数和更合理的训练策略。在语义、数学、推理、代码、知识等不同角度的数据集上测评显示,* ChatGLM3-6B-Base 具有在 10B 以下的基础模型中最强的性能*。

2)更完整的功能支持: ChatGLM3-6B 采用了全新设计的 Prompt 格式 ,除正常的多轮对话外。同时原生支持工具调用(Function Call)、代码执行(Code Interpreter)和 Agent 任务等复杂场景。

3)更全面的开源序列: 除了对话模型 ChatGLM3-6B 外,还开源了基础模型 ChatGLM3-6B-Base 、长文本对话模型 ChatGLM3-6B-32K 和进一步强化了对于长文本理解能力的 ChatGLM3-6B-128K

二、ChatGLM3-6B 资源评估

初步粗略估算:

1)如果精度为FP32, 需要GPU显存大概 24G左右,如果考虑其他因素再加一点32G左右。
2)如果精度为FP16, 需要GPU显存大概 12G左右,如果考虑其他因素再加一点16G左右。
3)如果量化为int8, 需要GPU显存大概 6G左右,如果考虑其他因素再加一点8G左右。

由于默认情况下,ChatGLM3-6B模型以 FP16 精度加载,因此大概需要16G左右;
如果显存不够需要修改源码进行量化处理,源码参考如下:
model = AutoModel.from_pretrained("THUDM/chatglm3-6b", trust_remote_code=True)
.quantize(8).cuda()

三、购买云服务器

在​​​​​​​AutoDL租一个按量收费的服务器;大家可自行选择合适的云平台,购买云服务器​​​​​​​

选择最新的Pytorch基础镜像(核心需要pytorch库)

登录云服务器

学术加速一波,执行命令:source /etc/network_turbo

四、git拉取GLM

1)下载GLM

git clone https://github.com/THUDM/ChatGLM3

2)下载完成后进入ChatGLM3目录

cd ChatGLM3

五、pip安装依赖

执行下面的pip命令,安装依赖(核心需要pytorch库)

pip install -r requirements.txt

安装过程中提示tensorboard依赖的protobuf版比较低,服务器中protobuf版本过高

有两种方案:

1)降低protobuf的版本到满足tensorboard 2.15.1的要求。你可以使用pip命令来卸载当前的protobuf并安装一个兼容的版本。例如:
pip uninstall protobuf
pip install protobuf==4.24
2)升级你的tensorboard版本到一个与当前protobuf版本兼容的版本。你需要查找最新的tensorboard版本,然后使用pip命令来安装。例如:
pip install --upgrade tensorboard

经尝试采用第一种失败后,改用方案二执行成功。

再重新执行:pip install -r requirements.txt,执行成功

六、运行测试

进入basic_demo目录,查看测试的demo

执行测试demo :   python cli_demo.py

这个目录放了各种测试用的demo,为了方便使用,本次主要采用命令行客户端的方式测试

第一次执行时,中途链接huggingface超时失败,惊出一身冷汗

第二次执行后执行成功(终于出现了期待已久的画面)

赶紧测一波 ,

测试效果赶紧很不错,精准度方面也比较高;另外,感受最明显的特点就是,“速度快”,

基本上在我提问完后,ChatGLM秒回结果,和调用OpenAI在线API相比,直接原地起飞。

七、本地部署安装

由于本地电脑GPU资源不足,无法实操;主要以云服务器部署为主;本地安装方式仅做记录备用

1. Python环境准备

建议安装anaconda(里面集成了很多科学计算的库集成了jupyter等在线编译工具)

网站会自动识别电脑版本匹配工具

2. GPU版PyTorch安装

PyTorch是一个开源的Python机器学习库,基于Torch;它提供了必要的模型管理和训练工具,以及分布式训练能力、易用性、以及与其他工具的良好集成;用于自然语言处理等应用程序。PyTorch既可以看作加入了GPU支持的numpy,同时也可以看成一个拥有自动求导功能的强大的深度神经网络。

ChatGLM3-6B运行过程需要借助PyTorch来完成相关计算。

需要确认是否已经安装2.0版本及以上的GPU版本的PyTorch;

1)验证是否安装

#导入模块
import torch#查看Pytorch的版本
torch.__version__#测试当前的touch版本与当前服务器的CUDA是否兼容
print(torch.cuda.is_available())

2)安装

#卸载当前pytorch版本
pip uninstall torch torchvision torchaudio#安装新的pytorch版本
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

3. 验证PyTorch与CUDA是否兼容

CUDA是Compute Unified Device Architecture的缩写,它是由NVIDIA公司推出的一个并行计算平台和应用程序接口(API),允许软件开发者和软件工程师使用NVIDIA的图形处理单元(GPU)进行通用计算。简单来说,CUDA让开发者能够利用NVIDIA GPU强大的计算能力来加速除了图形处理以外的科学和工程计算,从而提供比传统CPU更高效的性能。

1)验证是否兼容

#导入模块
import torch#测试当前的touch版本与当前服务器的CUDA是否兼容
print(torch.cuda.is_available())

2)重新安装

在CUDA官网下载最新版CUDA toolkit(CUDA安装工具)进行安装或者更新至12.1版,

3)重新验证

4. 拉取ChatGLM3工程

创建一个目录使用GIT拉取工程代码

git clone https://github.com/THUDM/ChatGLM3cd ChatGLM3

下载完成后,能够在你的文件目录下看到完整的ChatGLM3安装文件

5. 安装ChatGLM3-6B项目依赖库

pip install -r requirements.txt

安装过程若出现类似typing-extensions或fastapi等非核心库不兼容性报错,并不会影响最终模型运行,不用进行额外处理。完成了相关依赖库的安装之后,即可尝试进行模型调用了。

6. 运行测试

测试方式1:

python cli_demo.py

测试方式2:

streamlit run web_demo2.py

总结

本文从技术角度对 ChatGLM3-6B 进行了深入介绍,包括其特点、资源评估、购买云服务器、git 拉取 GLM、pip 安装依赖、运行测试以及本地部署安装等方面的内容。希望通过本文的介绍,能够帮助大家更好地理解和使用 ChatGLM3-6B 模型。

文章若有瑕疵,恳请不吝赐教;若有所触动或助益,还望各位老铁多多关注并给予支持。

这篇关于AI大模型探索之路-应用篇15:GLM大模型-ChatGLM3-6B私有化本地部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

AI绘图怎么变现?想做点副业的小白必看!

在科技飞速发展的今天,AI绘图作为一种新兴技术,不仅改变了艺术创作的方式,也为创作者提供了多种变现途径。本文将详细探讨几种常见的AI绘图变现方式,帮助创作者更好地利用这一技术实现经济收益。 更多实操教程和AI绘画工具,可以扫描下方,免费获取 定制服务:个性化的创意商机 个性化定制 AI绘图技术能够根据用户需求生成个性化的头像、壁纸、插画等作品。例如,姓氏头像在电商平台上非常受欢迎,

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

AI一键生成 PPT

AI一键生成 PPT 操作步骤 作为一名打工人,是不是经常需要制作各种PPT来分享我的生活和想法。但是,你们知道,有时候灵感来了,时间却不够用了!😩直到我发现了Kimi AI——一个能够自动生成PPT的神奇助手!🌟 什么是Kimi? 一款月之暗面科技有限公司开发的AI办公工具,帮助用户快速生成高质量的演示文稿。 无论你是职场人士、学生还是教师,Kimi都能够为你的办公文

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于