llama3.1数据集处理方法

一、预训练数据

截止到23年底。

1.网页数据清洗

1.个人身份信息和安全性过滤:设计过滤器,会删除根据多种Meta安全标准被评定为有害的域名,以及已知包含成人内容的域名。
2.文本提取和清洗:处理未截断的网页文档的原始HTML内容,以提取高质量且多样的文本。
构建了一个自定义解析器,提取HTML内容,并优化以精确去除样板内容和最大限度地保留正文内容。发现与纯文本相比,markdown会对主要训练于网络数据的模型性能产生不利影响,因此我们移除了所有的markdown标记。
3.去重处理。我们在URL、文档和行级别进行了多轮去重处理:

  • URL级去重:我们在整个数据集上进行URL级去重。对于每个URL对应的页面,我们保留最新版本。
  • 文档级去重:我们在整个数据集上进行全局MinHash(Broder, 1997)去重,以移除近似重复的文档。
  • 行级去重:我们进行了类似于ccNet(Wenzek等,2019)的积极行级去重。在每30M文档的分区中,我们移除出现超过6次的行。尽管我们的人工定性分析表明,行级去重不仅移除了各种网站的剩余样板内容,如导航菜单、Cookie警告,还移除了频繁出现的高质量文本,但我们的实证评估显示,去重带来了显著的改进。

4.启发式过滤。我们开发了一些启发式方法来移除额外的低质量文档、异常值以及含有过多重复内容的文档。以下是一些启发式方法的例子:

  • 重复n-gram覆盖率:我们使用重复n-gram覆盖率(Rae等,2021)来移除包含重复内容的行,例如日志记录或错误消息。这些行可能很长且独特,因此无法通过行级去重过滤掉。
  • “脏词”计数:我们使用“脏词”计数(Raffel等,2020)来过滤出未被域名阻止列表覆盖的成人网站。
  • 令牌分布的Kullback-Leibler散度:我们使用令牌分布的Kullback-Leibler散度来过滤掉那些包含过多异常令牌的文档,这些文档的令牌分布与训练语料库的分布相比存在显著差异。

5.基于模型的质量过滤。我们还尝试应用各种基于模型的质量分类器来选择高质量的标记。这些分类器包括训练识别给定文本是否会被维基百科引用的快速分类器(如fasttext,Joulin等,2017,Touvron等,2023a),以及更为计算密集的基于Roberta的分类器(Liu等,2019a),这些分类器训练自Llama 2的预测结果。
为了基于Llama 2训练质量分类器,我们创建了一个经过清理的网页文档训练集,描述质量要求,并指示Llama 2的聊天模型判断这些文档是否满足这些要求。出于效率考虑,我们使用DistilRoberta(Sanh等,2019)为每个文档生成质量评分。我们通过实验评估了各种质量过滤配置的效果。

6.代码和推理数据。类似于DeepSeek-AI等(2024),我们构建了特定领域的管道来提取与代码和数学相关的网页。具体来说,代码和推理分类器都是DistilledRoberta模型,训练数据由Llama 2注释的网页数据组成。与上面提到的一般质量分类器不同,我们进行了提示调整,以目标为包含数学推理、STEM领域推理以及与自然语言交织在一起的代码的网页。
由于代码和数学的令牌分布与自然语言的令牌分布存在显著差异,这些管道实施了特定领域的HTML提取、自定义文本特征和启发式过滤。

7.多语言数据。类似于我们前面描述的英文处理管道,我们实现了过滤器,以移除可能包含个人身份信息(PII)或不安全内容的网站数据。我们的多语言文本处理管道具有以下几个独特特征:

  • 语言识别:我们使用基于fasttext的语言识别模型将文档分类为176种语言。
  • 去重处理:对每种语言的数据进行文档级和行级的去重处理。
  • 语言特定过滤:应用语言特定的启发式方法和基于模型的过滤器来移除低质量文档。

此外,我们使用基于多语言Llama 2的分类器对多语言文档进行质量排序,以确保优先处理高质量内容。通过实验确定用于预训练的多语言标记数量,平衡模型在英文和多语言基准测试上的性能。

2.数据类型配比

为了获得高质量的语言模型,必须仔细确定预训练数据混合中不同数据来源的比例。我们确定这种数据混合的主要工具是知识分类和缩放定律实验。

知识分类。我们开发了一个分类器来分类我们的网络数据中包含的信息类型,以更有效地确定数据混合。我们使用这个分类器对在网络上过度代表的数据类别进行降采样,例如艺术和娱乐。

数据混合的缩放定律。为了确定最佳的数据混合比例,我们进行缩放定律实验,在这些实验中,我们在数据混合上训练若干小模型,并用它来预测大模型在该混合上的表现(见第3.2.1节)。我们对不同的数据混合重复此过程多次,以选择一个新的数据混合候选者。随后,我们在这个候选数据混合上训练一个更大的模型,并评估该模型在几个关键基准上的表现。

