ChatGLM2-6B icon indicating copy to clipboard operation
ChatGLM2-6B copied to clipboard

[BUG/Help] 微调后通用问答受影响

Open chenyangjun45 opened this issue 1 year ago • 3 comments

Is there an existing issue for this?

  • [X] I have searched the existing issues

Current Behavior

用自己的客服数据微调,通用问答受影响。这个有什么办法减小影响吗?感觉像捡了芝麻丢了西瓜。 下面是微调后的测试

微调后模型回复 #################### 如何改善睡眠质量 客服:您提供一下您的车牌号,我帮您登记一下。 ####################

原ChatGLM2模型回复如下 #################### 如何改善睡眠质量

改善睡眠质量需要从多个方面入手,以下是一些可能有助于改善睡眠质量的建议:

  1. 维持规律的睡眠时间表:尽量在每晚相同的时间上床睡觉和起床,即使在周末和假期也要尽量保持一致。
  2. 创建舒适的睡眠环境:保持卧室安静、凉爽、黑暗、舒适和整洁。如果需要,可以使用睡眠面罩、耳塞或空气净化器来帮助创造一个更舒适的睡眠环境。
  3. 改善睡前活动:在睡前数小时内避免使用电子设备,如手机、电脑或平板电脑。这些设备发出的光线和刺激可能会影响睡眠质量。
  4. 控制饮食和饮水:尽量避免在睡前数小时内摄入咖啡因、酒精和尼古丁等兴奋剂。此外,要避免在睡前大量饮水,以免频繁起夜影响睡眠。
  5. 放松身心:在睡前进行一些有助于放松身心的活动,如轻松的瑜伽、深呼吸、冥想或伸展运动,有助于减轻压力和焦虑,有助于入睡。
  6. 锻炼身体:适度的身体锻炼可以帮助改善睡眠质量,但不要在睡前进行剧烈的运动,以免影响入睡。
  7. 减少蓝光:晚上使用电子产品、电灯等会发出蓝光,这可能会影响睡眠质量。尽量在睡前一小时停止使用这些设备,并尝试使用暖色调的灯光来避免蓝光的影响。 请注意,如果存在长期的睡眠问题,最好咨询医生进行评估和治疗。 ####################

Expected Behavior

No response

Steps To Reproduce

微调关键参数如下: PRE_SEQ_LEN=128 LR=1e-2

--max_source_length 1024 \
--max_target_length 512 \
--per_device_train_batch_size 6 \
--per_device_eval_batch_size 6 \
--gradient_accumulation_steps 2 \
--predict_with_generate \
--max_steps 2000 \
--logging_steps 20 \
--save_steps 1000 \
--learning_rate $LR \
--pre_seq_len $PRE_SEQ_LEN \

Environment

- OS:Centos 7.8.2003
- Python:3.7
- Transformers:4.28.1
- PyTorch:1.12.1
- CUDA Support (`python -c "import torch; print(torch.cuda.is_available())"`) :11.6

Anything else?

No response

chenyangjun45 avatar Jul 05 '23 02:07 chenyangjun45

微调数据里混合一些通用的问答数据或者指令数据试试

songmzhang avatar Jul 05 '23 03:07 songmzhang

微调数据里混合一些通用的问答数据或者指令数据试试

通用数据规模那么大,种类也很多,这个操作起来不现实啊

chenyangjun45 avatar Jul 05 '23 05:07 chenyangjun45

试过用指令数据去微调,但用户问问题的时候必须加上前面的指令。 这又会存在一个问题,用户问的问题哪些需要加指令,哪些不需要加。 不知道还有没有其他办法。

suckseed5 avatar Jul 07 '23 03:07 suckseed5

类似的问题,微调后,问什么,都只回答 自己训练集里面的内容了。

dwintercode avatar Jul 15 '23 10:07 dwintercode

这个问题没人能解决吗?官方没遇到过这种问题?

ffabbwl avatar Jul 21 '23 06:07 ffabbwl

这个问题没人能解决吗?官方没遇到过这种问题?

这不是问题吧,是过拟合了,训练集和验证集不要重合,训练集放你想要的对话,验证集放你想要的对话+通用对话

yulon avatar Jul 22 '23 20:07 yulon

微调本来就是要交对齐税(alignment tax)的,会导致其他部分的性能丢失。

也许可以考虑加个意图识别,如果是客服问题,就调微调后的模型去回答;如果是非客服问题,就调普通模型去回答。

另外,通过微调去记住业务知识不一定是靠谱的方案,有可能会带来幻觉问题。

wzpan avatar Aug 01 '23 12:08 wzpan

微调本来就是要交对齐税(alignment tax)的,会导致其他部分的性能丢失。

也许可以考虑加个意图识别,如果是客服问题,就调微调后的模型去回答;如果是非客服问题,就调普通模型去回答。

另外,通过微调去记住业务知识不一定是靠谱的方案,有可能会带来幻觉问题。

或许还能使用动态的特殊instruction设计,这样会减少多模型加载带来的性能损失。

PluginsKers avatar Aug 19 '23 14:08 PluginsKers