大模型训练相关技术
多轮对话数据组织格式
直接构造包括多轮对话中所有机器人回复内容的标签,【充分地利用了所有机器人的回复信息】,同时【也不存在拆重复计算,非常高效】。
inputs = <user1> <assistant1> <user2> <assistant2> <user3> <assistant3>
labels = <-100> <assistant1> <-100> <assistant2> <-100> <assistant3>
为什么可以直接这样去构造多轮对话的样本呢?难道inputs中包括第二轮和第三轮的对话内容不会干扰第一轮对话的学习吗?
答案是不会。原因是LLM作为语言模型,它的注意力机制是一个单向注意力机制(通过引入 Masked Attention实现),模型在第一轮对话的输出跟输入中存不存在第二轮和第三轮对话完全没有关系。
确实这么设计是最好的!