数据整理器(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