数据混合概述。我们的最终数据混合大约包含50%的通用知识标记,25%的数学和推理标记,17%的代码标记,以及8%的多语言标记。

3.退火数据

在预训练的最后4000万个标记时,我们将学习率线性退火至0,同时保持上下文长度为128K标记。在这个退火阶段,我们还调整了数据混合比例,以上采样非常高质量的数据源;详见第3.1.3节。最后,我们在退火过程中计算模型检查点的平均值(Polyak (1991) 平均),以生成最终的预训练模型。

二、后训练数据

1.数据清洗

在早期轮次中,我们观察到数据中存在一些常见的不良模式,例如过度使用表情符号或感叹号。因此,我们实施了一系列基于规则的数据移除和修改策略,以过滤或清理问题数据。例如,为了缓解过度道歉的语调问题,我们识别了过度使用的短语(如“对不起”或“我道歉”),并在数据集中仔细平衡此类样本的比例。

2.数据修剪

我们还应用了一系列基于模型的技术来移除低质量的训练样本,并提升整体模型性能:

  • 主题分类:我们首先将Llama 3 8B微调为一个主题分类器,并对所有数据进行推理,将其分类为粗粒度的类别(如“数学推理”)和细粒度的类别(如“几何和三角学”)。

  • 质量评分:我们使用奖励模型和基于Llama的信号来为每个样本获取质量评分。对于基于RM的评分,我们将RM评分前四分之一的数据视为高质量。对于基于Llama的评分,我们提示Llama 3检查点对每个样本进行评分,针对通用英语数据使用三点评分尺度(准确性、指令遵循和语气/呈现),针对代码数据使用两点评分尺度(错误识别和用户意图),并将获得最高分的样本视为高质量。RM和基于Llama的评分之间存在较高的不一致率,我们发现结合这些信号在内部测试集上能获得最佳的召回率。最终,我们选择被RM或基于Llama的过滤器标记为高质量的样本。

  • 难度评分:因为我们也希望优先处理对模型而言更复杂的例子,我们使用两种难度度量来评分数据:Instag(Lu等,2023)和基于Llama的评分。对于Instag,我们提示Llama 3 70B对SFT提示进行意图标记,更多的意图意味着更复杂。我们还提示Llama 3用三点评分尺度来衡量对话的难度(Liu等,2024c)。

  • 语义去重:最后,我们进行语义去重(Abbas等,2023;Liu等,2024c)。我们首先使用RoBERTa(Liu等,2019b)对完整对话进行聚类,并在每个聚类内按质量分数×难度分数排序。然后通过遍历所有排序后的例子进行贪婪选择,仅保留与聚类中已看到的例子的最大余弦相似度小于阈值的例子。

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

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

相关文章

Github 2024-07-17 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-07-17统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量非开发语言项目3Python项目3Rust项目2TypeScript项目2MDX项目1项目化学习 创建周期:2538 天协议类型:MIT LicenseStar数量:161973 个Fork数量…

基于51单片机的指纹红外密码电子锁

基于51单片机的指纹红外密码电子锁 1、系统功能介绍2、演示视频3、系统框图4、系统电路介绍4.1、STC89C52单片机最小系统设计4.2、LCD12864显示屏电路设计4.3、矩阵键盘按键控制部分电路设计4.4、AS608指纹模块电路设计 5、程序设计5.1、LCD12864屏幕初始化5.2、AT24C02存储芯片…

打造直播工具详解:从零开始开发直播美颜SDK

今天,笔者将详细讲解如何从零开始开发一个直播美颜SDK,帮助开发者了解开发过程中的关键环节和技术要点。 一、需求分析与规划 在开发之前,首先需要明确美颜SDK的功能需求。一般来说,美颜SDK应包含以下几个核心: 基础…

【TAROT学习日记】韦特体系塔罗牌学习(7)——恋人 THE LOVERS VI

韦特体系塔罗牌学习(7)——恋人 THE LOVERS VI 目录 韦特体系塔罗牌学习(7)——恋人 THE LOVERS VI牌面分析1. 基础信息2. 图片元素 正位牌意1. 关键词/句2.爱情婚姻3. 学业事业4. 人际财富5. 其他象征意 逆位牌意1. 关键词/句2. …

uniapp在手机端预览文件

