项目介绍:NeMo-Curator
NeMo-Curator 是一个由 NVIDIA 开发的开源 Python 库,旨在为各种生成式 AI 用例提供快速且可扩展的数据集准备和策划功能,如基础语言模型的预训练、文本到图像模型的训练、领域自适应预训练(DAPT)、监督微调(SFT)以及参数高效微调(PEFT)。该库通过集成 GPU 加速技术(如 Dask 和 RAPIDS)来显著加速数据策划的进程,从而节省大量时间。其模块化和可定制的接口,简化了流水线的扩展,并通过准备高质量的 tokens 加速模型收敛。
主要功能
NeMo-Curator 提供了一系列可扩展的数据策划模块,用于文本和图像的策划工作。
文本策划
NeMo-Curator 的文本流水线具有强大的多语言支持,主要功能包括:
- 下载和提取:提供 Common Crawl、Wikipedia 和 ArXiv 数据源的默认实现,可以轻松定制并扩展到其他数据源。
- 语言识别:识别并处理不同语言文本。
- Unicode 格式化:确保文本格式的一致性和正确性。
- 启发式过滤:通过启发式方法筛选低质量文本。
- 分类过滤:使用 fastText 和 GPU 加速模型进行领域、质量和安全性分类。
- GPU 加速去重:支持精确去重、模糊去重(通过 MinHash )、语义去重等多种去重方法。
- 下游任务去污:防止测试集泄露,移除训练数据中可能影响评估的内容。
- 个人身份信息(PII)编辑:识别并编辑个人敏感信息。
图像策划
在图像策划模块中,NeMo-Curator 提供:
- 嵌入生成:为图像生成特征嵌入。
- 分类过滤:包括美学和 NSFW 分类。
- GPU 去重:进行语义上的去重。
这些模块具有灵活性,允许重新排序,能够自动扩展到多个节点以增加吞吐量。
资源和教程
为了帮助用户更好地使用 NeMo Curator,NVIDIA 提供了丰富的资源和教程,包括文档、示例代码、博客文章等,用户可以通过这些资源快速上手。
- 文档:全面详实的用户指南,帮助用户理解和使用各种功能模块。
- 示例:各种应用场景的代码示例,供用户参考和学习。
- 教程:以不同主题为基础的详细教程,引导用户从零开始使用 NeMo Curator 进行数据策划工作。
如何开始使用 NeMo Curator
安装说明
在安装 NeMo Curator 之前,用户需确保满足以下要求:
- Python 3.10
- Ubuntu 22.04/20.04
- (可选) NVIDIA GPU(Volta 或更高版本,支持 CUDA 12 及以上)
用户可以通过多种方式安装 NeMo Curator:
- 通过 PyPI 安装
- 从源代码安装
- 使用 NeMo 框架容器
此外,NeMo Curator 提供了一些附加安装选项,可以根据用户的工作负载需求安装相应的模块。
入门示例
为了帮助用户快速入门,NeMo-Curator 提供了许多快速的 Python API 使用示例,以及详细的教程,涵盖了包括分布式数据分类、图像策划等方面的内容。
贡献社区
NeMo Curator 欢迎社区参与贡献,感兴趣的开发者可以通过参考贡献指南来了解如何为项目做出贡献。
通过 NeMo-Curator,研究人员和开发者能够更加高效地进行数据集的策划与管理,从而加速 AI 模型的开发与应用。其强大的功能和灵活的接口,使得数据处理更为方便与快捷,成为许多生成 AI 应用场景中的重要一环。