开源15T tokens!HuggingFace放出规模最大、质量最高预训练数据集 | 最新快讯

news2024/9/23 3:21:16

 新智元报道

  编辑:LRS

  FineWeb 是一个高质量的预训练数据集,包含 15T+ 个 tokens,主要包含英语文本;消融实验证明了 FineWeb 数据集的质量要高于其他开源数据集;数据清洗脚本也已开源。

  Meta 最近开源的 Llama 3 模型再次证明了「数据」是提升性能的关键,但现状是,开源的大模型有一堆,可开源的大规模数据却没多少,而收集、清洗数据又是一项极其费时费力的工作,也导致了大模型预训练技术仍然掌握在少数高端机构的手中。

  最近,Huggingface 的机器学习团队宣布开源了一个迄今为止,规模最大的、质量最高的、即用型(ready-to-use)数据集 FineWeb

  数据集链接:https://huggingface.co/datasets/HuggingFaceFW/fineweb

  FineWeb 是在对 CommonCrawl 数据集(2013 年夏天到 2024 年 3 月,共 95 个 dump)进行去重、清洗后,得到的一个高质量、包含 15T+ 个 tokens(根据 GPT-2 的分词器)的 Web 数据集,也是目前公开可用的、最干净的语言模型预训练数据集,其主要用作英语领域的公共数据研究。

  在数据处理部分,研究团队针对 LLM 应用场景,对整个数据处理 pipeline 进行了优化,并在大规模数据处理库 datatrove 上运行实现。

  模型的消融实验性能结果也显示,FineWeb 比其他开源数据集的质量更高,并且仍有进一步过滤和改进的空间,研究团队也表示在未来将继续探索如何提升 FineWeb 数据集的质量。

  数据集性能

  为了验证 FineWeb 数据的质量,研究人员选择 RefinedWeb、C4、Dolma v1.6、The Pile、SlimPajama 数据集作为对比,训练了一系列「1.8B 参数量的小模型」进行数据集性能消融实验和评估。

  选择的评估指标为 commonsense_qa (acc_norm)、hellaswag (acc/acc_norm)、openbookqa (acc/acc_norm)、piqa (acc/acc_norm)、siqa (acc/acc_norm)、winogrande (acc/acc_norm)、sciq (acc/acc_norm)、arc (acc/acc_norm)和 mmlu (acc/acc_norm)的平均值,每项指标均具有三个特点:

  1. 在同一数据集的不同样本上的训练差异很小;

  2. 训练期间,指标单调增加;

  3. 在已知高质量的数据集(C4、The Pile、RedPajama)上运行,模型的分离程度(seperation)更高。

  在滚动窗口中平均 5k 步的平滑绘图

  实验过程中用到的 prompt 都已经过格式化,以便计算和对比多项选择问题中完整答案的对数似然。

  从结果来看,使用 FineWeb 数据集训练的模型性能在各个阶段都是最好的。

  下载使用

  数据的命名规则为 CC-MAIN-(year)-(week number)

  使用 datatrove

from datatrove.pipeline.readers import ParquetReader# limit determines how many documents will be streamed (remove for all)# to fetch a specific dump: hf://datasets/HuggingFaceFW/fineweb/data/CC-MAIN-2024-10data_reader = ParquetReader ("hf://datasets/HuggingFaceFW/fineweb/data", limit=1000) for document in data_reader ():# do something with documentprint (document)################################ OR for a processing pipeline:###############################from datatrove.executor import LocalPipelineExecutorfrom datatrove.pipeline.readers import ParquetReaderfrom datatrove.pipeline.filters import LambdaFilterfrom datatrove.pipeline.writers import JsonlWriterpipeline_exec = LocalPipelineExecutor (pipeline=[ParquetReader ("hf://datasets/HuggingFaceFW/fineweb/data/CC-MAIN-2024-10", limit=1000),LambdaFilter (lambda doc: "hugging" in doc.text),JsonlWriter ("some-output-path")],tasks=10) pipeline_exec.run ()

  使用 huggingface_hub

from huggingface_hub import snapshot_downloadfolder = snapshot_download ("HuggingFaceFW/fineweb",repo_type="dataset",local_dir="./fineweb/",allow_patterns="data/CC-MAIN-2023-50/*")

  为了加快下载速度,需要确保安装 pip install huggingface_hub[hf_transfer] 并设置环境变量 HF_HUB_ENABLE_HF_TRANSFER=1

  使用 datasets

from datasets import load_datasetfw = load_dataset ("HuggingFaceFW/fineweb", name="CC-MAIN-2024-10", split="train", streaming=True)

  FineWeb 数据卡

  数据实例

  下例为 CC-MAIN-2021-43 的一部分,于 2021-10-15T21:20:12Z 进行爬取。

