除了ChatGPT还有清华开源的ChatGLM! 手把手教你在M1 pro版本 MacBook Pro上部署ChatGLM3-6B大语言模型
ChatGPT的风头正劲,从3.5版升级至4.0版,伴随着版本的不断更新,其智能水平也在不断提高。相信大家都很期待尝试这个强大的人工智能助手,然而在我国,由于各种原因,我们无法直接体验它。不过,国内的一些公司已经开发出了类似于ChatGPT的大型语言模型,比如百度推出的文心一言和清华大学推出的ChatGLM。
目前,ChatGLM已经发展到第四代,并且开源的最新版本是ChatGLM-6B,它是基于第三代模型的一款开源产品,可以在个人电脑上进行部署。我也已经在我的带有M1 Pro芯片的MacBookPro上成功部署了ChatGLM,现在我想分享一下整个部署过程,让更多人能够使用上这个强大的AI工具。
部署过程相对简单,但需要一定的编程基础。只要你的电脑已经安装了git和python,同时还需要满足一定的硬件要求,如至少拥有16GB以上的内存,这样才能保证ChatGLM的运行流畅。对于一些Air用户来说,他们也可以部署ChatGLM,但由于内存不足,他们会反映吐字速度特别慢。
当你看到这里,是否感觉到异样?其实开篇的文本是我写的初稿,通过ChatGLM帮我润色后的,下面是我的初稿,两者对比也能看出ChatGLM的能力。
“ChatGPT风头正盛,从3.5到4.0,随着版本迭代,越来越智能。相信大家都想试一试,而国内因为种种原因,国内很难直接体验。当然国内很多公司也提出了类似的大语言模型,例如百度的文心一言,而清华大学也推出了类似ChatGPT的大语言模型,叫ChatGLM。 文章发布时,已经推出到第四代。目前开源的最新的是ChatGLM-6B,是基于第三代模型的开源产品,支持在个人电脑上部署。我已经将ChatGLM部署到我的带M1 Pro芯片的MacBookPro上,也想分享整个部署过程,让更多的人用上ChatGLM。 部署流程 整个部署过程比较简单,但是需要有一定的编码基础,电脑已经安装好git和python。同时也对硬件有要求,必须有16GB以上内存,才能较为流畅得部署ChatGLM,也有Air用户部署ChatGLM,但是反馈吐字速度特别慢,因为内存不够用,只能疯狂占用交换空间。”
ChatGLM介绍
ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的对话预训练模型。ChatGLM3-6B 是 ChatGLM3 系列中的开源模型,在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上,ChatGLM3-6B 引入了如下特性:
更强大的基础模型: ChatGLM3-6B 的基础模型 ChatGLM3-6B-Base 采用了更多样的训练数据、更充分的训练步数和更合理的训练策略。在语义、数学、推理、代码、知识等不同角度的数据集上测评显示,ChatGLM3-6B-Base 具有在 10B 以下的基础模型中最强的性能。
更完整的功能支持: ChatGLM3-6B 采用了全新设计的 Prompt 格式 ,除正常的多轮对话外。同时原生支持工具调用(Function Call)、代码执行(Code Interpreter)和 Agent 任务等复杂场景。
更全面的开源序列: 除了对话模型 ChatGLM3-6B 外,还开源了基础模型 ChatGLM3-6B-Base 、长文本对话模型 ChatGLM3-6B-32K。以上所有权重对学术研究完全开放 ,在填写 问卷 进行登记后亦允许免费商业使用。
部署流程
整个部署过程比较简单,但是需要有一定的编码基础,电脑已经安装好git和python。同时也对硬件有要求,必须有16GB以上内存,才能较为流畅得部署ChatGLM,也有Air用户部署ChatGLM,但是反馈吐字速度特别慢,因为内存不够用,只能疯狂占用交换空间。
这个链接是官网的部署文档,大家可以参考。
下载python源码
新建一个文件夹,名字随意,我创建的文件夹名字叫chatglm。在chatglm文件夹下面执行命令,下载源码:
git clone https://github.com/THUDM/ChatGLM3
下图是我下载完源码和大模型后最终的目录结构。

下载模型文件
除了源码,最关键的是大模型文件,官网提供了三种不同类型的大模型文件,分别是基础模型 ChatGLM3-6B-Base 、对话模型 ChatGLM3-6B 、长文本对话模型 ChatGLM3-6B-32K,这三种模型文件依次变大,对内存占用也依次变高,大家可以根据自己电脑内存情况等选择,我选择了ChatGLM3-6B模型,运行时内存占用13GB左右。
链接提供了三个下载地址,所有模型的最新更新都会在 Huggingface 率先发布。 ModelScope 和 WiseModel 由于没有与 Huggingface 同步,需要开发人员手动更新,可能会在 Huggingface 更新后一段时间内同步更新,所以Huggingface是首选,但是可能因为网络问题下载比较慢,我提供的下载链接是MdelScope的,下载速度比较快,ChatGLM3-6B模型的文件大小为17GB。

因为文件比较大,需要先安装gti-lfs,我是通过homebrew安装:
brew install git-lfs
在chatglm文件夹路径执行以下命令,下载大模型:
安装conda和pytorch
为了更好地管理python,还腰安装了conda和pytouch:
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh
conda install pytorch torchvision torchaudio -c pytorch-nightly
conda config --set auto_activate_base false
下载所需Python依赖
为了防止其他项目依赖影响,需要先创建虚拟环境,我创建的环境名为chatglm:
conda create -n chatglm
激活环境:
conda activate chatglm3
进入下载的源码所在ChatGLM3文件夹后,下载所需依赖:
pip3 install -r requirements.txt
启动网页版chatGLM
在源码文件夹,用vscode或其他工具打开web_demo_gradio.py文件。

然后将模型路径参数修改为你下载模型文件的地址,下图是我修好后的。

确保激活了chatglm虚拟环境后,启动网页版chatGLM:
python3 web_demo_gradio.py
此时,如果提示缺少某个文件,则通过”pip3 install xxx“命令安装,安装完毕再执行“python3 web_demo_gradio.py”,然后就跳转到网页界面,可以愉快得使用ChatGLM了。下图可以看到CPU和GPU占用都比较高。吐字速度也不错,从我输入约5s左右,ChatGLM就已经理解我说的话,并开始响应。


最后用ChatGLM给大家发一个龙年祝福:

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

三颗棒棒糖都很甜
校验提示文案
值友5134057725
校验提示文案
值友6343365787
校验提示文案
晴川粒粒
校验提示文案
魔术师EW
校验提示文案
魔术师EW
校验提示文案
值友6343365787
校验提示文案
值友5134057725
校验提示文案
三颗棒棒糖都很甜
校验提示文案
晴川粒粒
校验提示文案