第五章:大模型的数据

参考链接:https://github.com/datawhalechina/so-large-lm/tree/main

一、 大语言模型背后的数据

⼤型语⾔模型是在"原始⽂本"上进⾏训练的。为了实现⾼度的能⼒(如语⾔和世界知识),这些⽂本应涵盖⼴泛的领域、类型、语⾔等。
⽹络是寻找这种⽂本的⾃然场所(但不是唯⼀场所),因此这将是我们主要关注的焦点。
值得注意的是,⼤公司中存储的私有数据集甚⾄⽐公开可⽤的数据更⼤。

尽管⽹络数据丰富,但Bender等⼈在2021年的研究中指出:

  • ⼤规模数据在全球⼈⼝中的代表性仍然不均衡。
  • ⽹络数据过多地代表了来⾃发达国家的年轻⽤户。
  • GPT-2的训练数据基于Reddit,根据⽪尤互联⽹研究的2016年调查,美国Reddit⽤户中有67%是男性,64%的年龄在18到29岁之间。
  • 维基百科的编者中只有8.8-15%是⼥性。
  • ⽹络上的骚扰可能会让某些⼈群(如跨性别者、神经发育不同的⼈)产⽣排斥感。
  • 过滤"不良词汇"可能进⼀步边缘化某些⼈群(如LGBT+)。

因此,我们的结论是:理解和记录⽤于训练⼤型语⾔模型的数据集的组成是⾄关重要的。

1.1 WebText和OpenWebText数据集

WebText数据集被⽤于训练GPT-2模型。其⽬标是获取既多样化⼜⾼质量的数据集。
尽管OpenAI并没有公开发布WebText数据集,但OpenWebText数据集在理念上复制了WebText的构建⽅法。也就是说,虽然OpenWebText并⾮OpenAI直接发布的WebText的副本,但它遵循了WebText的制作思路和⽅法,⽬的是尽可能地模拟和复现WebText的数据特性和结构。

1.2 Colossal Clean Crawled Corpus(C4)

C4语料库被⽤来训练T5模型。
Dodge等⼈在2021年对C4数据集进⾏了深⼊分析。分析主要涉及以下⼏个⽅⾯:

  • 元数据:来源,话语数据。
  • 包含的数据:由机器或⼈类创作的,社会偏⻅,数据污染。
  • 排除的数据:医疗或健康数据,⼈⼝身份。

1.3 Benchmark的数据污染问题

当我们评估⼤型语⾔模型的能⼒时,我们常常会使⽤⼀些基准数据,例如问题-答案对。然⽽,若基准数据在模型的训练数据中出现过,基准性能就可能会产⽣偏差。⼀般⽽⾔,在机器学习中,保证训练数据和测试数据的分离(我们称之为数据卫⽣)相对容易。但对于⼤型语⾔模型,训练数据和基准数据都源⾃互联⽹,要事先保证它们的完全分离就显得有些困难。

  • 存在两种类型的污染。⼀种是输⼊和输出污染。
  • 数据集也可能引发多种问题。⾸先,存在代表性损害的可能;其次,数据集的选择和过滤也可能导致分配损害。

1.4 GPT-3的数据集

GPT-3的数据集主要源⾃Common Crawl,⽽Common Crawl⼜类似于⼀个参考数据集——WebText。GPT-3下载了41个分⽚的Common Crawl数据(2016-2019年)。通过训练⼀个⼆元分类器来预测WebText与Common Crawl的区别,如果分类器认为⽂档更接近WebText,那么这个⽂档就有更⼤的概率被保留。在处理数据时,GPT-3采⽤了模糊去重的⽅法(检测13-gram重叠,如果在少于10个训练⽂档中出现,则移除窗⼝或⽂档),并从基准数据集中移除了数据。此外,GPT-3也扩⼤了数据来源的多样性(包括WebText2、Books1、Books2以及维基百科)。在训练过程中,Common Crawl被降采样,它在数据集中占82%,但只贡献了60%的数据。
然⽽,GPT-3也暗示了我们除了⽹络爬⾍之外,也许还可以寻找其他更⾼质量的数据来源。EleutherAI(⼀个致⼒于构建开放语⾔模型的⾮营利组织)进⼀步推动了这个想法。他们发布了⼀种语⾔模型的数据集,名为The Pile,其核⼼理念是从较⼩的⾼质量数据源(如学术和专业资源)中获取数据。

1.5 The Pile数据集

The Pile数据集包含了825GB的英⽂⽂本,由22个⾼质量数据集组成。当⽤这个数据集训练GPT-2Pile(1.5B参数)并与⽤GPT-3数据集训练的GPT-3(175B参数)进⾏⽐较时,研究者们发现,ThePile包含了⼤量GPT-3数据集未能很好覆盖的信息。他们还分析了贬损内容、性别/宗教偏⻅等问题,结果与以前的研究⼤致相同。

二、数据集文档

在本⽂中,我们将深⼊探讨数据的⼀般原则,暂时不讨论语⾔模型数据集的具体内容。
数据⽂档的主要⽬的有两个:⼀⽅⾯,它让数据集的创建者有机会反思他们的决策,以及在创建数据集过程中可能产⽣的潜在危害,⽐如社会偏⻅;另⼀⽅⾯,它让数据集的使⽤者了解何时可以使⽤数据集,何时不应使⽤数据集。

三、数据生态

在数据管理⽅⾯,我们在机器学习研究中通常认为数据集是固定的对象,收集起来之后,直接投⼊到训练算法中。然⽽在数据库领域,有⼀整个⼦领域正在思考数据是如何产⽣和使⽤的⽣态系统,这在⼯业领域特别相关。

四、总结

现产生的数据多种多样,每个平台、每家公司都有大量的数据集,如何将数据的危害降低,从中获得更有价值的信息是非常有必要的。多了解数据集的用途,以及不同数据集的差距。

相关推荐

  1. 模型数据

    2024-01-22 01:30:01       36 阅读
  2. 、策略模式

    2024-01-22 01:30:01       37 阅读
  3. 模型学习

    2024-01-22 01:30:01       34 阅读
  4. Python——:json模块

    2024-01-22 01:30:01       42 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-22 01:30:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-22 01:30:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-22 01:30:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-22 01:30:01       18 阅读

热门阅读

  1. CloudCompare 二次开发(26)——RANSAC分割多个平面

    2024-01-22 01:30:01       37 阅读
  2. QT基础篇(12)QT5多线程

    2024-01-22 01:30:01       27 阅读
  3. ElasticSearch使用篇

    2024-01-22 01:30:01       31 阅读
  4. AcWing 787. 归并排序(模板题详解)

    2024-01-22 01:30:01       32 阅读
  5. Restify快速上手

    2024-01-22 01:30:01       28 阅读
  6. 2024自学网络安全(黑客)

    2024-01-22 01:30:01       33 阅读