{"text": "This is basically a peanut flavoured cream thickened with egg yolks and then set into a ramekin on top of some jam. Tony, one of the Wedgwood chefs, suggested sprinkling on some toasted crushed peanuts at the end to create extra crunch, which I thought was a great idea. The result is excellent.","id": " ","dump": "CC-MAIN-2021-43","url": " ","date": "2021-10-15T21:20:12Z","file_path": "s3://commoncrawl/crawl-data/CC-MAIN-2021-43/segments/1634323583083.92/warc/CC-MAIN-20211015192439-20211015222439-00600.warc.gz","language": "en","language_score": 0.948729,"token_count": 69}

  数据字段

  text (字符串):主要文本内容

  id (字符串):源自 CommonCrawl 样本的原始唯一标识符

  dump (字符串):采样于 CommonCrawl dump

  url (字符串):text 所在原始页面的 url

  date (字符串):抓取日期(CommonCrawl 提供)

  file_path (字符串):包含此示例的单个 CommonCrawl warc 文件的 s3 路径

  language (字符串):数据集中的所有样本均为 en

  language_score (float):fastText 语言分类器报告的语言预测分数

  token_count (int):使用 gpt2 分词器获得的 token 数量

  数据切分

  default 子集包括整个数据集。

  如果只想使用特定 CommonCrawl 转储中的数据,可以使用 dump 名称作为子集。

  根据研究人员的实验结果来看,使用不同 dump 训练后的效果有所差异:对于相对较小的训练(<400B 个 token),建议使用最近的 CC-MAIN-2023-50 和 CC-MAIN-2024-10

  数据创建

  虽然最近经常会有大模型对权重进行开源,但这些版本通常不包含模型的训练数据。

  FineWeb 的目标是为开源社区提供一个海量的、干净的预训练数据集,可用于推动真正开源模型(带数据的开源模型)的极限。

  源数据由 CommonCrawl 基金会在 2013-2024 年期间抓取的网页组成。

  研究人员从每个网页的 html 中提取主页文本,仔细过滤样本并对每个 CommonCrawl dump/crawl 进行重复数据删除。

  虽然团队最初打算对整个数据集进行重复数据删除,但我们的消融表明,对单独进行重复数据删除的转储/爬网样本进行的训练优于对所有一起进行重复数据删除的转储/爬网样本进行的训练。

  数据预处理

  研究人员使用 datatrove 库来处理数据,脚本已开源。

  脚本链接:datatrove/examples/fineweb.py at main · huggingface/datatrove · GitHub

  具体流程包括六步:

  1.  Url 过滤,使用 block-list 和 subword 检测技术对源自恶意和 NSFW 网站的文档进行过滤;

  2.  Trafilatura,从 CommonCrawl 的 warc 文件中提取原始 HTML 文本;

  3.  FastText LanguageFilter,删除 en 语言评分低于 0.65 的文档;

  4.  质量过滤,使用 Gopher Reptition, C4 Quality filters(去除 terminal_punct 规则)和 FineWeb 自定义过滤器(删除列表样式的文档、具有重复行的文档以及可能具有错误行格式的启发式方法)

  5.  MinHash 重复数据去冗余,每次抓取都单独进行去重,参数为5-gram、14x8 哈希函数;

  6.  PII 格式化,对电子邮件和公共 IP 地址进行匿名化

  对于电子邮件,使用正则表达式将其替换为 email@example.com 或 firstname.lastname@example.org

  对于 IP 地址,先采用正则表达式匹配,然后过滤掉以仅匿名分配给公共网络的 IP 地址,最后将匹配到的 IP 地址替换为以下随机生成的 IP 地址之一(22.214.171.124 、126.96.36.199 、 188.8.131.52 、 220.127.116.11 和 18.104.22.168),这些地址在创建数据集时未响应 ping 请求。

  由于误报率过高,研究人员决定不对电话号码使用正则表达式匹配。

  标注

  研究人员使用 language、language_score 和 token_count 标注来增强原始样本;与语言相关的标注由语言过滤器自动生成;token_count 通过 gpt2 分词器获得。

  使用数据的注意事项

  数据集的社会影响

  研究人员的目标是,在 FineWeb 数据集发布后,让整个机器学习社区更容易进行模型训练。

  虽然过去已经公开发布了多个具有强大性能的开放权重模型,但通常没有附带相应的训练数据集,而预训练的关键就在于数据,不同数据集的特殊性和特征已被证明对模型的性能具有非常大的影响和作用。

  由于创建高质量的训练数据集是训练能够出色完成下游任务的 LLM 的基本要求,因此,利用 FineWeb,不仅可以使数据集创建过程更加透明,而且借助公开的处理设置,包括所使用的代码库,向社区公开发布数据集,可以帮助模型创建者减轻数据集管理的时间和计算成本。

  关于偏见的讨论

  通过在 URL 级别进行过滤,研究人员最大限度地减少数据集中存在的 NSFW 和有毒内容的数量,但最终发布的数据集中仍然存在大量可能被视为有毒或包含有害内容的文档。

  由于 FineWeb 源自整个网络,因此其中常见的有害偏见都可能会在该数据集上重现。

  研究人员故意避免使用基于与「gold」来源(例如维基百科或毒性分类器)的相似性来定义文本质量的机器学习过滤方法,因为这些方法会不成比例地删除特定方言中的内容,并将其过度分类为与特定社交身份相关的有毒文本。

  其他已知限制

  由于应用了一些过滤步骤,代码内容可能在该数据集中并不普遍。

  如果用户需要训练一个可执行代码任务的模型,研究人员建议将 FineWeb 与代码数据集一起使用,例如 The Stack v2,或者还应该考虑用专门的精选资源(例如维基百科)来补充 FineWeb,因为其格式可能比 FineWeb 中包含的维基百科内容更好。

  许可证

  FineWeb 数据集根据开放数据共享归属许可证 (ODC-By) v1.0 许可证发布,并且使用过程还须遵守 CommonCrawl 的使用条款。

  参考资料:

  https://huggingface.co/datasets/HuggingFaceFW/fineweb

