ChatGLM2 大模型微调过程中遇到的一些坑及解决方法(更新中)

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 显存有限,可以尝试以量化方式加载模型,使用方法如下:

python 复制代码
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的时候,只需设置就可以了:

python 复制代码
tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True)
5. int-8量化的模型无法下载

在chatglm第一版里面,是提供int4 int8和fp16,三个版本的文件的,但是在chatglm2里,可以看到只给了fp16和int4两个版本的文件。

相关推荐
qiyongwork1 分钟前
AI时代的安全与风险管理:构建可信智能体的全生命周期防御体系
人工智能
qcx231 分钟前
【系统学AI】05 LLM模型评测体系:从Benchmark到Agent全链路评测
人工智能
彬鸿科技8 分钟前
bhSDR Studio/Matlab入门指南(十):OFDM 数字通信实验界面全解析
人工智能·matlab·信息与通信·软件定义无线电
今晚务必早点睡11 分钟前
2026 最新互联网架构演进:从“云原生”走向“AI 原生”
人工智能·云原生·架构
澳鹏Appen12 分钟前
人机协同机器学习:构建可靠AI的关键防线
人工智能·机器学习
xiaoxiaoxiaolll12 分钟前
AI赋能复合材料力学:机器学习、PINN与多尺度仿真
人工智能
是Yu欸13 分钟前
抓取ChatGPT大模型回答并做品牌曝光分析
人工智能·经验分享·chatgpt·大模型·亮数据·brightdata
ai产品老杨14 分钟前
统一视频接入与多品牌利旧:基于 Docker 与 GB28181/RTSP 的边缘计算 AI 视频中台架构设计与源码交付实践
人工智能·docker·音视频
鉴生Eric14 分钟前
BMA系统在工业厂房实现OT与IT融合时,具体如何解决不同品牌设备的数据协议兼容难题?
人工智能·物联网·工业厂房ot与it融合·智能边缘网关
AllData公司负责人16 分钟前
亲测丝滑,体验跃迁|AllData通过集成开源项目Cube-Studio,降低机器学习落地门槛
java·大数据·数据库·人工智能·机器学习·开源·cube-studio