LLM 04-大模型的数据

news2024/11/26 4:24:48

LLM 03-大模型的数据

到目前为止,我们已经讨论了大型语言模型的行为(能力和损害)。现在,我们要剥开洋葱的第一层,开始讨论这些模型是如何构建的。任何机器学习方法的起点都是训练数据,因此这就是我们开始的地方。

附录:通常在机器学习中,训练数据和测试(评估)数据是相似的,或者至少是同一类型的。但对于大型语言模型来说,训练数据就是“原始文本”。

4.1 大语言模型背后的数据

我们要清楚,大型语言模型是在"原始文本"上进行训练的。为了实现高度的能力(如语言和世界知识),这些文本应涵盖广泛的领域、类型、语言等。

网络是寻找这种文本的自然场所(但不是唯一场所),因此这将是我们主要关注的焦点。网络的体量绝对巨大。作为下限,谷歌的搜索索引就有100PB(参考资料)。实际的网络可能更大,而深网的规模比这还要大。

值得注意的是,大公司中存储的私有数据集甚至比公开可用的数据更大。例如,沃尔玛每小时就会产生2.5PB的数据!

Common Crawl是一个非营利组织,它对网络进行爬取,并提供免费给公众的快照。由于其便利性,它已经成为许多模型如T5、GPT-3和Gopher的标准数据源。例如,Common Crawl在2021年4月的快照就有320TB的数据,这比谷歌的索引小了好几个数量级。

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

  • 大规模数据在全球人口中的代表性仍然不均衡。
  • 网络数据过多地代表了来自发达国家的年轻用户。
  • GPT-2的训练数据基于Reddit,根据皮尤互联网研究的2016年调查,美国Reddit用户中有67%是男性,64%的年龄在18到29岁之间。
  • 维基百科的编者中只有8.8-15%是女性。
  • 网络上的骚扰可能会让某些人群(如跨性别者、神经发育不同的人)产生排斥感。
  • 过滤"不良词汇"可能进一步边缘化某些人群(如LGBT+)。
    因此,我们的结论是:理解和记录用于训练大型语言模型的数据集的组成是至关重要的。

4.1.1 WebText和OpenWebText数据集

WebText数据集被用于训练GPT-2模型。其目标是获取既多样化又高质量的数据集。以前的研究主要是在新闻、维基百科或小说等数据集上进行训练,而Common Crawl包含了大量的垃圾信息(如无意义文本和模板文本)。Trinh和Le在2018年根据n-gram与目标任务的重叠性,选择了Common Crawl的一小部分。创建WebText的过程包括:抓取至少获得3个赞的所有外链,过滤掉维基百科以便在基于维基百科的基准测试中进行评估,最终得到了40GB的文本。

尽管OpenAI并没有公开发布WebText数据集,但OpenWebText数据集在理念上复制了WebText的构建方法。也就是说,虽然OpenWebText并非OpenAI直接发布的WebText的副本,但它遵循了WebText的制作思路和方法,目的是尽可能地模拟和复现WebText的数据特性和结构。这样,研究者们就可以利用OpenWebText来进行一些原本需要WebText数据集的实验和研究。OpenWebText从Reddit提交的数据集中提取所有URL,使用Facebook的fastText过滤掉非英语内容,删除近乎重复的内容,最终得到了38GB的文本。

在2020年的RealToxicityPrompts研究中,Gehman等人对这两个数据集进行了毒性分析:OpenWebText有2.1%的内容毒性得分>=50%,WebText有4.3%的内容毒性得分>=50%。新闻的可靠性与毒性负相关(Spearman ρ=−0.35),并且OpenWebText中有3%的内容来自被禁止或被隔离的subreddits,如/r/The_Donald和/r/WhiteRights。

4.1.2 Colossal Clean Crawled Corpus(C4)

