ChatGLM-6B微调实践与问题汇总(fine-tune+p-tuning+知识遗忘解决尝试)

本文分享了ChatGLM-6B模型在ADGEN数据集上的全量微调与p-tuning实践,解决了知识遗忘问题,并优化了对话功能。

在这里插入图片描述

ChatGLM-6B微调实践与问题汇总(fine-tune+p-tuning+知识遗忘解决尝试)

1.介绍

ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。在模型量化技术的加持下,INT4 量化级别下显存占用不到6G,满足一些消费级显卡部署的需要。

https://github.com/THUDM/ChatGLM-6B.git

本文只涉及对官方仓库中模型参数全量fine-tune和p-tuning方案的复现,以及对p-tuning训练后,模型对旧知识遗忘现象的优化。

训练后,丧失了原有的对话功能的优化可直接调到第5节

2.软硬件环境

硬件平台

cpu:Inter Xeon Gold 6130 x2

GPU:Tesla V100 16G x8

预训练模型

chatglm-6B

数据集

adgen

软件环境

deepspeed==0.9.2	
protobuf	
transformers==4.28.1(不建议用requirements中的4.27.1版本,不要问我怎么知道的)	
cpm_kernels	
torch>=1.10	
gradio	
mdtex2html	
sentencepiece	
accelerate	
rouge_chinese 	
nltk 	
jieba 	
datasets
3.模型与数据集下载

模型

https://huggingface.co/THUDM/chatglm-6b

数据集

下载处理好的 ADGEN 数据集 https://cloud.tsinghua.edu.cn/f/b3f119a008264b1cabd1/?dl=1,将解压后备用。

4.训练

训练操作过程参考https://github.com/THUDM/ChatGLM-6B/blob/main/ptuning/README.md

4.1 fine-tune

脚本:

ds_train_finetune.sh

LR=1e-4

MASTER_PORT=$(shuf -n 1 -i 10000-65535)

deepspeed --num_gpus=4 --master_port $MASTER_PORT main.py \
    --deepspeed deepspeed.json \
    --do_train \
    --train_file AdvertiseGen/train.json \
    --test_file AdvertiseGen/dev.json \
    --prompt_column content \
    --response_column summary \
    --overwrite_cache \
    --model_name_or_path THUDM/chatglm-6b \
    --output_dir ./output/adgen-chatglm-6b-ft-$LR
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值