handlePdf(url) {uni.showLoading({title: 加载中,mask: true,})wx.downloadFile({url: url,success: function(res) {console.log(res)uni.hideLoading()var filePath res.tempFilePathuni.showLoading({title: 正在打开,mask: true,})wx.openDocument({filePath: filePath,f…

从零开始的CPP(23)动态规划解决最长回文串

leetcode5 给你一个字符串 s,找到 s 中最长的 回文串 示例 1: 输入:s "babad" 输出:"bab" 解释:"aba" 同样是符合题意的答案。 最开始我是将回文串都存入map。使用substr进行切割…

css快捷代码【超出一行文本显示省略号/超出三行显示省略号/超出n行...】

常见的css小tips:显示省略号,文本超出容器显示省略号…没啥好说的,直接拷贝代码吧 .containers {overflow:hidden;text-overflow:ellipsis;text-align:justify;word-break:break-all;display:-webkit-box;-webkit-box-orient:vertical;-webk…

MS17-010漏洞复现+利用

1、 漏洞简述 漏洞名称:“永恒之蓝”漏洞 漏洞编号:MS17-010,CVE-2017-0143/0144/0145/0146/0147/0148 漏洞类型:缓冲区溢出漏洞 漏洞影响:信息泄露 CVSS评分:9.3(High) 利用难…

食家巷擀面皮:一口惊艳的传统美味

在美食的世界里,总有一些经典让人难以忘怀,食家巷擀面皮便是其中之一。食家巷擀面皮,那一张张薄而有劲道的面皮,宛如艺术品般细腻。它的外观晶莹剔透,散发着诱人的光泽,让人看一眼就忍不住想要品尝。制作擀…

Vue使用FullCalendar实现日历/周历/月历

Vue使用FullCalendar实现日历/周历/月历 需求背景:项目上遇到新需求,要求实现工单以日/周/月历形式展示。而且要求不同工单根据状态显示不同颜色,一个工单内部,需要以不同颜色显示三个阶段。 效果图 日历 周历 月历 安装插件…

MySQL学习——影响选项文件处理的命令行选项

大多数支持选项文件的MySQL程序都处理以下选项。因为这些选项会影响选项文件处理,所以必须在命令行上给出,而不是在选项文件中给出。为了正常工作,这些选项中的每一个都必须在其他选项之前给出,但以下情况除外: 打印默…

力扣第二十五题——K个一组反转链表

内容介绍 给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。 你不能只是单纯的改变节点内…

自定义IPython启动:打造个性化的交互式编程环境

自定义IPython启动:打造个性化的交互式编程环境 IPython,一个强大的交互式Python解释器,提供了丰富的定制选项,允许用户根据个人或团队的需求定制其行为和外观。设置自定义的启动命令是IPython定制功能的一部分,它可以…

1万6千多传统文化之古代地名大全ACCESS\EXCEL数据库

继续采集传统文化数据,之前采集过《传统文化之非物质文化大全ACCESS数据库》、《名人大全古今人物ACCESS数据库》、《传统文化之民俗文化大全ACCESS数据库》,今天的是古代地名查询: 截图下方有显示“共有记录数”,截图包含了表的所…

探索WebKit的CSS盒模型:深入理解Web布局的基石

探索WebKit的CSS盒模型:深入理解Web布局的基石 在Web开发的世界中,CSS盒模型(Box Model)是构建网页布局的核心原理。WebKit,作为Safari浏览器的渲染引擎,对CSS盒模型有着深入而精确的支持。本文将带你深入…

AtCoder Beginner Contest 363

A - Piling Up 题意 不同的分数段有不同的^数量,Takahashi想要使得他的^数量增加,问他所需要的最少分数增幅。 思路 我们只需要找到下一阶段的下限。 a / 100 是本阶段 1 变成下一阶段,再 * 100变成下限,再与原来的相减即可…

IP协议和路由转发

文章目录 IP协议IP报头网段划分特殊的IP私有IP和公有IP IP分片 路由 IP协议 IP协议提供了一种能力,将数据报从A主机送到B主机,TCP可以保证可靠性,所以TCP/IP协议可以将数据可靠的从A主机送到B主机。 IP报头 4位版本号(version): 指定IP协议…

Unity Shader - 2024 工具篇

目录 IDE 工具建议 IDE工具 Sublime 3 大势所趋,但是Sublime 使用插件还是相当的不习惯 代码跳转 Go to definite IDE 工具建议 () what is the best ide for coding shaderlab - #4 by DaveAstator - Unity Engine - Unity Discussions​​​​​​​I IDE工…

java中介模式

中介者(Mediator)模式是一种行为设计模式,它定义了一个对象来封装一组对象之间的交互。中介者对象负责控制和协调这些对象之间的交互,使得这些对象不需要显式地相互引用,从而降低它们之间的耦合。 以下是一个简单的中…

修复SteamUI.dll加载失败的指南,快速修复failed to load steamui.dll

在使用Steam平台进行游戏下载、安装和运行时,可能会遇到一些系统错误,比如“failed to load steamui.dll”。这个错误通常意味着Steam的用户界面库文件steamui.dll出现了问题。本文将详细介绍steamui.dll文件的相关信息以及如何修复这一问题。 一.什么是…