C4语料库被用来训练T5模型。这个语料库从2019年4月的Common Crawl快照(1.4万亿个标记)开始,移除了“bad words”,移除了代码(“{”),通过langdetect过滤掉了非英语文本,最终得到了806GB的文本(1560亿个标记)。

Dodge等人在2021年对C4数据集进行了深入分析。分析主要涉及以下几个方面:

  • 元数据:来源,话语数据。
  • 包含的数据:由机器或人类创作的,社会偏见,数据污染。
  • 排除的数据:医疗或健康数据,人口身份。
    值得注意的是,Raffel等人在2020年的研究中只提供了重建脚本;仅运行这些脚本就需要数千美元。而且,令人惊讶的是,大量数据来自patents.google.com。互联网档案中的65%页面都被纳入其中,而在这些页面中,92%的页面是在过去十年内编写的。然而,虽然美国托管的页面占到了51.3%,来自印度的页面数量却相对较少,尽管那里有大量的英语使用者。另外,来自patents.google.com的一些文本是自动生成的,因此可能存在系统性的错误:例如,用外国的官方语言(如日语)提交的专利将自动翻译成英语;另一些则是由光学字符识别(OCR)自动生成的。
    在这里插入图片描述

4.1.3 Benchmark的数据污染问题

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

以XSum摘要数据集为例,输入的是一段关于一个前阿森纳门将的介绍,而输出则是这位门将被任命为技术主管的新闻,细节如下面的例子。这就存在两种类型的污染。一种是输入和输出污染,即输入和输出都出现在训练数据中,其比例在1.87%至24.88%之间。另一种是只有输入在训练数据中出现,比如来自维基百科的QNLI数据集,这种污染的比例在1.8%至53.6%之间。

**Input**: _The 48-year-old former Arsenal goalkeeper played for the Royals for four years. He was appointed youth academy director in 2000 and has been director of football since 2003. A West Brom statement said: “He played a key role in the Championship club twice winning promotion to the Premier League in 2006 and 2012.
**Output**: _West Brom have appointed Nicky Hammond as technical director, ending his 20-year association with Reading._

此外,我们还要注意,这种数据污染并不是由于数据集的托管方式导致的,因为数据集通常会以JSON文件的形式存储,而不是网页。

但是,数据集也可能引发多种问题。首先,存在代表性损害的可能,例如,我们发现与特定族群相关的词汇(如"犹太"和"阿拉伯")与积极情绪词汇的共现频率存在差异,这可能反映了模型的某种偏见。其次,数据集的选择和过滤也可能导致分配损害。以过滤版的Common Crawl(即C4)为例,只有大约10%的内容被保留。然而,涉及性取向的内容更容易被过滤掉,而其中一部分是并无冒犯之意的。某些特定的方言也更容易被过滤,例如非洲裔美国人的英语和西班牙裔的英语,相比之下,白人美国英语的过滤率就要低得多。

4.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,其核心理念是从较小的高质量数据源(如学术和专业资源)中获取数据。

4.1.5 The Pile数据集

The Pile数据集包含了825GB的英文文本,由22个高质量数据集组成。当用这个数据集训练GPT-2Pile(1.5B参数)并与用GPT-3数据集训练的GPT-3(175B参数)进行比较时,研究者们发现,The Pile包含了大量GPT-3数据集未能很好覆盖的信息。他们还分析了贬损内容、性别/宗教偏见等问题,结果与以前的研究大致相同。
在这里插入图片描述

总的来说,网络和私有数据的总量是巨大的,但是简单地将所有数据(甚至是Common Crawl)都用于训练并不能有效地利用计算资源。数据的过滤和策划(如OpenWebText,C4,GPT-3数据集)是必要的,但可能会导致偏见。策划非网络的高质量数据集(如The Pile)是有前途的,但也需要仔细记录和审查这些数据集。

4.2 数据集文档

在本文中,我们将深入探讨数据的一般原则,暂时不讨论语言模型数据集的具体内容。长期以来,人们都明白文档记录的重要性,然而在机器学习领域,这个过程往往被处理得较为随意。为了更好地理解这一点,让我们来看一些其他领域的例子:在电子行业中,每个组件都有一份详细的数据表,包含其运行特性、测试结果、推荐使用情况等信息;又如美国食品药品监督管理局要求所有的食品都必须标注营养成分。Gebru等人在2018年发表的论文深刻影响了这一领域,他们提出了围绕文档的社区规范。Bender和Friedman在2018年的论文《数据声明》也提出了一个更适用于语言数据集的框架,这两个工作都在强调透明度。

数据文档的主要目的有两个:一方面,它让数据集的创建者有机会反思他们的决策,以及在创建数据集过程中可能产生的潜在危害,比如社会偏见;另一方面,它让数据集的使用者了解何时可以使用数据集,何时不应使用数据集。

在整个数据集的生命周期中,我们需要考虑很多问题,比如数据集的创建动机,谁是数据集的创建者,数据集的创建是由谁资助的。在数据集的组成部分,我们需要了解数据集中的实例代表什么,是否有缺失信息,是否包含机密数据等。在收集过程中,我们需要了解每个实例的数据是如何获取的,谁参与了数据收集,他们是如何获得报酬的,以及是否进行了道德审查等。在预处理、清理和标记阶段,我们需要了解这些工作是否已经完成,是否有相应的软件可供使用。在数据集的使用方面,我们需要了解数据集是否已经被用于某些任务,是否有不适合使用该数据集的任务。在分发阶段,我们需要了解数据集将如何分发,是否有第三方对数据施加了知识产权或其他的限制。在维护阶段,我们需要了解谁会负责维护数据集,数据集是否会更新。

专门针对自然语言处理(NLP)数据集的工作,比如数据声明,还涵盖了其他方面,例如策划理念,语言多样性,说话人和注释者的人口统计学信息等。以"The Pile"数据集为例,我们可以更好地理解这些问题。

4.3 数据生态

目前为止,我们主要关注了现有大型语言模型数据集的分析以及文档记录,但实际上数据是一个广泛的概念,可以从许多其他角度进行研究。

在数据管理方面,我们在机器学习研究中通常认为数据集是固定的对象,收集起来之后,直接投入到训练算法中。然而在数据库领域,有一整个子领域正在思考数据是如何产生和使用的生态系统,这在工业领域特别相关。

在基础模型报告的数据部分中讨论了一些问题。数据治理主要关注一个组织如何创建数据、维护其质量和安全性。Hugging Face发起的BigScience项目旨在收集一个大型多语种数据集并训练一个大型语言模型。BigScience的数据治理工作组正在开发一个框架,以负责任地策划高质量的数据源,而不是无差别地爬取网页。
在这里插入图片描述

数据尊严是一个源自微软和RadicalxChange的概念,试图思考数据的本质。人们创造数据,由于人们生活在社会环境中,数据也并不仅仅是个体的财产,而是群体的财产。比如电子邮件、遗传数据。在个体层面上,数据没有价值,但在集体层面上,它具有巨大的价值。相关的有一个为在机器学习的背景下给定数据点赋予价值的框架Data Shapley。现状是,人们免费放弃他们的数据,大公司从中获取大量的价值和权力。例如,Alice和Bob都是作家。Alice免费提供写作示例,这可以被用来训练可以替代Bob的语言模型。我们应该将数据视为劳动而不是财产权。数据隐私是在个人层面上工作,而这是不够的。有一种提议是数据联盟,这些联盟是介于数据生产者和数据购买者之间的中间组织,它们能够代表数据生产者进行集体谈判。更多详情请阅读这篇文章。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1014859.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JDK10特性

文章目录 JAVA10概述语法层次的变化局部变量的类型推断不能使用类型推断的场景变量的声明初始值nulllambda表达式方法引用为数组静态初始化成员变量不能使用其他不可以的场景 API层次的变化集合的copyOf方法 总结 JAVA10概述 2018年3月21日,Oracle官方宣布JAVA10正…

sizeof和strlen求取数组指针之辨析

目录 一维数组中sizeof Vs strlen 整型数组sizeof 字符数组 sizeof strlen 字符串数组 sizeof strlen 字符串的指针char *p sizeof strlen 二维数组中sizeof 今天主要来讲题目主要是数组&指针辨析题和笔试题。🆗最近心情有点焦虑。大家一定专注…

进阶测试知识之风险基础测试

风险基础测试(Risk-Based Testing)是一种测试策略,其主要思想是根据产品或系统中各个部分的风险程度来优先进行测试。风险通常是由两个因素决定的:一是问题(如缺陷或错误)发生的可能性,二是如果…

嵌入式入门教学——模电基础概念

目录 1、模拟信号和模拟电路 2、研究领域 3、常用术语 3.1、共价键 3.2、电场 3.3、温度的电压当量 3.4、动态信号 3.5、直流电流和交流电流 3.6、内阻 3.7、信号频率 3.8、电容 3.9、电感 3.10、相位 3.11、信号失真 3.12、电导 3.13、跨导 3.14、电位 3.15…

【小沐学NLP】AI辅助编程工具汇总

文章目录 1、简介2、国内2.1 aiXcoder2.1.1 工具特点2.1.2 部署方式2.1.3 使用费用2.1.4 代码测试2.1.4.1 代码搜索引擎2.1.4.2 在线体验 2.2 CodeGeeX2.2.1 工具特点2.2.2 部署方式2.2.3 使用费用2.2.4 代码测试 2.3 Alibaba Cloud AI Coding Assistant(cosy&#…

PCalc for Mac - 打开科学计算新世界的好用工具

无论您是学生、教师、科学家还是专业计算人员,一款强大而易于使用的科学计算器都是必不可少的工具。现在,我们向您介绍PCalc for Mac,这是一款功能齐全且界面精美的科学计算器,将为您带来卓越的计算体验。 PCalc for Mac是一款专…

第二章 进程与线程 五、线程(概念)

一、定义 (1)线程是一个基本的CPU执行单元,也是程序执行流的最小单位。 (2)引入线程后提升了系统的并发度。 (3)引入线程后,进程只作为除CPU之外的系统资源的分配单元。 二、引入…

POJ 3684 Physics Experiment 弹性碰撞

一、题目大意 我们有N个半径为R厘米的球,固定在距离地面高度为H的管道上,刚开始释放第一个,之后每过一秒释放一个,释放下面的球不会影响到上面的球的高度,忽略一切阻力,认为球之间的碰撞为弹性碰撞&#x…

传统生产者和消费者问题,Sychronized版和Lock版

1.生产者和消费者问题Synchronized版 面试:单例模式、排序算法、生产者消费者、死锁 package com.kuang.pc;/*** 线程之间的通信问题,生产者和消费者问题! 等待唤醒 ,通知唤醒* 线程交替执行 A B 操作同一个变量 num0* A num1;*…

无涯教程-JavaScript - ASINH函数

描述 ASINH函数返回数字的反双曲正弦值。反双曲正弦是其双曲正弦为number的值,即ASINH(SINH(number))等于number。 语法 ASINH (number)争论 Argument描述Required/OptionalNumberAny real number.Required Notes 如果指定的数字未被识别为数字值,则ASIN返回#VALUE!错误 …

想要精通算法和SQL的成长之路 - 填充书架

想要精通算法和SQL的成长之路 - 填充书架 前言一. 填充书架1.1 优化 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 填充书架 原题链接 题目中有一个值得注意的点就是: 需要按照书本顺序摆放。每一层当中,只要厚度不够了,当前层最高…

Chatbase:AI客服聊天机器人工具

【产品介绍】 名称 Chatbase.co 具体描述 Chatbase.co 是一个智能的聊天机器人平台,它可以帮助用户快速地构建、部署和分析用户的聊天机器人,无论 用户是一个初学者还是一个专家。用户可以使用 Chatbase.co …

什么是边缘计算网关?

边缘计算网关(简称 边缘网关)将云端功能扩展到本地的边缘设备,使边缘设备能够快速自主地响应本地事件,提供低延时、低成本、隐私安全、本地自治的本地计算服务。 同时所有服务都以 Docker 镜像方式安装,真正做到了跨平…

基础算法---离散化

概念 离散化,把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。 通俗的说,离散化是在不改变数据相对大小的条件下,对数据进行相应的缩小。 也就是说当数据空间跨越太大,但是数据的个数却不多,我们可以使用…

Linux命令-文件展示

1、ls、ll命令——展示数据 ①ls命令——平铺展示数据 其中ls命令以平铺的方式展现数据 ②ll命令——列表展示数据 ll命令以列表的方式展现数据 -a选项,表示:all的意思,即列出全部文件(包含隐藏的文件/文件夹) -l选项…

Linux centos7 bash编程训练

训练编写一段代码,打印输出100之内的明7暗7,同时要求每5个数字打印在一行。 此项训练主要是考察for循环的使用,及条件判断表达式的设置和不同写法的应用。 常用的for循环有四种写法(如打印1-100的整数): …

数据优化与可视化:3D开发工具HOOPS在BIM模型轻量化中的作用分析

在建筑和工程领域,BIM(建筑信息建模)是一种重要的数字化工具,但大型BIM模型往往需要大量的计算资源和存储空间。为了解决这一问题,HOOPS技术成为了一种关键工具,可以帮助实现BIM模型轻量化,提高…

docker 已经配置了国内镜像源,但是拉取镜像速度还是很慢(gcr.io、quay.io、ghcr.io)

前言 国内用户在使用 docker 时,想必都遇到过镜像拉取慢的问题,那是因为 docker 默认指向的镜像下载地址是 https://hub.docker.com,服务器在国外。 网上有关配置 docker 国内镜像源的教程很多,像 腾讯、阿里、网易 等等都会提供…

NVR添加rtsp流模拟GB28181视频通道

一、海康、大华监控摄像头和硬盘录像机接入GB28181平台配置 1、海康设备接入配置 通过web登录NVR管理系统,进入网络,高级配置界面,填入GB28181相关参数。 将对应项按刚才获取的配置信息填入即可,下面的视频通道的编码ID可以保持…

类和对象三大特性之继承

全文目录 继承的概念定义格式继承关系和访问限定符final 基类和派生类对象赋值转换继承中的作用域派生类的六个默认成员函数构造函数拷贝构造函数operator析构函数 友元和静态成员友元静态成员 各种继承形式菱形继承虚继承菱形虚拟继承对象模型 继承和组合 继承的概念 通过继承…