大模型数据整理器打包及填充、Flash Attention 2解析(97)
大模型数据整理器打包及填充、Flash Attention 2解析
- “打包(packing)和填充(padding),哪种更有效?”
- “好的,我被打包技术说服了。那该怎么实现呢?”
- 用于打包的整理器(Collators for Packing)
- 要么使用序列打包,要么使用Flash Attention 2,二者不可兼得。
- 但现在,你可以两者做到了!
- “等一下!你刚才不是说不能将仅针对补全文本的整理器与打包序列一起使用吗?”
- `DataCollatorWithFlattening`
- 术语补充说明
接下来,让我们看看打包后的数据集(packed dataset)具体是什么样的 —— 它会由训练器类(trainer class)在内部生成。我们将继续使用之前已准备好的 “尤达数据集”(Yoda dataset,下方已重现我们此前使用过的那些句子)进行演示:
sequences = dataset['text']
print(sequences[:2])
输出
['&l