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

 新智元报道

  编辑: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

来自: 网易科技

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vulnhub靶场之FunBox-2

一.环境搭建 1.靶场描述 Boot2Root ! This can be a real life scenario if rockies becomes admins. Easy going in round about 15 mins. Bit more, if you are find and stuck in the rabbit-hole first. This VM is created/tested with Virtualbox. Maybe it works with…

C#编程模式之外观模式

创作背景&#xff1a;给位伙伴&#xff0c;五一小长假结束&#xff0c;我们继续对C#编程之路进行探索。本文将继续编程模式的研究&#xff0c;主要介绍外观模式。外观模式也称为门面模式&#xff0c;是一种结构型设计模式&#xff0c;它的目的是为子系统中的一组接口提供一个统…

【隧道篇 / WAN优化】(7.4) ❀ 01. 启动WAN优化 ❀ FortiGate 防火墙

【简介】几乎所有的人都知道&#xff0c;防火墙自带的硬盘是用来保存日志&#xff0c;以方便在出现问题时能找到原因。但是很少的人知道&#xff0c;防火墙自带的硬盘其实还有另一个功能&#xff0c;那就是用于WAN优化。 防火墙自带的硬盘 在FortiGate防火墙A、B、C、D系列&…

oracle 8i系统检查

oracle 8i系统检查 set echo on spool d:\bk\1.txt select sysdate from dual; --版本信息 select * from v$version; --安装的产品 col PARAMETER for a50; col value for a10; select * from v$option order by 2; --用户信息 set linesize 100 set pagesize 100 COL USE…

景源畅信:抖音运营做什么工作内容?

在如今这个信息爆炸的时代&#xff0c;抖音已经成为了人们生活中不可或缺的一部分。无论是消磨时间、获取信息还是展示自我&#xff0c;抖音都扮演着重要的角色。那么&#xff0c;作为抖音运营&#xff0c;他们需要做些什么呢? 一、内容策划与制作 抖音运营的首要任务就是内容…

爬虫Python库Requests

一、介绍 Requests 是一个强大的 Python 库&#xff0c;用于发送 HTTP 请求。它使得与 RESTful API 进行交互变得非常简单。Requests 可以通过 GET、POST、PUT、DELETE 等方法发送各种类型的请求&#xff0c;并且支持自定义 HTTP 头、请求参数、数据、cookies 等。 使用 Requ…

MCM箱模型实践技术应用与O3形成途径、生成潜势、敏感性分析

目前&#xff0c;大气臭氧污染成为我国“十四五”期间亟待解决的环境问题。臭氧污染不仅对气候有重要影响&#xff0c;而且对人体健康、植物生长均有严重损害。为了高效、精准地治理区域大气臭氧污染&#xff0c;需要了解臭氧生成的主要途径及其前体物。OBM箱模型可用于模拟光化…

武汉星起航:跨境电商领域国际竞争力卓越,引领行业再上新台阶

在全球化浪潮的推动下&#xff0c;跨境电商行业日益成为各国经济交流与合作的重要桥梁。武汉星起航电子商务有限公司&#xff0c;作为跨境电商领域的佼佼者&#xff0c;凭借其深厚的行业经验和前瞻性的战略视野&#xff0c;在国际市场上展现出强大的竞争力&#xff0c;为行业的…

优化理论复习——(二)

本篇主要介绍一下LP问题及其相关的解法和示例&#xff0c;主要是记住相关的方法和结论即可&#xff0c;不要求证明。 方法主要是单纯形法&#xff0c;同时对于初始基可行解确定方面使用了大M法和二阶段法。主体都是关于单纯形法的。 首先认识一下线性规划的一般问题形式&#x…

报错,java: 程序包sun.misc不存在

错误描述 down下来一个项目&#xff0c;编译的时候报错&#xff0c;提示sun.misc包不存在&#xff0c;通过百度得知&#xff0c;原来这是jdk8中的jar包&#xff0c;在后来的版本中被移除了&#xff08;我用的jdk11&#xff0c;没有这个包&#xff09; 结局方法 1.更换jdk版本&…

