大语言模型预训练篇-----数据准备篇(一)

 对于大语言模型来说,预训练阶段为最重要的一个阶段,通过在大规模的语料上进行训练,大语言模型获得通用语言理解能力与生成能力,掌握较为广泛的世界知识,且具有许多解决下游任务的关键能力。本节将介绍是如何准备预训练语料,包括数据收集、预处理、词元化,以及预训练过程中的数据调度方法。

一、数据来源

(一)通用文本数据

为了构建功能强大的大语言模型,需要从多元化的数据源中收集海量数据来进行训练。现有的大语言模型主要将各种公开的文本数据进行混合,作为预训练语料。下图展示了部分具有代表性的大语言模型的预训练数据来源。从图中可以看到,目前网页仍然是建立语言模型最广泛使用的预训练数据,其他常用的数据还包括书籍、代码、对话语料等

从图 中我们可以看到,绝大多数的大语言模型都选用了网页、书籍和对话文本等通用语料作为预训练数据。这些通用语料涵盖了多个主题类别的文本内容。
(二)专用文本数据
专用文本数据有助于提升大语言模型解决下游特定任务的能力,大致分为三类:多语文本、科学文本以及代码。
多语文本:
在预训练语料中,加入多语言的文本数据可以增强模型的多语理 解与生成能力。BLOOM 模型和 PaLM 模型在其预训练语料中分别使用了涵盖 46 种和 122 种语言的多语数据,进而使得这两个模型在翻译、跨语言摘要 和问答等多语言任务中性能表现优异。相比于仅针对单一目标语言进行微调的模型,在多语言语料库上训练过的大语言模型能够更好地建立多语言间的语义关联,为跨语言理解与对话任务提供支持。不仅如此,多语言数据还能有效增加数据的 多样性,从而有助于提升模型的综合性能。
科学文本:
随着科学研究的不断发展,相关出版物的数量不断增加。为了增强大语言模型对科学知识的理解,可以将科学文本数据加入到模型的预训练语料 中。通过在大规模的科学文本语料上进行预训练,大语言模型可以在自然科学以及工程技术方面建立坚实的知识基础,从而在科学问答与推理等任务上取得出色的表现 。构建科学文本语料的常用方法是收集 arXiv 论文、科学教材、数学网页等科学资源。然而,由于科学文本数据中包含数学公式、蛋白质序列等特殊符号,通常需特定的分词和预处理技术,将这些不同格式的数据转化为大 语言模型能够处理的统一格式。
代码:
代码能力目前已经成为大语言模型备受关注的一种能力。为了提高模型的代码能力,需要在大量代码语料上进行预训练,进而提高其所生成的程序质量。这些由大语言模型编写的程序甚至可以成功通过专家设计的单元测试用例或解决具有挑战性的算法竞赛问题 。一般来说,常用于大语言模型预训练的 代码语料有两种来源,第一种是 Stack Exchange 等编程问答社区的数据,第二种是
GitHub 等开源项目仓库。这两种来源包含了代码以及对应的注释和文档。与自然语言文本相比,代码主要以结构化的编程语言形式呈现。在代码数据上训练能够提升模型的结构化语义理解与逻辑推理能力 。同时,代码中的函数调用关系 还有助于增强模型的工具使用与学习能力 。此外,将推理任务格式化为代码 可以帮助大语言模型生成更准确的结果

二、数据预处理

收集到丰富的文本数据后,为了确保数据的质量和效用,还需要对数据 进行预处理,从而消除低质量、冗余、无关甚可能有害的数据。

(一)质量过滤:

直接收集到的文本中会有一部分低质量的数据,如抓取网页中的广告文本。因此应当去除低质量数据。目前质量过滤分为两种方法,分别为基于规则的方法以及基于分类器的方法。

对于基于规则的方法来说,比较依靠人类人为去制定规则,如基于统计指标的过滤、基于关键词过滤等,此类清洗方法难度大,比较依靠数据处理工程师的能力。

对于基于分类器的方法,可以选择常见的分类器包括BERT、BART等。

(二)数据去重

对预训练数据进行去重处理是一个重要步骤。由于大语言模型具有较强的数 据拟合与记忆能力,很容易习得训练数据中的重复模式,可能导致对于这些模式 的过度学习。研究工作发现 ,预训练语料中出现的重复低质量数据可能诱导模型在生成时频繁输出类似数据,进而影响模型的性能。此外,这些数据也可能导致训练过程的不稳定(训练损失震荡),可能导致训练过程崩溃。此外,为了避免数据集污染问题,还需要从预训练数据集中删除在测试集中可能出现的重复或者相关文本,从而防止训练集和测试集之间的重叠。总体来说,去重算法的设计可以基于不同的计算粒度以及匹配方法。
下节将讲述大语言模型词元化的几种方法以及什么大语言模型运用了此种词元化方法,以及个方法的优缺点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值