LLAMA 3.1 论文的见解

news2024/9/23 23:32:28

这有什么大不了的?

LLAMA 3.1 的发布标志着 AI 开发的一个重要里程碑。开源模型首次接近领先的闭源模型的性能水平。这一转变预示着未来开源模型同样有效,任何人都可以灵活地修改和调整它们。马克·扎克伯格将此与 Linux 的开源性质进行了比较,并暗示 LLAMA 3.1 可能成为未来创新的基础技术。

关键见解

LLAMA 3.1 论文内容丰富(长达 92 页),包含大量有价值的信息。虽然这篇博文不会涵盖所有细节,但以下是我的一些主要亮点:

简单的训练食谱

Meta 通过简化训练过程来优化训练过程。他们使用简单、稳定的方法,虽然收敛速度较慢,但​​中断更少,稳定性更高。通过选择标准密集 Transformer 模型架构并进行细微调整,他们最大限度地提高了训练稳定性,优于更复杂的模型,例如混合专家模型。训练后程序涉及监督微调 (SFT)、拒绝抽样 (RS) 和直接偏好优化 (DPO),避免了更复杂的强化学习算法的不稳定性。

训练前退火

机器学习中的退火涉及在训练过程中逐渐降低学习率,类似于在冶金学中缓慢冷却材料以消除缺陷。这种方法有助于精确微调模型参数,防止可能破坏模型稳定性的大规模更新。在退火阶段,将优先考虑高质量的数据源,使用最佳数据完善模型并提高其性能和泛化能力。

训练中断

在 LLAMA 3.1 预训练的 54 天快照中,出现了 466 次作业中断。其中大多数是意外的,并归因于硬件问题,尤其是 GPU 故障。尽管中断次数很多,但大多数问题都由自动化处理,仅需要三次大量人工干预。

有趣的是,其中两次中断是由于服务器底盘问题造成的,这为这个故事增添了人为因素。想想看,有人不小心撞到了服务器底盘,导致了这些中断,真是有趣。

表 5 Llama 3 405B 预训练 54 天内意外中断的根本原因分类。约 78% 的意外中断归因于已确认或怀疑的硬件问题。

奖励模型的作用

在 LLAMA 3.1 框架中,奖励模型主要用于拒绝抽样,而不是人工反馈强化学习 (RLHF)。拒绝抽样涉及过滤掉低质量数据以提高数据集的整体质量,这是预训练和监督微调 (SFT) 期间的关键步骤。

RLHF 上的拒绝采样

Meta 选择使用直接偏好优化 (DPO) 而不是 RLHF,这意味着奖励模型不直接用于模型对齐。相反,它根据人类偏好评估响应的质量。这种评估使模型能够过滤掉低于标准的响应并保留高质量的响应,从而确保数据集保持一流水平。

不同阶段采用不同的奖励模式

  • 预训练:此阶段使用的奖励模型基于 distilBERT。该模型有助于有效地对数据质量进行分类,确保仅使用最佳数据进行初始训练。
  • 训练后:使用了更复杂的奖励模型,具体来说是 LLAMA 3.1 检查点。这种容量更大的模型确保在训练的后期阶段进行更精细的质量控制,强调了数据质量的重要性。

注释者编辑步骤

为了进一步提高数据质量,在偏好排序之后加入了一个编辑步骤。注释者将审查首选响应并直接编辑它们或提示模型根据反馈完善其响应。此过程通常会导致三个排序的响应:已编辑、已选择和已拒绝。通过加入此步骤,Meta 确保数据集不仅包含高质量的响应,而且还受益于人类专业知识和迭代改进。

图 7 Llama 3 的整体后训练方法说明。我们的后训练策略包括拒绝采样、监督微调和直接偏好优化。详情请参阅正文。

改进解析

我们开发了高质量的 HTML 解析器,以确保抓取的代码和数学文本的质量。这些解析器针对样板删除和内容调用的精确度进行了优化,保留了数学和代码内容的结构。这种一丝不苟的方法有助于保持训练数据的高标准,这对于主要在网络数据上进行训练的模型来说至关重要。

下游任务的缩放定律

为了预测 LLAMA 3 在下游任务上的表现,Meta 采用了计算优化模型来分析和预测基准数据集的结果。这涉及两个关键步骤:

  1. 与训练 FLOP 的相关性

  • 负对数似然:Meta 将正确答案的负对数似然与训练期间使用的计算工作量(以浮点运算(FLOP)衡量)相关联。

2. S 形关系

  • 对数似然和准确率:通过在基准任务上建立负对数似然和准确率之间的 S 形关系,Meta 可以更准确地预测性能。该方法外推了四个数量级,略微低估了旗舰 LLAMA 3 模型的最终性能,但仍提供了有价值的见解。