知识库工具:付费的HelpLook AI知识库比免费的牵牛易帮好在哪里

在知识管理的领域中&#xff0c;选择合适的知识库工具对于企业来说很重要。市面上有很多知识库产品&#xff0c;有付费的和免费的&#xff0c;但是还是有很多企业会选择使用付费的&#xff0c;而不是免费的。这是为什么呢&#xff1f;这就是今天要探讨的问题&#xff0c;下面就…

vs配置cplex12.10

1.创建c空项目 2.修改运行环境 为release以及x64 3.创建cpp文件 4.鼠标右键点击项目中的属性 5.点击c/c&#xff0c;点击第一项常规&#xff0c;配置附加库目录 5.添加文件索引&#xff0c;主要用于把路径导进来 6.这一步要添加的目录与你安装的cplex的目录有关系 F:\program…

idea2023.2.5的控制台动态配置当前环境

一、idea2023.2.5的控制台动态配置当前环境 1.1、idea版本 1.2、配置方式 1.2.1、方式一 1.2.2、方式二 1.3、参考 https://blog.csdn.net/xiaoheihai666/article/details/127757658

举个栗子!Minitab 技巧(8):用 PLS 偏最小二乘分析大豆脂肪影响因素

在上一个 &#x1f330; 中&#xff0c;我们用 Minitab 最小二乘法验证了两个变量&#xff08;单位桶数与运输时间&#xff09;之间是否存在某种关系。那么&#xff0c;在更复杂的场景中&#xff0c;如何验证一组预测变量和一个或多个连续响应变量之间的关系&#xff1f; 假设…

Pandas入门篇(三)-------数据可视化篇2(pandas-plot篇)

目录 概述一、格式1. 生成pandas.plotting对象来生成图表2. 调用plot()函数来生成图表3.支持的图表类型 二、单变量绘图常用图表1. 柱状图&#xff08;bar&#xff09;使用场景代码实现 2. 折线图&#xff08;line&#xff09;&#xff08;默认即为折线图&#xff09;适用场景代…

体育老师工资高吗,奖金有吗

教师的薪资水平与多种因素相关&#xff0c;包括教育经验、工作地点、学校类型以及个人的教学成果等。在讨论体育教师的工资问题时&#xff0c;不能仅仅关注数字&#xff0c;更应了解教育价值和个人发展。 初中体育教师的工资水平受多种因素影响。根据网络统计的数据&#xff0c…

[Spring Cloud] (6)gateway整体加解密

文章目录 简述整体效果后端增加配置nacos增加配置GlobalConfig 添加请求整体解密拦截器DecryptionFilter添加响应整体解密拦截器EncryptionFilter 前端请求拦截器添加整体加密逻辑请求头中添加sessionId 响应拦截器添加整体解密逻辑 简述 本文网关gateway&#xff0c;微服务&a…

阅读欣赏推荐之(七)——纪录片《一根绳子有多长》

《一根绳子有多长》是英国广播公司&#xff08;BBC&#xff09;在2009年出品的纪录片&#xff0c;这部纪录片以一跟绳子作为主角&#xff0c;通过运用现代科技手段&#xff0c;结合历史学、文化学、物理学等多个领域的知识&#xff0c;对绳子进行了全方位的研究。在古代&#x…

诺基亚贝尔探访上海斯歌,共探创新合作新机遇

近日&#xff0c;上海斯歌K2 BPM迎来重要客户考察交流活动。来自诺基亚贝尔的首席数字官刘少勇一行莅临了上海斯歌K2 BPM 的武汉研发中心&#xff0c;并对上海斯歌在BPM业务流程管理领域的研发成果及交付能力给予了高度肯定。 此次活动不仅加深了双方的战略合作&#xff0c;也为…

flask 前后台文件多张图片api;streamlit、gradio多图片页面展示

1、flask 前后台文件多张图片api send_file 传递zip&#xff1a; send_file(zip_data, mimetype‘application/zip’, as_attachmentTrue, download_name‘images.zip’) from flask import Flask, Response, request,send_file from PIL import Image import torch import i…