北京建设工程网站,商业网站建设视频教程,太原网站建设tygytc,建筑案例网站文章目录 0.前言1.模型下载2.配置环境2.1 下载项目文件2.2 配置环境 3.开始推理4.总结 0.前言 
本博客将介绍ChatGLM3-6B大模型在Ubuntu上的本地部署教程 
1.模型下载 由于毛毛张的服务器服务无法科学上网#xff0c;所以模型的相关文件必须现在本地下载好#xff0c;再上传到… 文章目录 0.前言1.模型下载2.配置环境2.1 下载项目文件2.2 配置环境 3.开始推理4.总结 0.前言 
本博客将介绍ChatGLM3-6B大模型在Ubuntu上的本地部署教程 
1.模型下载 由于毛毛张的服务器服务无法科学上网所以模型的相关文件必须现在本地下载好再上传到服务器上目前有两个开源的比较好的下载模型文件的地方Huggineg Face(需要科学上网)和Model Scope(中国网站)  传送门 Hugging Face ChatGLM3-6B 下载地址ModelScope ChatGLM3-6B 下载地址  然后最近看到网上说大模型的模型文件使用git-lfs来进行下载可以理解为用来下载大文件的git需要自己单独安装但是毛毛张不推荐 原因1毛毛张测试了一下还不如用自己的下载器手动下载因为大模型的权重文件基本上都很大用这个命令安装也不会告诉你用多久才能下载完原因2官网的模型权重文件一般都存在两种格式一个是适用于pytorch的下图红色方框2一个是适用于tensorflow的(下图红色方框1)没必要全部下载自己需要哪一个就下载哪一个就行了具体的大模型的模型文件中各个文件的作用请参照毛毛张的这篇博客大模型中的模型文件的说明  所以下载过程毛毛张就不过多赘述了 
2.配置环境 
2.1 下载项目文件 
ChatGLM3-6B有一个非常详细的本地部署项目文件里面已经做好了集成大家只需要本地下载好然后修改相应的路径调用即可 传送门https://github.com/zzx030702/ChatGLM3  
2.2 配置环境 又到了头疼的一步不同的人和电脑会出现不同的配置环境报错的问题只有一步一步见到什么问题解决什么问题了  大家把模型文件下载和官网的微调项目文件下载之后就可以将文件传送到服务器上  并在项目文件中新建一个model文件夹然后将模型文件移动到改文件夹下如下图所示   接下来就可以开始配置环境了  大模型本地部署的所需要的环境配置已经全部保存在requirements.txt文件当中  配置命令 $ conda create -n chatglm python3.10 # 创建虚拟环境
$ cd ~/mySata/zzx/ChatGLM3 # 虚拟环境创建完毕之后就可以使用cd命令到大模型项目文件夹下
$ conda activate chatglm # 激活虚拟环境
$ pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple # 并在虚拟环境中安装本地推理需要的包3.开始推理 在使用大模型进行推理的时候要确保自己的电脑有足够的显存CPU调用需要32G内存 GPU调用方式需要13G显存  环境配置成功后大家可以新建一段test.py代码感受一下chatglm3-6b的推理能力 from transformers import AutoTokenizer, AutoModel
tokenizer  AutoTokenizer.from_pretrained(./model/chatglm3-6b, trust_remote_codeTrue)
model  AutoModel.from_pretrained(./model/chatglm3-6b, trust_remote_codeTrue, devicecuda)
model  model.eval()
response, history  model.chat(tokenizer, 你好, history[])
print(response)response, history  model.chat(tokenizer, 晚上睡不着应该怎么办, historyhistory)
print(response)但是大家这一步运行之后绝对不会那么顺利毛毛张部署的时候出现了一个报错 The above exception was the direct cause of the following exception:Traceback (most recent call last):File /home/flyvideo/mySata/zzx/ChatGLM3/test.py, line 2, in moduletokenizer  AutoTokenizer.from_pretrained(./model/chatglm3-6b, trust_remote_codeTrue)File /home/flyvideo/anaconda3/envs/toolbench/lib/python3.10/site-packages/transformers/models/auto/tokenization_auto.py, line 719, in from_pretrainedtokenizer_class  get_class_from_dynamic_module(class_ref, pretrained_model_name_or_path, **kwargs)File /home/flyvideo/anaconda3/envs/toolbench/lib/python3.10/site-packages/transformers/dynamic_module_utils.py, line 485, in get_class_from_dynamic_modulefinal_module  get_cached_module_file(File /home/flyvideo/anaconda3/envs/toolbench/lib/python3.10/site-packages/transformers/dynamic_module_utils.py, line 292, in get_cached_module_fileresolved_module_file  cached_file(File /home/flyvideo/anaconda3/envs/toolbench/lib/python3.10/site-packages/transformers/utils/hub.py, line 469, in cached_fileraise EnvironmentError(
OSError: We couldnt connect to https://huggingface.co to load this file, couldnt find it in the cached files and it looks like THUDM/chatglm3-6b is not the path to a directory containing a file named tokenization_chatglm.py.
Checkout your internet connection or see how to run the library in offline mode at https://huggingface.co/docs/transformers/installation#offline-mode关键信息是OSError: We couldnt connect to https://huggingface.co to load this file, couldnt find it in the cached files and it looks like THUDM/chatglm3-6b is not the path to a directory containing a file named tokenization_chatglm.py.  报错原因找不到下载的Tokenizer文件经过毛毛张排查这个应该是官方文件的一个bug  解决办法修改tokenizer_config.json文件中的THUDM/chatglm3-6b--tokenization_chatglm.ChatGLMTokenizer为tokenization_chatglm.ChatGLMTokenizer修改后如下图所示      下面是毛毛张在实际推理过程中的显存截图     
4.总结 
大模型在本地部署的时候会出现各种各样的报错除了上面那个报错问题之外还有一些包的版本问题或者环境配置问题各种各样的所以大家尽量按照官网的说明去配置环境大家配置完毕之后就可以开始看项目文件中的README.md文件进行微调或者其它的任务了毛毛张任务那个文件对于ChatGLM的推理和微调的一些代码执行说明的非常详细再说就是废话了