ChatGLM-Efficient-Tuning icon indicating copy to clipboard operation
ChatGLM-Efficient-Tuning copied to clipboard

loss已经非常低了,怎么模型回答的和label答案还有那么大出入

Open shipengcheng1 opened this issue 1 year ago • 12 comments

训练:accelerate launch src/train_sft.py --do_train --dataset adgen_train --finetuning_type lora --output_dir path_to_sft_checkpoint --per_device_train_batch_size 2 --gradient_accumulation_steps 4 --lr_scheduler_type cosine --logging_steps 290 --save_steps 290 --learning_rate 1e-3 --num_train_epochs 50 --fp16 --use_v2 --model_name_or_path THUDM/chatglm2-6b --quantization_bit 4 --lora_rank 32

{ "epoch": 47.46, "learning_rate": 0.0, "loss": 0.0034, "step": 700 } User: 违反保密法第几条会依法给予处分

label:第四十八条,内容如下: 违反本法规定,有下列行为之一的,依法给予处分;构成犯罪的,依法追究刑事责任: (一)非法获取、持有国家秘密载体的; (二)买卖、转送或者私自销毁国家秘密载体的; (三)通过普通邮政、快递等无保密措施的渠道传递国家秘密载体的; (四)邮寄、托运国家秘密载体出境,或者未经有关主管部门批准,携带、传递国家秘密载体出境的; (五)非法复制、记录、存储国家秘密的; (六)在私人交往和通信中涉及国家秘密的; (七)在互联网及其他公共信息网络或者未采取保密措施的有线和无线通信中传递国家秘密的; (八)将涉密计算机、涉密存储设备接入互联网及其他公共信息网络的; (九)在未采取防护措施的情况下,在涉密信息系统与互联网及其他公共信息网络之间进行信息交换的; (十)使用非涉密计算机、非涉密存储设备存储、处理国家秘密信息的; (十一)擅自卸载、修改涉密信息系统的安全技术程序、管理程序的; (十二)将未经安全技术处理的退出使用的涉密计算机、涉密存储设备赠送、出售、丢弃或者改作其他用途的。 有前款行为尚不构成犯罪,且不适用处分的人员,由保密行政管理部门督促其所在机关、单位予以处理。

ChatGLM-6B: 第七条,第八条,第九条,第十条,第十一条,第十二条,第十三条,第十四条,第十五条,第十六条,第十七条,第十八条,第十九条,第二十条, 第二十一条, 第二十二条, 第二十三条, 第二十四条, 第二十五条, 第二十六条, 第二十七条, 第二十八条, 第二十九条, 第三十条, 第三十一条, 第三十二条, 第三十三条, 第三十四条, 第三十五条, 第三十六条, 第三十七条, 第三十八条, 第三十九条, 第四十条, 第四十一条, 第四十二条, 第四十三条, 第四十四条, 第四十五条, 第四十六条, 第四十七条, 第四十八条, 第四十九条, 第五十条, 第五十一条, 第五十二条, 第五十三条, 第五十四条, 第五十五条, 第五十六条, 第五十七条, 第五十八条, 第五十九条, 第六十条, 第六十一条, 第六十二条, 第六十三条, 第六十四, 第六十五, 第六十六条, 第六十七条, 第六十八条, 第六十九条, 第七十条, 第七十一条, 第七十二条, 第七十三条, 第七十四条, 第七十五条, 第七十六条, 第七十七条, 第七十八条, 第七十九条, 第八十条, 第八十一条, 第八十二条, 第八十三条, 第八十四条, 第八十五条, 第八十六条, 第八十七, 第八十八条, 第八十九条, 第九十条, 第九十一条, 第九十二条, 第九十三条, 第九十四条, 第九十五条, 第九十六条, 第九十七条, 第九十八条, 第九十九条, 第一百条, 第一百一十条, 第一百一十一条, 第一百一十二条, 第一百一十三条, 第一百一十四条, 第一百一十五, 第一百一十六, 第一百一十七, 第一百一十八,

