转自生信技能树
大家好,最近两年大语言模型风靡全球,最近,不少开源大模型,将模型部署到自己的电脑上,用个性化的数据微调想必是不少人的愿望,这次,让我来分享从hugging face上下载部署chatglm3-6b中的经验。
1.硬件准备
具体参考这条帖子: https://zhuanlan.zhihu.com/p/655948272
结论:一般RTX 3060 6GB显卡是最小模型的门槛
补充“7B”指的是7亿参数。大语言模型参数量是指模型中可调整的参数的数量,通常用来衡量模型的大小和复杂程度,一般参数量越大的模型性能越强。商业化的模型一般在10B-100B之间,chatgpt4 13.3B。
我的配置:(查看方法:联想电脑管家,鲁大师)
很勉强,为了照顾显卡不行的小伙伴,这个帖子先用CPU进行部署
2.运算环境准备
2.1 安装anaconda
什么?你还不知道anaconda是啥?Conda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换。
网上已经有很多下载安装教程,比如:https://blog.csdn.net/ABV09876543210/article/details/101194476
https://zhuanlan.zhihu.com/p/647523947
备注:现在最好python版本安装到3.8或者3.9,版本过低后面安装库的时候库的版本会过低。
我的报错解析:
-
如果你已经安装,但在cmd使用conda 却报没有此命令,可以看看是不是没加入你的环境变量
如何配置环境变量?Win11方法在此: https://blog.csdn.net/weixin_46483785/article/details/131163456
2.2 配置软件环境
用conda create -n env python==3.8 命令创建名为“env”的新虚拟环境,用activate env或者conda activate env进入新建的虚拟环境(前面会出现新环境的名字)
并在新虚拟环境中使用conda下载(下载方法在刚刚conda教程中有)transformers>=4.38.2(为啥是这个或者以上的版本?后面会考!),tensorflow和pytorch。Pytorch安装比较麻烦,分为CPU版本和GPU版,具体教程看这里:https://www.jb51.net/python/302744e4p.htm
我是使用这个命令安装CPU版的 #安装pytorch conda install pytorch torchvision torchaudio cpuonly -c pytorch。使用conda list可以看见所有下载了的库:
然后虚拟环境导入到jupyter中(这时要保证自己在新的环境中!) https://blog.csdn.net/m0_56075892/article/details/130005168 首先要确保环境中有ipykernel ipython 库,没有的话进行安装
# 安装ipykernel ipython
pip install ipykernel ipython
# 查看jupyter下面有多少个kernels
jupyter kernelspec list
ipython kernel install --user --name pytorch1.6(虚拟环境名字)
最后,进入jupyter notebook,将kernel 调整成对应的虚拟环境将验证安装好了的包
新建一个notebook文档,然后输入 import torch import transformers 如果没有报错说明你已经安装好了。
3.下载大模型:
Hugging face官网是要科学上网滴:https://huggingface.co/ 在网站上chatglm3的官方下载方式是: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).half().cuda()
按照它的代码输入,你就会报这个错:
意思是:被墙了
这咋办?解决方法:国内镜像!https://hf-mirror.com/ https://aliendao.cn/#/ #我用的是这个
将所有文件下载到本地后,新建文件夹,命名,在本地加载 https://hf-mirror.com/
https://aliendao.cn/#/
例如,我将其放在这个文件夹下:
然后通过cd函数将工作路径调整到models文件夹后,就可以导入模型了:
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).half() model = model.eval()
response, history = model.chat(tokenizer, "你好", history=[]) print(response) 出现这样一句话说明你成功啦!你好!我是人工智能助手 ChatGLM-6B,很高兴见到你,欢迎问我任何问题。
如果报错:DLL load failed while importing _imaging: 找不到指定的模块的解决方法 是你安装的库的版本有问题,解决方法可以详见这个帖子:https://blog.csdn.net/qq_45510888/article/details/121446878
4.更简单,更快的部署方法:
一键下载安装!一键本地部署!
教程:https://zhuanlan.zhihu.com/p/672400265
支持以下模型,缺点:没有中文模型!:
这期到这里结束了,读到这里你也发现,这个不是一个纯粹的原创帖,更多是前人经验的总结归纳和我在走前人教程中遇到的问题,希望对大家有帮助。