- CCI3.0-HQ: 一个专为预训练大型语言模型而设计的高质量中文数据集
王亮东∗,张博文∗,吴程维∗,赵寒宇∗,肖风石,古树豪,李继杰,马全跃,潘腾飞,刘光†
北京人工智能研究院(BAAI)
摘要
我们介绍了CCI3.0-HQ3,这是一个高质量的500GB中文语料库互联网3.0子集(CCI3.0),采用了一种新颖的两阶段混合过滤流程来显著提高数据质量。为了评估其效果,我们在各种数据集上从头开始训练了一个0.5B参数模型,跨越100B标记,相比于CCI3.0、SkyPile和WanjuanV1,在零-样本场景下在10个基准测试中取得了卓越的表现。高质量的过滤过程有效地将Qwen2-72B-instruct模型的能力提炼到一个紧凑的0.5B模型中,实现了中国网页数据分类的最优F1分数。我们相信这个开放获取的数据集将有助于更广泛地访问高质量的语言模型。
关键词 中文 数据集 · 预训练 · 大型语言模型
目录
1简介
2流水线
2.1基础处理
2.2高质量处理
2.2.1高质量样本标注的方法
2.2.2高质量分类器的高效训练
3实验
3.1实验设置
3.1.1模型训练配置
3.1.2数据集组成
3.1.3评估指标
3.2CCI3.0-HQ对模型训练的影响
3.3质量注释技术的评估
3.4评估中文网络数据的质量分类器
4结论和限制
参考文献
5附录
5.1训练动态评估
1 简介
大型语言模型(LLMs)的成功主要归功于丰富、高质量的预训练语料库的可用性,这些语料库为它们在各种任务中的基础知识和推理能力提供支持,从创意写作到复杂问题解决都能应对。其中,开放源数据集,如The Pile和Common Crawl,对推动LLM的发展、促进合作和建立创新基准发挥了关键作用。
现有研究人员更加关注高质量数据的扩展。最近,对预训练数据的需求已经超过了10万亿个标记[1][5][6],强调英文预训练的两个关键发展方向:扩大数据规模和提高数据质量。 开源数据集迅速扩张,从类似Pile(825GB)的收集到更大的数据集,如FineWeb(15TB)[7],后者广泛利用了Common Crawl。 与此同时,关注重点已经从基于规则的过滤方法转变,就像早期项目Redpajama[8]所示,转向以FineWeb-Edu[7]为代表的基于模型驱动的方法。
尽管英文开源数据集迅速发展,但全球网络上的中文数据仍然严重不足。现有的开源中文数据集,如WuDao [9]、SkyPile150B [10]和WanjuanV1 [11],由于在线中文数据源的稀缺性而受到规模限制。此外,目前对于改进中文网络数据的质量分类的研究有限,导致数据质量不佳。这些挑战对于高性能中文语言模型的发展构成了重大障碍,突显了更有效的数据过滤和质量分类方法的迫切需求。
项目负责人,通讯作者,请联系liuguang@baai.ac.cn
https://huggingface.co/datasets/BAAI/CCI3-Data
图1:数据集策划流程
为了解决所识别的挑战,我们提出了CCI3.0-HQ,这是一个通过两阶段混合过滤策略创建的大规模中文预训练数据集:基础处理和高质量处理。
-基础阶段包括标准的网络数据整合实践,包括安全过滤、文本提取、去重复以及使用基本模型评分进行初步质量评估。
-第二阶段通过采用Qwen272B-Instruct [2] 来确定高质量样本,进一步提升数据质量,生成一个包含14万个样本的训练集和一个包含1.4万个样本的测试集。
我们的分析表明,这些注释与GPT-4的注释一直保持在大约80%的一致性。因此,我们在这14万个训练样本上训练一个0.5B质量分类器,以高效地过滤CCI3.0,生成一个高质量数据集。
为了评估我们的数据集对LLMs训练的影响,我们进行了一系列实验,使用了一个从头开始训练的0.5B模型,在一个包含100B标记的特定数据混合下进行了评估,评估其在零样本设置下在10个基准测试上的表现。广泛的结果表明,CCI3.0-HQ在表现上明显优于竞争的中文数据集,如SkyPile和WanjuanV1。此外,我们提出的质量分类器CCI3.0-HQ取得了卓越的表现,超过了基于F1分数的分类器FineWeb-edu、分类器IndustryCorpus2和分类器ChineseWebText。
总的来说,我们的主要贡献如下:
我们推出了CCI3.0-HQ,这是一个开创性的500GB中文预训练数据集,利用先进的混合质量过滤方法来增强数据完整性。
我们进行了严格的实验评估,证明CCI3.0-HQ明显优于原始CCI3.0数据集和其他知名的开源中文语料库,从而为性能建立了新的基准。
我们介绍并开源 CCI3-HQ 分类器,这是一个先进的质量分类工具,显著改进了LLM训练中的数据选择过程。
2 流水线
如图1所示,数据处理流水线由两个主要阶段组成:基础处理和高质量处理。原始数据涵盖了各种类型的中文语料库,包括新闻、社交媒体和博客,从而增强了我们数据集的覆盖范围和代表性。在完成基础处理步骤之后,我们获得了CCI3.0数据集。该数据集通过基于模型的高质量处理进一步精化,得到了CCI3.0-HQ数据集。接下来的章节将详细解释数据集构建工作流程中这两个阶段。
2.1 基础处理
本节概述了基础处理阶段涉及的四个关键流程,这对于准备CCI3.0数据集至关重要,并支持后续的数据准备阶段。
安全过滤:我们实施过滤器来排除那些可能包含不安全内容的网站数据,针对根据安全标准标识为有害的域名和以成人内容闻名的网站,确保符合严格的安全标准。
文本提取和清洗:鉴于数据集的多样化来源,我们为每个来源设计了专门的解析器,以有效地提取和清洗内容。
1.文档级去重:我们利用全局MinHash [12] 来识别和删除近似重复的文档,确保数据集的多样性,并避免冗余。
2.启发式和基本质量过滤:采用一组启发式方法来过滤低质量文档,消除异常值,并减少过度重复。随后,我们应用基于ChineseWebText [13]的基本质量分类器,预测文本被可靠来源引用的可能性,例如维基百科、电子书和新闻文章。
2.2 高质量处理
这个阶段着重于将Qwen2-72B-instruct 的质量评分能力提炼成一个 0.5B 模型,以便有效地对大量数据进行评分。
2.2.1 高质量样本标注的方法
高质量处理的主要重点是在预训练背景下对“高质量”的精确定义。在探索和比较主流方法之后,我们采用FineWeb-edu方法来定义高质量样本,并开发一个针对高质量教育内容的分类器。这旨在提升中文语料库的整体质量。详细比较注释方法及其有效性将在第3.3节中展示。
完成质量标准的确立后,下一个挑战是高效构建数十亿个符合规范的样本。为了解决这个问题,我们实施了一个结构化的流程,根据已建立的基准定义和注释样本,确保与必要的教育和信息价值保持一致——这对于强大的中文语言数据集至关重要。工作流程如下:
利用Qwen2-72B-Instruct对CCI3.0数据集中的145,000个随机网络样本进行评分,评分范围从0将本地部署的Qwen2 API与vLLM集成,利用类似FineWeb-edu的提示将教育性评分从1(非教育性)到5(高度教育性)。最后,我们对部分标记结果进行手动和GPT-4评估,达成超过80%的一致率。
2.2.2 高质量分类器的高效训练
将所有样本标记为像Qwen2-72B-Instruct这样的大型模型进行质量识别将成本过高。遵循FineWeb-edu方法论,我们通过自动化流程积累了数十万个带有注释的样本,随后训练一个更小的分类模型,以便在规模上进行高效标记。这种方法显著降低成本,同时确保高质量样本的正确识别,有助于通过实际资源投资实现全面的数据集标注。
我们通过添加一个带有单个回归输出的分类头部,对BGE-M3进行增强 [15](大约0.5B参数),以3e-4的学习率训练20个epochs。在训练期间,嵌入层和编码器层保持冻结状态,以集中精力在分类头部上,不使用dropout。训练脚本可在GitHub上找到。基于两个类别的F分数确定最佳学习率和中间检查点,并记录训练曲线。在图2中关于骨干模型是否被锁定的配置中,我们选择锁定骨干模型,因为当它不被冻结时性能提升很小,并且选择锁定骨干模型将节省大量训练时间。考虑到模型的泛化能力,我们决定保持骨干模型处于冻结状态。此外,在图2中执行了学习率的网格搜索。
最后,该模型被转换为一个二元分类器,使用阈值为3,并将该分类器应用于约15亿个样本,这个过程需要410个A100 GPU小时。
3 实验
在本节中,我们首先进行实验,评估我们筛选过的语料库在从零开始的预训练中的有效性。接下来,我们探讨并比较了两种高质量标注的方法,详细介绍了我们选择 FineWebedu 方法来定义和标注中国语料库上的高质量样本。最后,我们对现有的高质量分类器进行了比较分析,突出了我们训练的分类器的卓越性能。
(a)锁定 vs. 解锁骨架的效果 (b) 不同学习率的影响
(b)
图2:骨干冻结和学习率调整对分类器调优性能的影响。
3.1 实验设置
3.1.1 模型训练配置
为了我们的评估,我们利用了Qwen2-0.5B的分词器和模型架构,在一个包含1000亿标记的双语数据集上进行训练。这种配置确保有效处理中英文数据并保持实验的一致性。关键的训练参数包括序列长度为4096,权重衰减为0.1,梯度裁剪为1.0。训练集包括2500万个样本,全局批量大小为1024。学习率从3e-04开始,最小为3e-05,预热覆盖2048,000个样本,遵循余弦衰减时间表。
表格1:预训练模型配置参数
3.1.2 数据集组成
我们进行了两个主要实验来评估数据集的性能:
l混合数据集实验:该数据集包含60%的英文,10%的代码和30%的中文内容。对于英文部分,我们使用了FineWeb-edu,而代码数据则来自StarCoder[16]。
l中文数据集实验:这个实验利用了一个100%的中文内容数据集,包括了Wanjuan-v1、SkyPile、CCI3.0以及CCI3.0-HQ。CCI3.0数据集作为基准,因为它没有经过高质量的过滤处理,可以直接评估质量改进对数据集完整性的影响。
3.1.3 评估指标
我们采用了lighteval [17]库进行模型评估,模拟了FineWeb数据集的设置,并且所有的评估指标都基于零样本设置。评估指标包括:
l中文:中国指标的平均得分,包括CEval[18]和CMMLU[19]。
l英语平均分:包括标准英语指标如ARC-C[20]、ARC-E[20]、HellaSwag[21]、Winograd[22]、MMLU[23]、OpenbookQA[24]、PIQA[25]和SIQA[26]的平均分。
此外,我们使用来自相同测试样本的F1分数对我们的分类器与现有模型进行比较,利用来自'sklearn.metrics.classification_report'的宏平均F1分数来量化性能差异。
3.2 CCI3.0-HQ对模型训练的影响
我们通过端到端预训练实验对不同数据集进行了直接比较,使用模型训练的最终检查点进行性能评估。详细的实验结果,包括数据集比较和指标细节,都在第2节中提供。在分析数据集实验结果时,显现出三个关键点,突显出各个数据集之间性能差异以及CCI3.0-HQ的优势。
l混合数据集实验结果:在混合数据集评估中,CCI3.0-HQ在大多数指标上表现出色。值得注意的是,它在ARC-E(0.542)、Winograd(0.523)、MMLU(0.292)和SIQA(0.394)中取得最高分,展示了其在这些特定任务中的稳健表现。而CCI3.0在HellaSwag(0.36)上表现强劲,但总体上被CCI3.0-HQ超越。Skypile在OpenbookQA中表现良好。(0.334), 但在其他指标上落后,表现并不平衡。ARC-C 指标着重于更具挑战性的知识和问题,为了解决当前在该指标下表现差距的问题,我们计划在未来的工作中增加高教育水平内容的配额以改善结果。
l中文数据集实验结果:在中国特定评估中,CCI3.0-HQ在ARC-C(0.235)、ARC-E(0.388)和CEval(0.331)方面显著突出。这些得分超过了所有其他数据集,巩固了其在涉及中文语言的任务中的优势。Skypile在Winograd(0.49)和OpenbookQA(0.254)表现出色,但在其他领域通常效果较差,而Wanjuan-v1和CCI3.0在大多数指标上表现不佳。
l平均表现:CCI3.0-HQ 以0.395的整体平均分位居前列,而 Skypile 和 CCI3.0 分别为0.388。无论是在英文(AverageEnglish = 0.418)还是中文(AverageChinese = 0.303)任务中,都保持着明显的领先优势,证实了其在各种基准测试中具有优越的泛化能力。这凸显了CCI3.0-HQ数据集在增强跨多语言任务的语言模型训练方面的有效性。
总之,结果清楚地表明,CCI3.0-HQ在关键任务上持续表现优于其他数据集,特别是在英文和中文基准测试中,使其成为一个优越的数据集,用于全面的多语言评估和模型训练。我们还比较了在训练过程中各个数据集上的评估表现,具体细节请参见附录5.1。
3.3 质量注释技术的评估
在大规模自然语言模型的预训练领域中,我们探索了两种定义高质量样本的领先方法:FineWeb-edu和DataComp-LM(DCLM)。这两种方法基于最近出现的一种新方法,用于过滤大型语言模型的预训练数据集:使用合成数据来开发用于识别内容的分类器。
表2:混合数据集和中文数据集实验中数据集对模型性能的影响比较。
lFineWeb-edu: FineWeb-edu评估网页的教育质量,评分范围为0至5分,主要关注面向小学和初中水平的内容。在过滤过程中使用阈值为3,以确保各种复杂度的教育内容之间的平衡。这样可以保留中等教育网页,同时也可以留下一些高级内容,确保数据集中包含基础和高级知识,以供进一步分析或培训目的使用。
l在DCLM论文中,对比了多个数据集以识别高质量样本,最终选择了OpenHermes 2.5数据集作为正样本数据。然后使用该数据集来训练一个二元分类器。训练好的分类器随后被应用于预训练语料库,以识别高质量内容。由于OpenHermes 2.5数据集的中文版本尚不可用,因此将原始数据集翻译成中文以便用于后续处理。
通过实验比较,我们发现,在中文语料库中,FineWeb-edu方法在AverageChinese方面表现优于DCLM。该表格突出显示了两种质量标注方法之间的性能比较:DCLM和FineWeb-edu。根据所示的指标,可以得出两个关键要点:
l在中国特定指标上的表现:在中国特定指标上,FineWeb-edu一直表现优于DCLM。具体而言,对于CEval和CMMLU基准,FineWeb-edu得分分别为0.331和0.328,而DCLM的得分分别为0.298和0.311。此外,平均中国分数显示FineWeb-edu表现明显更好,得分为0.329,而DCLM为0.305。
l整体表现:就整体平均分而言,FineWeb-edu以0.350的得分略高于DCLM的0.348。虽然在英文重点指标上的差异微小,但FineWeb-edu在中文基准方面表现更强,特别是在CEval和CMMLU上,展现出了其在多语言评估方面的卓越适应性。
综上所述,FineWeb-edu方法在中国特定评估中表现出更强的结果,其整体表现显示出其有效性,特别是在需要在中文语言数据集中实现更高精度的任务中。因此,我们决定采用FineWeb-edu方法来识别后续步骤中的高质量样本。
表3:两种质量注释方法的比较
3.4 评估中文网络数据的质量分类器
所有模型都使用3.0的分数阈值转换为二元分类器,并在大约14k个样本的相同测试数据集上进行评估。这14k个样本是从一个包含原始文本和相应标签的大型中文文本语料库中随机提取的。它们可以为后续文本质量评估形成一个基准。我们的高质量分类器取得了最佳性能,详细结果见表4。该表比较了四种分类器:classifierFineWeb-edu、classifierIndustryCorpus2和classifierChineseWebText,以及我们的classifierCCI3.0-HQ,针对正负两类分别评估了精度、召回率和F1得分,以及宏平均值。可以得出三个关键观察结果:
l在正样本上的性能:分类器CCI3.0-HQ表现出在对正样本进行分类方面的显著优势,精度达到0.86,F1分数为0.53。相比之下,尽管分类器FineWeb-edu具有较高的精度(0.91),但召回率仅为0.02,导致正样本的F1分数仅为0.03。这突显了分类器CCI3.0-HQ有效处理正类的平衡能力。
l宏平均性能:分类器CCI3.0-HQ的宏平均F1分数为0.73,是所有分类器中最高的,表明它在正负类别上保持着强大的整体性能。相比之下,分类器FineWeb-edu的宏平均F1分数为0.47,主要是由于其在正样本上表现不佳。
l平衡分类:虽然classifierIndustryCorpus2在正样本的召回率方面表现良好(0.86),但其较低的精度(0.32)导致正分类的F1分数较低(0.47)。另一方面,classifierCCI3.0-HQ在各类别之间平衡了精度和召回率,实现了更一致和可靠的整体表现,特别是在宏观F1分数(0.73)方面,这表明它是所有数据集中最稳健的分类器。
l与中文网络文本分类器 classifierChineseWebText 相比,新添加的分类器 CCI3.0-HQ 在处理多样化数据和区分高质量内容方面表现出显著提升。这一进步凸显了正确的质量过滤在预训练中扮演的重要角色,也是导致 CCI3.0-HQ 数据集相对于原始CCI3.0数据集表现优异的关键因素。
总的来说,classifierCCI3.0-HQ展现出优秀的分类性能,特别是在更有效地处理正样本并保持在所有指标上强劲的宏平均值方面。与主要训练在英文语料库上的classifierFineWeb-edu、主要训练在中文语料库上的classifierIndustryCorpus2和classifierChineseWebText相比,我们的分类器在区分正负样本的精度和召回率上显示出显著的改进。我们将其归因于对中文的更好适用性和数据分布,以及训练数据量和模型调优。
表4:不同质量分类器的评估结果
4 结论和限制
我们已发布并开源了CCI3.0-HQ数据集,经过复杂的混合质量过滤方法来增强数据完整性。通过从头开始预训练小型模型并进行严格的实验评估比较,CCI3.0-HQ明显优于现有知名的中文开源数据集。此外,我们介绍并开源了CCI3-HQ分类器,与现有开源中文和英文质量分类器相比表现卓越,CCI3.0-HQ数据集展示了在中文大型语言模型的预训练中高质量过滤的重要性。作为目前最大的高质量中文预训练语料库,CCI3.0-HQ有助于推动大型语言模型的发展,特别是那些专注于中文的模型。该数据集包含直至2024年初收集的数据,这意味着可能缺少关于最近事件或趋势的信息。尽管经过数据清洗努力提高数据集的质量,仍可能存在一些质量较低的样本。我们将继续数据处理和质量过滤工作,进一步支持高质量大型语言模型的发展。作为未来工作,Infinity Instruct数据集可以被利用来进一步优化质量分类器,从而提高Aquila系列大型语言模型的性能[29][30]。
参考文献
省略。。。。。。
5 附录
0 20 40 60 80训练标记 (B) 图3:混合数据集实验 100 0 20 40 60 80训练标记 (B) 图4:中文数据集实验 100
5.1 训练动态评估
我们在每200亿个训练标记处进行评估,以密切监测和比较训练过程中各个数据集的性能。混合数据集实验和中文数据集实验的所有训练标记结果如图3和图4所示。这些图表比较了混合实验和中文特定数据集实验中不同数据集在训练标记上的表现。分析得出三个关键点:
lCCI3.0-HQ的卓越表现:在混合数据集实验和中文数据集实验中,CCI3.0-HQ始终表现出比其他数据集更优异的性能。在混合实验中,CCI3.0-HQ在使用100B标记训练时获得了最高的平均分数0.395,明显优于Wanjuan-v1、CCI3.0和SkyPile。同样,在中文特定实验中,CCI3.0-HQ以0.355的分数领先,展示了其在多语言和中文中心任务中的稳健性。
l跨标记逐渐改进:所有数据集显示,随着训练令牌数量的增加,性能有所提高。然而,在两个实验中,CCI3.0-HQ显示出更陡的改进曲线,表明它在更大量的训练数据下更有效。相反,Wanjuan-v1和SkyPile显示出较慢的增长,特别是在中国数据集实验中。
l混合数据集与中国数据集表现:虽然所有数据集在混合数据集实验中表现优于中国特定数据集,但CCI3.0-HQ在两种情况下都保持着明显的优势。这表明CCI3.0-HQ已经被有效地优化,适用于通用数据和中国特定数据,使其成为整体上最平衡和高性能的数据集。
同样的结论证实了CC3.0-HQ数据集在一般和中国特定任务中的显著优势,展示了在训练过程中具有更强的可扩展性和适应性。所有比较实验中训练的模型的中间检查点将被开源。