这种预测方法代表了模型性能评估方式的重大变化。传统上,仅使用负对数似然并不能可靠地预测下游任务的性能。然而,Meta 的方法表明,只要有正确的相关性和转换,就可以有效地使用它来预测模型的成功。

图 4 ARC Challenge 的缩放定律预测。左图:ARC Challenge 基准测试中正确答案的归一化负对数似然与预训练 FLOP 的关系。右图:ARC Challenge 基准测试准确度与正确答案的归一化负对数似然的关系。此分析使我们能够在预训练开始之前预测 ARC Challenge 基准测试中的模型性能。详情请参阅正文。

合成数据

合成数据在 LLAMA 3.1 等模型的训练和微调中发挥着越来越重要的作用。虽然密集的人工注释可以解决数据质量问题,但合成数据生成提供了一种可扩展且经济高效的替代方案。

后期培训的重要性

合成数据可以实现更快、更可扩展的训练过程。它有助于快速生成大量数据,这对于需要大量多样化数据集的模型至关重要。然而,关键挑战是确保这些合成数据的质量,因此需要使用拒绝采样和过滤等方法。

数据生成专家模型

元训练专用模型(特别是针对代码和数学数据)可生成高质量的合成数据。这些专家模型有助于创建和过滤更准确、更相关的微调数据。这种专业化可确保使用的合成数据具有最高质量,从而提高整体性能。

自生成数据的挑战

使用同一模型生成的合成数据进行自身微调通常不会带来显著的改进。这是因为模型本质上是从已知的数据中学习,这不会提供新的信息或挑战。

执行反馈

为了解决这个问题,Meta 引入了执行反馈。这涉及模型检查其错误、纠正错误,然后使用这些纠正后的答案进行进一步微调。这个迭代过程使模型能够从错误中吸取教训并显著提高其性能。

数据清理和处理

高质量、多样化的数据是 LLAMA 3.1 成功的核心支柱。Meta 团队实施了许多过滤和质量检查步骤,以确保数据符合其严格的标准。以下是他们使用的一些关键策略:

1.基于规则的数据清理

  • 在最初的几轮中,团队发现了几种不良模式,例如过度使用表情符号或感叹号。他们实施了基于规则的策略来删除或修改有问题的数据。例如,为了解决过度道歉的语气,他们平衡了数据集中“我很抱歉”或“我道歉”等短语的比例。

2.主题分类

  • 该团队将 LLAMA 3 8B 微调为主题分类器。该分类器用于将数据分为大类(“数学推理”)和更具体的子类(“几何和三角学”)。这种分类使他们能够抽取需要改进的正确数据分布。

3.质量评分

  • 奖励模型评分:使用奖励模型对数据进行评分,其中位于上四分位数的样本被视为高质量。
  • 基于 LLAMA 的评分:LLAMA 3 检查点对一般英语数据(准确性、指令遵循和语气/表达)采用三分制评分,对编码数据(错误识别和用户意图)采用两分制评分。得分最高的样本被认为是高质量的。
  • 结合分数:尽管奖励模型和基于 LLAMA 的分数之间存在很高的不一致率,但结合这些信号可以在内部测试集上产生最佳的回忆效果。

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

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

相关文章

Mysql原理与调优-如何进行sql优化

1.绪论 本文主要讲解我们如何优化一个sql。优化的过程主要分为3个步骤,找到哪些sql需要被优化,这就需要用到慢sql日志。然后发现慢SQL为什么慢,即当前sql是如何执行的,这就需要用到执行计划。最后才是对sql进行优化,对…

作业帮 TiDB 7.5.x 使用经验

作者: 是我的海 原文来源: https://tidb.net/blog/5f9784d3 近期在使用 TiDB 时遇到的一些小问题的梳理总结,大部分版本都在6.5.6和7.5.2 1、limit 导致的扫描量过大的优化 研发定时任务每天需要扫描大量数据,到时机器网卡被…

26.10 Django Ajax异步提交

1. 表单提交 1.1 表单的作用 表单是Web开发中常见的数据收集方式, 它允许用户通过表单输入数据, 并通过提交操作将这些数据发送到服务器进行处理.表单提交方式主要分为两大类: 传统的同步提交(也称为标准提交)和异步提交(主要通过Ajax实现). 它们在工作方式, 用户体验和数据传…

语音助手Verbi:科技创新的未来

今天,我要向大家介绍一个名为Verbi的语音助手项目。这是一个结合了多种先进技术的模块化语音助手应用程序,能够实现语音到文本、文本生成和文本到语音的全流程处理。通过这个项目,我们可以体验到尖端科技如何改变我们的日常生活。 Verbi的诞…

PHP安全开发

安全开发 PHP 基础 增:insert into 表名(列名 1, 列名 2) value(‘列 1 值 1’, ‘列 2 值 2’); 删:delete from 表名 where 列名 ‘条件’; 改:update 表名 set 列名 数据 where 列名 ‘条件’; 查:select * from 表名 wher…