来自: 网易科技

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

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

相关文章

如何根据IP获取国家省份城市名称PHP免费版

最近项目遇到需要根据IP获取用户国家功能需求&#xff0c;网上找了一下&#xff0c;很多API接口都需要付费&#xff0c;考虑为公司节约成本&#xff0c;就取找找有没有开源的 github 上面那个包含多种语言&#xff0c;下面这个只有php&#xff0c;用法很简单 $ip 114.114.114…

QT7_视频知识点笔记_1_ 基础知识(帮助文档),窗口(内存回收机制),信号槽(传参),Lambda表达式

1.QT基础 QT是一个框架&#xff0c;不用像C语言自己从底层写&#xff0c;需要的功能可以先看是否QT库中有直接可使用的 帮助文档的使用&#xff1a;F1跳入帮助文档&#xff0c; QT中常用的类&#xff1a;比如QPushbutton&#xff0c;查看帮助文档则可知道对应的函数和解决方…

C语言知识点补充——操作符详解

1、计算幂次数和平方根 使用<math.h>数学库 pow()函数计算幂次数&#xff1b;sqrt()函数计算平方根。 注&#xff1a;sqrt()输入同样的数字&#xff0c;计算出来的数值&#xff0c;可能不相等&#xff0c;因为输出double数&#xff0c;小数点后面的数值不一定一致。 2…

制作外贸脚本的流程和代码分享!

在全球化的今天&#xff0c;外贸业务成为了许多企业拓展市场、增加收入的重要途径&#xff0c;而在外贸业务中&#xff0c;一个优秀的脚本往往能够起到事半功倍的效果。 那么&#xff0c;如何制作一个高效、专业的外贸脚本呢?本文将为您详细解析制作外贸脚本的流程&#xff0…

力扣每日一题-拆炸弹-2024.5.5

力扣题目&#xff1a;拆炸弹 题目链接: 1652.拆炸弹 题目描述 代码思路 根据代码实现分为k等于0和k不等于0的情况。k等于0很容易处理&#xff0c;而k不等于0时&#xff0c;需要使用滑动窗口的方式来解决。先根据小于0或大于0确定一个窗口&#xff0c;然后移动&#xff0c;获…

Windows中安装的PostgreSQL 数据库如何重启

1. 使用Windows服务管理器 打开“运行”对话框&#xff08;按WinR键&#xff09;。输入services.msc并按回车&#xff0c;这将打开服务列表。在服务列表中找到PostgreSQL服务。它通常命名为“PostgreSQL”后面跟着版本号和实例名称&#xff0c;例如“PostgreSQL 13 - mydb”。…

MES生产系统与数字孪生双重结合:智慧制造工厂的新引擎

随着数字化浪潮的推动&#xff0c;制造行业正在经历着前所未有的变革。在这个变革的浪潮中&#xff0c;MES生产制造系统与数字孪生技术的深度融合成为了制造工厂未来发展的核心驱动力。这种结合不仅提升了生产效率&#xff0c;优化了资源配置&#xff0c;降低了运营成本&#x…

解决mac出现npm install 卡在“sill idealTree buildDeps“的问题

