Zyphra Technologies 发布巨型预训练数据集 Zyda-2,助力高效训练小型语言模型
Zyphra Technologies 致力于开发多模态智能体系统,融合了下一代状态空间模型架构、长期记忆和强化学习等前沿研究成果。近日,该公司发布了 Zyda-2,这是一个包含 5 万亿个词元的开放式预训练数据集。
Zyda-2 的规模是其前身 Zyda 的五倍,涵盖了广泛的主题。然而,真正让它与众不同的是其独特的构成。与 Hugging Face 上许多其他开放数据集不同,Zyda-2 经过精心提炼,保留了现有顶级数据集的优势,同时消除了它们的弱点。
这为企业提供了一种训练语言模型的方法,即使在给定参数预算下,在边缘和消费设备上运行也能保持高精度。该公司使用该数据集训练了其 Zamba2 小型语言模型,发现其性能明显优于使用其他最先进的开源语言建模数据集。
此举是在发布原始 Zyda 数据集几个月后进行的。Zyda 数据集涵盖了广泛的主题和领域,以确保训练具有竞争力的语言模型所需的丰富性和质量。
今年早些时候,为了构建能够以低成本自动执行各种任务的高效小型模型,Zyphra 不仅专注于模型架构研究,还开始构建定制的预训练数据集。他们将社区公认的高质量开放数据集(如 RefinedWeb、Starcoder C4、Pile、Slimpajama、pe2so 和 arxiv)整合在一起。
Zyda 的第一个版本于 6 月发布,包含 1.3 万亿个词元,它是一个经过过滤和去重的现有优质开放数据集的混合体。当时,Zyda 的表现优于其构建的基础数据集,为企业提供了一个强大的开放式训练选择。然而,1.3 万亿个词元远远不够。该公司需要扩展规模,并推动性能基准,这促使他们建立了新的数据处理管道,并开发了 Zyda-2。
Zyphra 在 Zyda-1 的基础上,进一步整合了来自 DCLM、FineWeb-Edu 和 Dolma v1.7 的 Common-Crawl 部分的开源词元。Zyda 的原始版本使用该公司自己的基于 CPU 的处理管道创建,而对于最新版本,他们使用了 Nvidia 的 NeMo Curator,这是一个 GPU 加速的数据整理库。这帮助他们将总拥有成本降低了 2 倍,并将数据处理速度提高了 10 倍,从三周缩短到两天。
“我们对所有数据集进行了交叉去重。我们相信这提高了每个词元的质量,因为它消除了数据集中的重复文档。在此基础上,我们使用 NeMo Curator 的质量分类器对 Zyda-1 和 Dolma-CC 进行了基于模型的质量过滤,只保留了这些数据集的‘高质量’子集。”Zyphra 在一篇博文中写道。
这项工作创造了 Zyda-2 形式的完美数据集集合,从而提高了模型性能。正如 Nvidia 在另一篇开发者博客文章中所指出的,新数据集将管道中使用的其他数据集的最佳元素与许多高质量的教育样本相结合,用于逻辑推理和事实知识。同时,Zyda-1 部分提供了更多多样性和变化,在更多语言和写作任务中表现出色。
在一项消融研究中,使用 Zyda-2 训练 Zamba2-2.7B 在领先的基准测试中获得了最高的聚合评估分数,包括 MMLU、Hellaswag、Piqa、Winogrande、Arc-Easy 和 Arc-Challenge。这表明与使用单个开放数据集训练相比,使用提炼后的数据集训练可以提高模型质量。
“虽然每个组件数据集都有自己的优势和劣势,但组合后的 Zyda-2 数据集可以弥补这些不足。通过使用去重和积极过滤,与简单地组合这些数据集相比,获得给定模型质量的总训练预算降低了。”Nvidia 博客补充道。
最终,该公司希望这项工作能够为更高质量的小型模型铺平道路,帮助企业在特定内存和延迟约束下最大限度地提高质量和效率,无论是在设备上还是云部署中。
团队现在可以通过从 Hugging Face 直接下载 Zyda-2 数据集来开始使用它。它附带 ODC-By 许可证,允许用户在遵守原始数据源的许可协议和使用条款的情况下,对 Zyda-2 进行训练或构建。