【STM32 Blue Pill编程】-外部中断配置及使用

外部中断配置及使用 文章目录 外部中断配置及使用1、中断介绍2、STM32中的中断3、硬件准备及接线4、GPIO配置5、代码实现在本文中,我们将介绍如何使用 STM32Cube IDE 中的 HAL 库配置和处理外部中断。 我们将通过一个带有按钮和 LED 的示例来演示这一点。 读完本文后,您将能够…

简单了解JVM执行Java程序的基本流程 | 一次编译,到处运行

前言: Java代码怎么做到一次编译,到处运行的呢?靠JVM,那JVM的执行流程是什么呢? 简单来说:通过Javac编译器将Java源代码编译成字节码,JVM通过类加载器将字节码加载到运行时数据区中,…

C++学习笔记之数据结构

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、二叉树1.1 二叉树的遍历1.1.1 深度优先搜索(DFS)1.1.2 广度优先搜索(BFS) 1.2 对称性(递归法&#x…

【论文笔记】LION: Linear Group RNN for 3D Object Detection in Point Clouds

原文链接:https://arxiv.org/abs/2407.18232 简介:Transformer在3D点云感知任务中有二次复杂度,难以进行长距离关系建模。线性RNN则计算复杂度较低,适合进行长距离关系建模。本文提出基于窗口的网络线性组RNN(即对分组…

Android 上下滑隐藏显示状态栏

一、DisplayPolicy类中监听滑动事件,然后发送广播事件 Android12类路径: frameworks/base/services/core/java/com/android/server/wm/DisplayPolicy.javamSystemGestures new SystemGesturesPointerEventListener(mUiContext, mHandler,new SystemGest…

《机器学习》周志华-CH1(绪论)

1.1引言 机器学习(Matchine-Learning)所研究的主要内容是关于在计算机上从数据中产生“模型”(model)的算法,即“学习算法”(learning algorithm)。可以说机器学习(Matchine-Learni…

2024最新最全面一线大厂面试Tips丨接口测试面试题

面试Tips# 面试是求职过程中至关重要的环节。在如今竞争激烈的就业市场,拥有优秀的面试技巧和良好的面试礼仪显得尤为重要,同样掌握这个的行业面试题也不可或缺。 01 你们公司的接口测试流程 是怎样的? (有没有感觉熟悉&#…

[Linux][OS][信号的捕捉] 可重入函数 | volatile | SIGCHLD信号

回顾:[Linux][OS][信号的保存和处理] 信号捕捉 1.sigaction int sigaction(int signo, const struct sigaction *act, struct sigaction *oact); 参数: signo:指定信号的编号act:输入型参数,根据act修改该信号的处…

水果甜度个人手持设备检测-(题外:为啥会选型这个课题)

系列:水果甜度个人手持设备检测 -- 题外:为啥会选型这个课题 写在前面的话 这段时间一直也在思考,在主业之外哪些方向和产业成熟度较高、技术复杂度又不是很离谱,比较容易出成果的方向,能够有空去试着做一做。这几年AI智能化正…

Java方法02:方法的定义和调用

本节内容视频链接:Java方法03:方法的重载_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV12J41137hu?p47&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5 在Java中,‌‌方法的定义是创建一段可重复使用的代码块的过程‌。‌它…

Java 开发者 LLM 实战:利用 LangChain4j 打造高效本地 RAG 系统

1、引言 由于目前比较火的chatGPT是预训练模型,而训练一个大模型是需要较长时间(参数越多学习时间越长,保守估计一般是几个月,不差钱的可以多用点GPU缩短这个时间),这就导致了它所学习的知识不会是最新的&…

代码随想录DAY17 - 二叉树 - 08/16

最大二叉树 题干 题目:给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值。 递归地在最大值 左边 的 子数组前缀上 构建左子树。 递归地在最大值 右边 的 子数组…

Linux下载卸载MySql

一. 安装Mysql 1.下载mysql --- 密钥 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm yum -y --enablerepomysql57-community install mysql-community-server 2.启动mysql sy…

如何选择最佳智能排班系统?9款工具全解析

本文介绍的自助排班管理工具有Moka、红圈排班、工作易排班、泛微e-office、Udesk、畅捷通T、Zenefits、Homebase、Deputy。 在管理团队时,手动排班不仅耗时,还容易出错,影响工作效率,相信很多管理者也有同样的困扰。为了解决这个痛…

【Spring Boot】定时任务

目录 前言 定时任务注解Scheduled 设计一个定时任务 1.启用定时任务 2.创建定时任务 Cron 表达式详解 多线程定时任务 总结 定时任务框架xxl-job SpringBoot继承定时任务框架 1.搭建调度中心xxl-job-admin 1.1下载项目 1.2修改配置文件端口和数据库代码 1.3连接到…