问题出现场景&#xff1a; 在新建一个项目尝试npm install命令时&#xff0c;一直卡在“sill idealTree buildDeps“ 尝试过的无效解决方案包括&#xff1a; 切换/关闭梯子重启更换网络更换npm源更新删除 package.json 最终解决方案&#xff1a; 引起问题的原因是MacOS设置中…

年轻人刮疯了,刮刮乐断货了

年轻人刮疯了 刮刮乐缺货了。 00后彩票店老板陆诗等得有点着急。她的福彩店开在深圳&#xff0c;今年4月才开门营业&#xff0c;但从开业到今天&#xff0c;刮刮乐总共就来了一回货——开业时发的20本。 那之后&#xff0c;刮刮乐就彻底断供了。原本&#xff0c;陆诗想把刮刮…

重学SpringBoot3-SPI机制

更多SpringBoot3内容请关注我的专栏&#xff1a;《SpringBoot3》 期待您的点赞&#x1f44d;收藏⭐评论✍ 重学SpringBoot3-SPI机制 什么是 SPI&#xff1f;Spring Boot 中的 SPI 机制spring.factories 文件自动配置的实现启动流程中的作用 SPI实际应用步骤 1: 新建模块步骤 2:…

【1小时掌握速通深度学习面试6】图神经网络-下

目录 23. GraphSage 24.简述图神经网络的推理机制在其他领域中的应用 与传统NN的区别&#xff08;GNN优点&#xff09; 23. GraphSage GraphSage出现之前的图网络方法需要图中所有的顶点在训练embedding的时候都出现&#xff0c;这些的方法本质上是transductive&#xff0c…

我独自升级:崛起怎么下载 我独自升级游戏下载教程分享

定于5月8日全球揭幕的《我独自升级崛起》——一款扣人心弦的动作RPG巨制&#xff0c;灵感采撷于同名动画及网络漫画的热潮&#xff0c;誓将引领满怀热忱的玩家步入一场交织着深邃探索和宏大规模的奇妙冒险。该游戏立足于一个独树一帜的网络武侠宇宙&#xff0c;细腻刻画了一个凡…

基于Springboot的民航网上订票系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的民航网上订票系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构…

【Osek网络管理测试】[TG3_TC1]Limphome复位_NM报文

&#x1f64b;‍♂️ 【Osek网络管理测试】系列&#x1f481;‍♂️点击跳转 文章目录 1.环境搭建2.测试目的3.测试步骤4.预期结果5.测试结果 1.环境搭建 硬件&#xff1a;VN1630 软件&#xff1a;CANoe 2.测试目的 验证DUT从LimpHome状态转换到Reset状态是否满足NM标准的…

【电商-虾皮】

电商-虾皮 ■ 人口分布■ 市场■ 欧美市场■ 东南亚市场 ■ ■ 人口分布 ■ 市场 ■ 欧美市场 亚马逊 ■ 东南亚市场 shopee ■

推荐网站(4)以图片找动漫,二次元福利!!!

有的时候只有图片不知道&#xff0c;这是什么动漫&#xff0c;在多少集出现过那么&#xff0c;这个网站觉得是你的福音 我们去b站随便找一个动漫试试看&#xff0c;截图保存 然后进入网站&#xff0c;点击文件按钮上传照片 可以看到精准搜出来了动漫&#xff0c;更为重要的是连…

深入理解回溯算法

大家好&#xff0c;我是 方圆&#xff0c;本篇我们来讲回溯。回溯相当于穷举搜索&#xff0c;它会尝试各种可能的情况直到找到一个满足约束条件的解&#xff0c;寻找解的手段一般通过 DFS 实现&#xff0c;是一个 增量构造答案 的过程。回溯法适用于解决能够将原问题拆分成子问…

ABAP开发(5)字符串操作

文章目录 1、CONCATENATE2、SPLIT3、SEARCH4、REPLACE 1、CONCATENATE 使用关键字CONCATENATE可以将多个字符串进行连接&#xff0c;也可以在连接的过程中添加分隔符。 2、SPLIT 3、SEARCH 4、REPLACE

wordpress外贸建站公司歪建站新版网站上线

wordpress外贸建站公司 歪猫建站 歪猫WordPress外贸建站&#xff0c;专业从事WordPress多语言外贸小语种网站建设与外贸网站海个推广、Google SEO搜索引擎优化等服务。 https://www.waimaoyes.com/dongguan

segformer部分错误

亲测有用 1、TypeError: FormatCode() got an unexpected keyword argument ‘verify‘ mmcv中出现TypeError: FormatCode() got an unexpected keyword argument ‘verify‘-CSDN博客 pip install yapf0.40.0 2、“EncoderDecoder: ‘mit_b1 is not in the backbone regist…