大语言模型系列—预训练数据集及其清洗框架

大规模的高质量语料是训练大语言模型的关键“养料”。这些语料提供了世界性的知识体系,能够提升语言模型的理解能力和生成质量,同时也能够支持多样化的应用场景。事实上,高质量的文本对于大语言模型的训练和能力表现具有非常重要的影响。一些学者甚至认为:“GPT、PaLM等模型的领先优势在很大程度上源于它们使用的超大规模且高质量的专有数据。”(Touvronetal,2023)

阿联酋阿布扎比技术创新研究所(TechnologyInnovationInstitute,TII)精心构建了一个用于大模型预训练的数据集——RefinedWeb。这个数据集是通过对CommonCrawl(CC)网页数据进行细致且深入的清洗和过滤得来的。令人惊讶的是,LLM仅使用经过精细处理的网页数据,就能达到甚至超越使用专有数据集的模型效果。RefinedWeb的全量数据规模达到了5TTokens,其中,已经向公众开源的数据规模则达到了600BTokens。

依据Penedoetal.(2023)的研究,如下图所示,即使只使用经过严密清洗和过滤的网页数据,模型的效果也能与使用多种专有数据的混合方案相媲美。另外,RefinedWeb数据集已成功训练出了Falcon-7B、40B和180B等模型。值得一提的是,目前Falcon-180B在Huggingface开源模型排行榜OpenLLMLeaderboard上名列前茅。同时,Shenetal.(2023)分析中指出,RefinedWeb数据集的质量优于RedPajama-1T和SlimPajama。

虽然CC网页数据的规模达到PB级,但其质量却相对较低,必须经过深度的清洗和过滤才能满足模型训练的需要。RefinedWeb的清洗过程包括以下几个步骤:

经过深度清洗后,CC文本的淘汰率接近90%。尽管如此,TII团队仍然从近180TB的CC数据集中清洗出了大约5TTokens的数据,并向公众开源了其中的600BTokens数据。

RedPajama-1T是由Together开源社区发起的项目,它的目标是复现MetaAI的LLaMA预训练,以推动大语言模型(LLM)开源社区的发展。

RedPajama-1T数据集包含了1.2TTokens的英文数据,未经压缩的数据大小约为5TB,而经过压缩后的下载大小约为3TB。

RedPajama-1T数据集的收集方式参照了LLaMA论文公开的思路,可从HuggingFace官网下载。

RedPajama-1T数据集的清洗过程相对简单,主要的去重操作仅限于子集或文档内部。因此,这个数据集的去重并不彻底,在子集之间存在明显重复文本(Shenetal,2023)。

SlimPajama数据集是由Cerebras基于RedPajama-1T数据集通过深度去重得到的英文数据集。该团队通过过滤低质量和重复性文本,从RedPajama-1T数据集中过滤掉了49.6%的Tokens,从而将数据集规模从1210BTokens缩减为了627BTokens。实验结果表明,使用SlimPajama训练的模型性能优于使用RedPajama-1T数据集训练的模型。

为了提升数据质量,Cerebras开发了一个包含精确和模糊算法的全量去重框架,用于产生SlimPajama数据集。处理流程包括以下两个步骤:

为了确保数据的质量,DeepMind对MassiveText数据集进行了一系列的处理,包括:

ThePile是由EleutherAI社区构建的大规模英文数据集,其规模达到825GB,包含约1.4亿份文档,平均每个文档大小为5.9KB(Gaoetal,2020)。这个数据集的优势在于其广泛的数据覆盖范围和详细的分类,由22个不同的高质量子集组成。

ThePile数据集被分为五个主要类别:学术材料、网页、书籍、对话和代码,并被进一步细分为22个子集。以下是其中的一些主要子集:

各个子集在构建过程中采用了“分治”思想,根据数据特征定制清洗规则。

C4(ColossalCleanCrawledCorpus)是Google提出的一个大规模英文语料库。这个数据集源自CommonCrawl,包含了约3.65亿份文档(156BTokens)(Raffeletal,2020)。Google使用该数据集来训练T5和SwitchTransformer模型(Dodgeetal,2021)。

在构建C4数据集的过程中,研究者们制定了一系列启发式的数据清洗规则。

尽管如此,目前仍有一些规模超过100GB的中文数据集已经开源,包括MNBVC、SkyPile-150B、Wanjuan1.0、WuDao和CLUECorpus2020。这些数据集的存在为中文LLM训练提供了资源。

MNBVC数据集涵盖了各种形式的纯文本中文数据,包括新闻、作文、小说、书籍、杂志、论文、台词、帖子、Wiki、古诗、歌词、商品介绍、笑话、糗事、聊天记录等。所有的数据均收集自互联网。

MNBVC数据集提供的文档内容是经过初步清洗的版本,整体来说,数据质量属于中等水平。在数据集中,存在大量的乱码、低质量文本和重复性文本。这些问题会影响LLM训练效果。因此在使用之前需要对数据进行精细清洗。以下是MNBVC数据集的主要子集:

新闻:

知乎问答(仅包含最高赞1个回答):

外交部问答:

公司财报:

中文Wiki:

法律判决书:

SkyPile-150B是昆仑万维专门为LLM预训练任务设计的中文数据集,数据源自可公开访问的中文网页。为了保证数据质量,数据集经过了初步的清洗处理,同时使用了FastText和BERT等工具来过滤低质量的文本。SkyPile-150B包含1.66亿个中文网页,每个网页平均包含1,000多个汉字,总的数据规模达到了592GB(150BTokens)。

然而,需要注意的是,Wanjuan1.0与MNBVC有很多相同的主要子集,因此两者在内容上存在较大的重叠。使用前需要在数据集之间进行彻底去重。

WuDaoCorpora是由北京智源人工智能研究院(智源研究院)构建的复合数据集,由文本、对话、图文对三部分组成。其中,可申请使用的文本数据规模达到了200GB。

在构建WuDaoCorpora数据集的过程中,该团队采用了20多种规则,从100TB的原始网页数据中清洗出了最终的数据集。此外,该数据集包含了教育、科技等50+个行业的数据标签,这使得它能够支持多领域预训练模型的训练。

CLUE开源社区采用自定义的清洗方法从2019年7月至12月的CommonCrawl(CC)原始数据中提取出了100GB的中文语料。该数据集已经通过了CLUEOrganization团队的初步验证,以确认其质量和可用性。该数据集已被成功用于从零开始训练Bert-base模型。训练后的模型展示了与使用同类高质量数据集训练得到的模型相当的中文处理能力。

然而,需要注意的是,由于清洗过程的力度不够,CLUECorpus2020中仍然存在一些低质量和不健康的文本。以下列出了一些需要进一步改进和完善的地方:

目前,已有多个开源的多语种训练数据集可供研究者使用。其中包括CC100(由Conneau等人于2019年发布)、OSCAR(由Suárez等人于2019年发布)、ROOTS(由Laurenon等人于2022年发布)、RedPajama-V2等。

CC100是一个包含100种语言的开源数据集,总规模达到了2.5TB。这份数据集是由MetaAI团队使用CC-Net框架清洗2018年1月-2018年12月的CCSnapshot得来。在CC100的数据格式中,每个文件都包含由双换行符分隔的文档以及同一文档中由换行符分隔的段落。这样的设计旨在方便数据的处理和使用。

CC100数据集已被用于训练XLM-R模型,训练结果揭示了几个重要的发现:(1)扩大数据规模能显著提升下游任务的表现;(2)增加语种数量、扩大词汇表、增大模型参数规模,这些都有利于提升模型的表现,特别是对于小语种的迁移学习能力。

OSCAR(OpenSuper-largeCrawledAggregatedcoRpus)是一个开源项目,其主要目标是处理CommonCrawl的WET文件,以便为词嵌入模型和大型语言模型预训练提供基于网页的多语言数据集。该项目成功地开源了多语种的OSCAR数据集,总规模达到了6.3TB。该数据集包含了151种不同的语言,最新版本为OSCAR23.01。通过基于OSCAR数据库训练的上下文词嵌入ELMo模型,研究人员发现,清洗算法能显著降低CommonCrawl数据的噪声,使其接近Wikipedia的质量水平。

此外,OSCAR项目还开发了一套专门用于分类和过滤CommonCrawl数据的高性能并行框架(包括Goclassy和Ungoliant)。这个框架重用了FastText的线性分类器和预训练的FastText模型进行语言识别。

为了确保数据集的质量,ROOTS数据集的清洗过程采取了一系列严格的措施。清洗流程包括:

继RedPajama-1T之后,Together开源社区于2023年10月底发布了多语种数据集RedPajama-V2。该数据集源自于84个CommonCrawlDump文件,包含英语(67%)、德语(10%)、法语(9%)、西班牙语(9%)和意大利语(5%)五种语言,文本规模达到30TTokens(约100TB),是迄今为止最完整的CommonCrawl清洗数据。

文本语料清洗(TextCorpusCleaning)是自然语言处理中的一项核心任务,该过程对确保数据质量和提高模型效果至关重要。语料清洗的主要步骤包括文本提取、语种分类、去重和过滤等。目前,开源语料清洗框架有SlimPajama、MNBVC和CC-NET等。

SlimPajama是由Cerebras团队推出的一个去重工具包,为清洗RedPajama-1T数据集而设计。它提供了一系列的功能,包括文本规范化、生成Minhash、匹配重复数据、划分数据集和去重等。而且,通过采取分布式并行和内存池优化技术,该工具可以支持万亿级Tokens的同步去重。

SlimPajama的数据清洗流程如下:

MNBVC的数据清洗流程如下:

运行convert.py程序,并设置源文件路径和目标路径,指定并发进程数量(--n_process)和重复率阈值(--threshold)

