ChatGLM2-6B
ChatGLM2-6B copied to clipboard
[BUG/Help] 微调后通用问答受影响
Is there an existing issue for this?
- [X] I have searched the existing issues
Current Behavior
用自己的客服数据微调,通用问答受影响。这个有什么办法减小影响吗?感觉像捡了芝麻丢了西瓜。 下面是微调后的测试
微调后模型回复 #################### 如何改善睡眠质量 客服:您提供一下您的车牌号,我帮您登记一下。 ####################
原ChatGLM2模型回复如下 #################### 如何改善睡眠质量
改善睡眠质量需要从多个方面入手,以下是一些可能有助于改善睡眠质量的建议:
- 维持规律的睡眠时间表:尽量在每晚相同的时间上床睡觉和起床,即使在周末和假期也要尽量保持一致。
- 创建舒适的睡眠环境:保持卧室安静、凉爽、黑暗、舒适和整洁。如果需要,可以使用睡眠面罩、耳塞或空气净化器来帮助创造一个更舒适的睡眠环境。
- 改善睡前活动:在睡前数小时内避免使用电子设备,如手机、电脑或平板电脑。这些设备发出的光线和刺激可能会影响睡眠质量。
- 控制饮食和饮水:尽量避免在睡前数小时内摄入咖啡因、酒精和尼古丁等兴奋剂。此外,要避免在睡前大量饮水,以免频繁起夜影响睡眠。
- 放松身心:在睡前进行一些有助于放松身心的活动,如轻松的瑜伽、深呼吸、冥想或伸展运动,有助于减轻压力和焦虑,有助于入睡。
- 锻炼身体:适度的身体锻炼可以帮助改善睡眠质量,但不要在睡前进行剧烈的运动,以免影响入睡。
- 减少蓝光:晚上使用电子产品、电灯等会发出蓝光,这可能会影响睡眠质量。尽量在睡前一小时停止使用这些设备,并尝试使用暖色调的灯光来避免蓝光的影响。 请注意,如果存在长期的睡眠问题,最好咨询医生进行评估和治疗。 ####################
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
微调数据里混合一些通用的问答数据或者指令数据试试
微调数据里混合一些通用的问答数据或者指令数据试试
通用数据规模那么大,种类也很多,这个操作起来不现实啊
试过用指令数据去微调,但用户问问题的时候必须加上前面的指令。 这又会存在一个问题,用户问的问题哪些需要加指令,哪些不需要加。 不知道还有没有其他办法。
类似的问题,微调后,问什么,都只回答 自己训练集里面的内容了。
这个问题没人能解决吗?官方没遇到过这种问题?
这个问题没人能解决吗?官方没遇到过这种问题?
这不是问题吧,是过拟合了,训练集和验证集不要重合,训练集放你想要的对话,验证集放你想要的对话+通用对话
微调本来就是要交对齐税(alignment tax)的,会导致其他部分的性能丢失。
也许可以考虑加个意图识别,如果是客服问题,就调微调后的模型去回答;如果是非客服问题,就调普通模型去回答。
另外,通过微调去记住业务知识不一定是靠谱的方案,有可能会带来幻觉问题。
微调本来就是要交对齐税(alignment tax)的,会导致其他部分的性能丢失。
也许可以考虑加个意图识别,如果是客服问题,就调微调后的模型去回答;如果是非客服问题,就调普通模型去回答。
另外,通过微调去记住业务知识不一定是靠谱的方案,有可能会带来幻觉问题。
或许还能使用动态的特殊instruction
设计,这样会减少多模型加载带来的性能损失。