AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


AI大语言模型之数据处理和分析
发布日期:2024-06-08 06:20:36 浏览次数: 1881


一、前言

大语言模型的相关研究表明,数据质量对于模型的影响非常大。因此,在收集了各种类型的数据之后,需要对数据进行处理,去除低质量数据、重复数据、有害信息、个人隐私等内容。典型的数据处理流程图所示,主要包括质量过滤、冗余去除、隐私消除、词元切分这几个步骤。

二、数据处理的具体流程

2.1 质量过滤

互联网上的数据质量参差不齐,无论是OpenAI 联合创始人Andrej Karpathy 在微软Build 2023 的报告,还是当前的一些研究都表明,训练数据的质量对于大语言模型效果具有非常重要的影响。因此,从收集到的数据中删除低质量数据成为大语言模型训练中的重要步骤。大语言模型训练中所使用的低质量数据过滤方法可以大致分为两类:基于分类器的方法和基于启发式的方法。

2.1.1 基于分类器的方法

基于分类器的方法的目标是训练文本质量判断模型,并利用该模型识别并过滤低质量数据。GPT-3、PaLM 和GLaM模型在训练数据构造时都使用了基于分类器的方法。采用基于特征哈希的线性分类器(Feature Hash Based Linear Classifier),可以非常高效地完成文本质量判断。该分类器使用一组精选文本(维基百科、书籍和一些选定的网站)进行训练,目标是给与训练数据类似的网页较高分数。利用这个分类器可以评估网页的内容质量。在实际应用中,还可以通过使用Pareto 分布对网页进行采样,根据其得分选择合适的阈值,从而选定合适的数据集。然而,一些研究发现,基于分类器的方法可能会删除包含方言或者口语的高质量文本,从而损失一定的多样性。

2.1.2 基于启发式的方法

基于启发式的方法则通过一组精心设计的规则来消除低质量文本,BLOOM和Gopher采用了基于启发式的方法。

这些启发式规则主要包括:

  • 语言过滤:如果一个大语言模型仅关注一种或者几种语言,则可以大幅过滤数据中其他语言的文本。
  • 指标过滤:利用评测指标也可以过滤低质量文本。例如,可以使用语言模型对给定文本的困惑度(Perplexity)进行计算,利用该值可以过滤非自然的句子。
  • 统计特征过滤:针对文本内容可以计算包括标点符号分布、符号字比(Symbol-to-Word Ratio)、句子长度在内的统计特征,利用这些特征过滤低质量数据。
  • 关键词过滤:根据特定的关键词集,可以识别并删除文本中的噪声或无用元素。例如,HTML标签、超链接及冒犯性词语等。

2.2 冗余去除

文本冗余发现(Text Duplicate Detection)也称为文本重复检测,是自然语言处理和信息检索中的基础任务之一,其目标是发现不同粒度上的文本重复,包括句子、段落、文档等不同级别。冗余去除就是在不同的粒度上去除重复内容,包括句子、文档和数据集等粒度。大语言模型训练语料库中的重复数据,会降低大语言模型的多样性,并可能导致训练过程不稳定,从而影响模型性能。因此,需要对预训练语料库中的重复数据进行处理,去除其中的冗余部分。在句子级别上,包含重复单词或短语的句子很可能造成语言建模中引入重复的模式。这对语言模型来说会产生非常严重的影响,使得模型在预测时容易陷入重复循环(Repetition Loops)。

2.2.1 句子级别过滤

在RefinedWeb的构造过程中进行了句子级别的过滤。该方法提取并过滤文档间超过一定长度的相同字符串。给定两个文档xi 和xj,其中存在长度为 k 的公共子串。当k ⩾ 50 时,就将其中一个子串过滤。

公共子串匹配的关键是如何高效完成字符串匹配,将整个文档D 转换为一个超长的字符串序列S,之后构造序列S的后缀数组(Suffix Array)A。该数组包含在该序列中的所有后缀按字典顺序排列的列表。具体而言,后缀数组A 是一个整数数组,其中每个元素表示S 中的一个后缀的起始位置。A 中的元素按照后缀的字典顺序排列。

针对Wiki-40B 训练语料(约包含4GB 文本内容),使用拥有96 核CPU 以及768GB 内存的服务器,可以在140 秒内完成计算。对于包含350GB 文本的C4 数据集,仅需要12 小时就可以完成后缀数组构造。

2.2.2 文档级别过滤

在文档级别上,大部分大语言模型依靠文档之间的表面特征相似度(例如n-gram 重叠比例)进行检测并删除重复文档。LLaMA采用CCNet的处理模式,先将文档拆分为段落,并把所有字符转换为小写字符、将数字替换为占位符,以及删除所有Unicode标点符号和重音符号来对每个段落进行规范化处理。然后,使用SHA-1方法为每个段落计算一个哈希码(Hash Code),并使用前64 位数字作为键。最后,利用每个段落的键进行重复判断。RefinedWeb先去除页面中菜单、标题、页脚、广告等内容,仅抽取页面中的主要内容。在此基础上,在文档级别进行过滤,采用n-gram 重叠程度来衡量句子、段落及文档的相似度。如果重复程度超过预先设定的阈值,则会过滤重复段落或文档。

2.3 隐私消除

由于绝大多数预训练数据源于互联网,因此不可避免地会包含涉及敏感或个人信息(Personally Identifiable Information,PII)的用户生成内容,这可能会增加隐私泄露的风险。

上图输入前缀词“East Stroudsburg Stroudsburg”,语言模型在此基础上补全了姓名、电子邮 件地址、电话号码、传真号码及实际地址。这些信息都是模型从预训练语料中学习得到的。

因此,非常有必要从预训练语料库中删除包含个人身份信息的内容。

删除隐私数据最直接的方法是采用基于规则的算法,BigScience ROOTS Corpus在构建过程中就采用了基于命名实体识别的方法,利用命名实体识别算法检测姓名、地址、电话号码等个人信息内容并进行删除或者替换。该方法使用了基于Transformer 的模型,并结合机器翻译技术,可以处理超过100 种语言的文本,消除其中的隐私信息。该方法被集成在muliwai 类库中。

2.4 词元切分

词元切分涵盖的知识点较多,将在下篇文章中单独进行详解。



如果本文对您有帮助的话,欢迎 点赞&在看&分享,这对我继续分享和创作优质内容是莫大的鼓励,再次感谢?


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询