多輪對話數據組織格式
直接構造包括多輪對話中所有機器人回覆內容的標籤,【充分地利用了所有機器人的回覆信息】,同時【也不存在拆重複計算,非常高效】。
inputs = <user1> <assistant1> <user2> <assistant2> <user3> <assistant3>
labels = <-100> <assistant1> <-100> <assistant2> <-100> <assistant3>
爲什麼可以直接這樣去構造多輪對話的樣本呢?難道inputs中包括第二輪和第三輪的對話內容不會干擾第一輪對話的學習嗎?
答案是不會。原因是LLM作爲語言模型,它的注意力機制是一個單向注意力機制(通過引入 Masked Attention實現),模型在第一輪對話的輸出跟輸入中存不存在第二輪和第三輪對話完全沒有關係。
確實這麼設計是最好的!