这段时间一直在研究大语言模型私有部署的相关内容,相信大家也非常的感兴趣。
到目前为止,其实还是有很多的开源模型,其实大家去 GitHub Trending 上看看,就能够发现很多。
今天也是手把手地教大家怎么在自己的电脑上部署一个大语言模型。
当然这里我说下,我的电脑是一台 MacBook Pro ,M1 Pro 芯片,32G 内存+1TB 存储。
其实对于 m芯片或者 intel 芯片或者显卡,修改的地方并不多。所以这几个都大差不差。
这次部署的是什么模型呢?
https://github.com/THUDM/ChatGLM3
上面是他们的开源地址,现在也有 4.7k 的 star 了,非常适合小白用户来部署。
可以看到他们的简介:ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的新一代对话预训练模型。ChatGLM3-6B 是 ChatGLM3 系列中的开源模型,在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上。
这里着重说了部署门槛低,确实是低,大家往下看就知道了。
首先,直接把他们代码拿下来:
git clone https://github.com/THUDM/ChatGLM3
然后进入到ChatGLM3
cd ChatGLM3
直接用 pip install
pip install -r requirements.txt
官方推荐:其中 transformers 库版本推荐为 4.30.2,torch 推荐使用 2.0 及以上的版本,以获得最佳的推理性能。
当然我们不需要管太多,先安装好这些。
另外在这里我的 Python 版本是 3.9 的,大家最好版本高一点。
除了把代码弄下来,我们还需要去下载模型。
在 GitHub 地址中,有提供ChatGLM3-6B、ChatGLM3-6B-Base、ChatGLM3-6B-32K三种。大家可以按需取。
但是这里需要注意,如果你的机器一般,最好先部署ChatGLM3-6B,别逞强,我也是部署的这个。
下载模型之前,先下载好 Git lFS,这玩意就是 git,只不过是支持大文件下载的。
下面是安装方法:
https://docs.github.com/zh/repositories/working-with-files/managing-large-files/installing-git-large-file-storage
安装完之后,我们在项目目录下建一个THUDM文件夹,然后进入THUDM文件夹。最后我们执行下面的命令:
git clone https://huggingface.co/THUDM/chatglm3-6b
此时就会开始下载了。
如果你觉得下载的慢,可以使用国内的 modelscope
git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git
准备好了之后,其实就基本上完成了。
ChatGLM3提供了很多种模式给我们使用,例如综合 Demo、代码调用、openai API部署
这里我们来讲下代码调用:
>>> from transformers import AutoTokenizer, AutoModel
>>> tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm3-6b", trust_remote_code=True)
>>> model = AutoModel.from_pretrained("THUDM/chatglm3-6b", trust_remote_code=True, device='cuda')>>> model = model.eval()
>>> response, history = model.chat(tokenizer, "你好", history=[])
>>> print(response)
>你好👋!我是人工智能助手 ChatGLM3-6B,很高兴见到你,欢迎问我任何问题。
>>> response, history = model.chat(tokenizer, "晚上睡不着应该怎么办", history=history)
>>> print(response)
其中“THUDM/chatglm3-6b”是模型文件的位置,我们只需要指向到下载的模型文件即可。
这执行之前你可能会遇到一些问题,例如你是 mac的M 芯片 的话,你执行上面的代码会报错。此时我们需要使用mps后端来实现,下面是官方的说明:
对于搭载了 Apple Silicon 或者 AMD GPU 的 Mac,可以使用 MPS 后端来在 GPU 上运行 ChatGLM3-6B。需要参考 Apple 的 官方说明 安装 PyTorch-Nightly(正确的版本号应该是2.x.x.dev2023xxxx,而不是 2.x.x)。
目前在 MacOS 上只支持从本地加载模型。将代码中的模型加载改为从本地加载,并使用 mps 后端:
model = AutoModel.from_pretrained("your local path", trust_remote_code=True).to('mps')
加载半精度的 ChatGLM3-6B 模型需要大概 13GB 内存。内存较小的机器(比如 16GB 内存的 MacBook Pro),在空余内存不足的情况下会使用硬盘上的虚拟内存,导致推理速度严重变慢。
除此之外还有好几种玩法,例如多张显卡部署,CPU部署等方法:https://github.com/THUDM/ChatGLM3#%E4%BD%8E%E6%88%90%E6%9C%AC%E9%83%A8%E7%BD%B2
这里给大家提醒下,尽量在配置较高的机器上来执行,不然回答的速度会比较慢。
我的电脑是一台 MacBook Pro ,M1 Pro 芯片,32G 内存+1TB 存储。每次对话 1500 token,大概需要 10s 才能回复,这个速度我本身还算满意,当然如果你是用来大量使用,那么这个速度肯定不行。
需要去租用一些配置较高的显卡机器。
对了,如果你想要让部署的模型像 OpenAI 接口一样的,你可以执行下面的代码:
cd openai_api_demo
python openai_api.py
当然,你也是需要进入openai_api.py 去修改你运行大模型的方式。具体的参考上面发的链接。
如何学习AI大模型?
作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
一、全套AGI大模型学习路线
AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
三、AI大模型经典PDF籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。
四、AI大模型商业化落地方案
作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。