WinterShiver: 当前的数据处理场景设定如下:数据源为单个巨大的 jsonl 文件,可能包含多达上百万行数据记录。且单条数据条目普遍较为简短。 本文聚焦于利用 PyTorch 的 Dataset 类的默认接口。在实践中,当然也可以重写 Dataset 类的 init 方法,使其仅加载诸如数据索引、数据条目总量这类元数据,而将具体数据内容的获取环节后置至 getitem 方法被调用时执行,来规避一次性将大规模数据集完整载入内存,而无需使用 iterable dataset。 然而本文场景下,由于数据总量大,仅加载数据索引的元数据,内存占用还是很大,没有显著改善资源利用情况;。与此同时,在该业务场景下,诸如 len 这类用以表征数据规模等属性的元信息并不重要。 此时选用 iterable dataset 会更方便。 本文核心目的在于清晰阐释相关接口的高效运用方式,方便实操使用。而到了实际解决问题的时候思路可以很开阔。
Python: scipy+matplotlib 绘制beta分布图
Pytorch:多模态大模型预训练、大模型微调:加载数据的正确姿势