已解决
ChatGLM2 大模型微调过程中遇到的一些坑及解决方法(更新中)
来自网友在路上 11188118提问 提问时间:2023-11-22 05:01:09阅读次数: 118
最佳答案 问答题库1188位专家为你答疑解惑
1. 模型下载问题
OSError: We couldn't connect to 'https://huggingface.co' to load this file, couldn't find it in the cached files and it looks like bert-base-uncased is not the path to a directory containing a file named config.json.
Checkout your internet connection or see how to run the library in offline mode at 'https://huggingface.co/docs/transformers/installation#offline-mode'.
模型默认是从huggingface上下载的,需要科学上网。挂上梯子后即可下载,注意模型都帮你较大,会消耗很多流量。
2. 模型保存地址
下载后,会占用C盘大量空间,对于重复下载的模型文件,可以进行删除。以下是其存储路径。
Windows系统
C:\Users\你的用户名\.cache\huggingface
Linux系统
~/.cache/huggingface/
3. 模型无法量化
默认情况下,模型以 FP16 精度加载,运行上述代码需要大概 13GB 显存。如果你的 GPU 显存有限,可以尝试以量化方式加载模型,使用方法如下:
model = AutoModel.from_pretrained("THUDM/chatglm2-6b-int4",trust_remote_code=True).cuda()
peft_config = LoraConfig(task_type=TaskType.CAUSAL_LM, inference_mode=False,r=8,lora_alpha=32, lora_dropout=0.1,
)model = get_peft_model(model, peft_config)
出现以下错误:
ValueError: Target module QuantizedLinear() is not supported. Currently, only `torch.nn.Linear` and `Conv1D` are supported.
原因:以int4量化加载的模型是不支持进行微调的。
4. 分词器
以chatglm为例,有“chatglm2-6b” "chatglm2-6b-int8" "chatglm2-6b-int4" 三个版本,但是分词器tokenizer是共用的,不受模型量化加载方式改变。所以我们在加载tokenizer的时候,只需设置就可以了:
tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True)
5. int-8量化的模型无法下载
在chatglm第一版里面,是提供int4 int8和fp16,三个版本的文件的,但是在chatglm2里,可以看到只给了fp16和int4两个版本的文件。
查看全文
99%的人还看了
相似问题
- 最新AIGC创作系统ChatGPT系统源码,支持最新GPT-4-Turbo模型,支持DALL-E3文生图,图片对话理解功能
- 思维模型 等待效应
- FinGPT:金融垂类大模型架构
- 人工智能基础_机器学习044_使用逻辑回归模型计算逻辑回归概率_以及_逻辑回归代码实现与手动计算概率对比---人工智能工作笔记0084
- Pytorch完整的模型训练套路
- Doris数据模型的选择建议(十三)
- python自动化标注工具+自定义目标P图替换+深度学习大模型(代码+教程+告别手动标注)
- ChatGLM2 大模型微调过程中遇到的一些坑及解决方法(更新中)
- Python实现WOA智能鲸鱼优化算法优化随机森林分类模型(RandomForestClassifier算法)项目实战
- 扩散模型实战(十一):剖析Stable Diffusion Pipeline各个组件
猜你感兴趣
版权申明
本文"ChatGLM2 大模型微调过程中遇到的一些坑及解决方法(更新中)":http://eshow365.cn/6-41814-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!