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

数据集中"history"中的数据会被拿去做decoder生成训练吗?

Open xyfZzz opened this issue 1 year ago • 5 comments

如下是项目的examples.json,请问"history"中每一轮的机器回复会被拿来计算生成损失吗?还是说只有output会被计算损失?

[ { "instruction": "听起来很不错。人工智能可能在哪些方面面临挑战呢?", "input": "", "output": "人工智能面临的挑战包括数据隐私、安全和道德方面的问题,以及影响就业机会的自动化等问题。", "history": [ ["你好,你能帮我解答一个问题吗?", "当然,请问有什么问题?"], ["我想了解人工智能的未来发展方向,你有什么想法吗?", "人工智能在未来的发展方向可能包括更强大的机器学习算法,更先进的自然语言处理技术,以及更加智能的机器人。"] ] }, { "instruction": "好的,谢谢你!", "input": "", "output": "不客气,有其他需要帮忙的地方可以继续问我。", "history": [ ["你好,能告诉我今天天气怎么样吗?", "当然可以,请问您所在的城市是哪里?"], ["我在纽约。", "纽约今天晴间多云,气温最高约26摄氏度,最低约18摄氏度,记得注意保暖喔。"] ] } ]

xyfZzz avatar Jul 03 '23 13:07 xyfZzz

history 不会计算损失,但会加入到 input 中,只有 output 会计算损失

hiyouga avatar Jul 03 '23 13:07 hiyouga

history 不会计算损失,但会加入到 input 中,只有 output 会计算损失

那如果要训练多轮对话的语料的话,相当于我要把history中的每一轮都拿出来充当一次input和output并构造成单独的一条样本放在数据集中,然后进行训练,对么?

xyfZzz avatar Jul 03 '23 13:07 xyfZzz

是的,你需要这样做

hiyouga avatar Jul 03 '23 13:07 hiyouga

是的,你需要这样做

像如下这种构造多轮的数据样例输入能够被当前glm这个项目支持吗?

"Human: 你好,请问许志安的《爱你》是哪一年发行的?\n\nAssistant: 你好,Human!许志安的《爱你》这首歌曲首次发行于1998年,收录在他的粤语专辑《好许志安》中。\n\nHuman: 这首歌的时长是多少呢?\n\nAssistant: 《爱你》这首歌的时长为3分15秒。\n\nHuman: 这首歌的歌词能告诉我一些吗?\n\nAssistant: 当然可以。"

xyfZzz avatar Jul 03 '23 13:07 xyfZzz

理论上也可以支持,但是更推荐手动改造成标准格式

hiyouga avatar Jul 03 '23 13:07 hiyouga