shipengcheng1 avatar Jul 03 '23 06:07 shipengcheng1

我的train_loss一一直下降,但是eval_loss反而上升。。。。。

xxm1668 avatar Jul 03 '23 07:07 xxm1668

我也存在同样的问题,使用v1和v2,lora和ptuning尝试不同的参数,但是在loss和官方的ptuning loss差不多的时候evaluation f1差了40个点ChatGLM

yifan-chen-2020 avatar Jul 03 '23 07:07 yifan-chen-2020

@yifan-chen-2020 请问用的什么数据集呢

hiyouga avatar Jul 03 '23 12:07 hiyouga

@yifan-chen-2020 请问用的什么数据集呢 700多条收集的有关保密领域的数据。一样的epoch,chatglm-6b官网那个ptuning-v2训练bleu-4可以达到96.7,这个lora只有23.4,感觉很奇怪

shipengcheng1 avatar Jul 04 '23 00:07 shipengcheng1

@yifan-chen-2020 请问用的什么数据集呢

##UPDATE: 更新到最新的代码后好了,看起来和上周更新的代码有关,可能是哪里的bug?@hiyouga

你好,私有数据集,不方便公开,但是数据格式可以简述下: 输入(prompt):prompt加网页文本,按照block分段,每个block对应一个text (x为数字的序号) (input):空 输出(response):json格式,key为网页中的实体标签,value位为对应的

目前还在debug看有什么问题,也是存在loss很低,但训练集和测试集表现很差,看起来输出是正常的json,但是key少提取了很多

yifan-chen-2020 avatar Jul 04 '23 02:07 yifan-chen-2020

@hiyouga 我的数据集和glm官网例子一样的,类似于:{"content": "《中华人民共和国保守国家秘密法》共有多少章多少条", "summary": "五章三十五条"},在回答上效果很差,当然也是学到一小部分的,但loss非常低

shipengcheng1 avatar Jul 04 '23 02:07 shipengcheng1

如果训练集的loss可以降低到很多(且训练中途没有出现nan),可能需要检查推理(cli_demo.py)时参数是不是和训练时参数是否一致。下面是我的推理时参数。推理时参数一定要指定lora_rank, quantization_bit 等参数(如果你用了和默认值不一样的参数值的话),且推理时参数值和训练时一致。

INFERENCE_COMMAND_LINE = """
            --finetuning_type lora
            --model_name_or_path /w/transformers/chatglm2-6b
            --checkpoint_dir /nas/output/copilot_0.1/checkpoint-1000
            --lora_rank 32
            --use_v2
            --quantization_bit 4
"""

当然一个更好的设计是。everything can be loaded from folder,即

from_fine_tuned 可以加载所有的东西,包括模型,包括配置,而不是必须从命令行指定。

xiningnlp avatar Jul 05 '23 13:07 xiningnlp

@xiningnlp 没记错的话,我的代码在推理时候不需要指定 LoRA 和量化参数

hiyouga avatar Jul 05 '23 13:07 hiyouga

@hiyouga 我的数据集和glm官网例子一样的,类似于:{"content": "《中华人民共和国保守国家秘密法》共有多少章多少条", "summary": "五章三十五条"},在回答上效果很差,当然也是学到一小部分的,但loss非常低

问题得到解决了吗,我也遇到相同问题了

zhaoxin-L avatar Jul 06 '23 02:07 zhaoxin-L

我微调chatglmv2后,效果也很差,还经常出现重复生成的情况

qinqinqaq avatar Jul 10 '23 03:07 qinqinqaq

同样的问题lora训练后,上下文效果消失了

dragononly avatar Jul 11 '23 02:07 dragononly

训练出来的权重大小非常小

Qmymy avatar Jul 12 '23 14:07 Qmymy

  1. 请升级最新版
  2. 训练的结果是一个lora 权重,所以权重很小
  3. 微调理想情况下,需要把目标的数据集和通用的数据集一起放进去学习,这样训练效果更佳

codemayq avatar Aug 03 '23 02:08 codemayq