數據整理器(Data Collators)
- 數據整理器(Data Collators)
- 導致問題的“罪魁禍首”,往往是長度不一的序列。
- 指令格式
- 關鍵術語說明
數據整理器(Data Collators)
數據整理器負責將多個數據樣本拼接成一個迷你批次(mini-batch)。它通常處于“隱形”狀態——每次使用PyTorch的DataLoader時,你都在不知不覺中依賴其默認的數據整理器。這就像大公司的后勤部門,平時你不會特意留意它的存在,可一旦出現嚴重問題,你才會意識到它的重要性:就像物流漏送貨物一樣,當數據加載器(DataLoader)無法生成迷你批次時,你才會注意到數據整理器的作用。
導致問題的“罪魁禍首”,往往是長度不一的序列。
我們無法將不同尺寸的張量(tensor)直接拼接,當默認數據整理器嘗試執行拼接操作時,就會拋出異常。這時,我們才會意識到它的存在,進而匆忙通過數據加載器的collate_fn
參數替換掉默認整理器。
指令格式
下面我們將結合尤達數據集(Yoda dataset,第0節中已介紹),梳理數據整理器的可選類型。首先,我們需要將該數據集調整為支持的格式之一——指令格式(instruction format),該格式需包含“prompt(提示)”和“completion(補全)”兩列。
dataset = load_dataset("dvgod