THE END
1.大数据什么是数据清洗?(附应用嘲及解决方案)数据清洗是一个耗时的过程,尤其是在数据量大和数据质量差的情况下,需要投入大量的时间和资源。 通过使用专业的数据处理工具,如FineDataLink,可以有效地解决数据清洗的痛点,提高数据处理的效率和质量。FineDataLink提供了多种可视化算子和功能,如新增计算列、数据过滤、数据关联等,帮助用户快速完成数据清洗和处理,无需编https://blog.csdn.net/oOBubbleX/article/details/140350709
2.19数据清洗知识之数据清洗概述数据清洗的目标17|描述性统计知识之离散程度的测度、数据分布的形状 时长45:57 18|描述性统计知识之相关分析与回归分析实操 时长36:46 19|数据清洗知识之数据清洗概述、数据清洗的目标 时长37:03 20|数据清洗知识之解决数据质量问题 时长41:05 21|数据清洗知识之提高数据易用性 时长55:03 22|数据清洗知识之Python实操演练 https://time.geekbang.org/course/detail/100117306-545493
3.数据清洗处理概述想要在Cocoa /目标-C中连接到SQLite数据库的简单概述 如何使用等效于#region / #endregion(概述)组织XML数据 C#设计转储/概述?类统计数据 相关文章 ETL数据清洗概述 数据预处理-数据清洗 数据清洗-缺失值处理 数据清洗与特征处理 数据清洗(二)---缺失数据处理 数据预处理https://www.pianshen.com/article/2731712359
4.用于产生真实世界证据的真实世界数据指导原则(征求意见稿)一、概述 真实世界证据(RealWorld Evidence,RWE)是药物有效性和安全性评价证据链的重要组成部分,其相关概念和应用参见《真实世界证据支持药物研发与审评的指导原则(试行)》。而真实世界数据(Real World Data, RWD)则是产生RWE的基础,没有高质量的适用的RWD支持,RWE亦无从谈起。 https://www.cn-healthcare.com/articlewm/20200804/content-1135188.html
5.R语言数据清理极客教程在这篇文章中,我们将简要介绍一下数据清洗的应用和它在R编程语言中的实现技术。R语言中 的数据清理数据清洗是将原始数据转化为易于分析的一致数据的过程。它的目的是根据数据以及它们的可靠性来过滤统计报表的内容。此外,它还会影响基于数据的统计报表,并提高你的数据质量和整体生产力。https://geek-docs.com/r-language/r-tutorials/g_data-cleaning-in-r.html
6.大数据应用导论Chapter02大数据的采集与清洗1、Python数据清洗概述 Python是大数据清洗常用的工具之一。除了Python以外还有Trifacta Wrangler 和 OpenRefine两种常用的大数据清洗工具。 Python的Pandas和Sklearn库可进行数据转换等操作 Pandas库:提供数据导入、数据可视化、整合、转换等功能 Sklearn库:提供数据标准化、数据离散化、特征编码等功能 https://blog.51cto.com/14683590/5236225
7.数据集成服务(SSIS)概述腾讯云腾讯云数据库 SQL Server 发布商业智能服务器,提供集数据存储、抽取、转换、装载、可视化分析一体的全套商业智能解决方案,目前已支持 SSIS 数据集成服务。使用 Integration Services 可解决复杂的业务场景,例如合并来自异构数据存储区的数据、数据清洗和数据标准化、填充数据仓库和数据集、处理复杂商业逻辑的数据转换、支持管https://intl.cloud.tencent.com/zh/document/product/238/48060
8.www.ptzfcg.gov.cn/upload/document/20180724/0279275ee54644f69.2投标人应在投标截止时间前按照福建省政府采购网上公开信息系统设定的操作流程将电子投标文件上传至福建省政府采购网上公开信息系统,同时将投标人的CA证书连同密封的纸质投标文件送达招标文件第一章第10条载明的地点,否则投标将被拒绝。 10、开标时间及地点:详见招标公告或更正公告(若有),若不一致,以更正公告(若有)http://www.ptzfcg.gov.cn/upload/document/20180724/0279275ee54644f6adb79e806e1b3734.html
9.ETL设计详解(数据抽取清洗与转换)概述 ETL是BI项目最重要的一个环节,通常情况下ETL会花掉整个项目的1/3的时间,ETL设计的好坏直接关接到BI项目的成败。ETL也是一个长期的过程,只有不断的发现问题并解决问题,才能使ETL运行效率更高,为项目后期开发提供准确的数据。 ETL的设计分三部分:数据抽取、数据的清洗转换、数据的加载。在设计ETL的时候也是从https://www.jianshu.com/p/6b88d125c949
10.《数据采集与清洗》课程教学大纲.docx(支持毕业能力要求5) 四、教学内容、安排及与教学目标的对应关系单元教学内容单元教学目标学时教学方式对应课程教学目标 1 一、技术概述 1.1 大数据采集技术 1.2 数据预处理技术 1.3数据清洗概述? 1.3.1 数据清洗简介 1.3.2 数据标准化 1.3.3 数据仓库简介 (1)能正确阐述大数据处理的一般流程;(2)能准确说明数据https://max.book118.com/html/2022/0226/8016111055004060.shtm