新型大语言模型的预训练与后训练范式,Meta的Llama 3.1语言模型

前言:大型语言模型(LLMs)的发展历程可以说是非常长,从早期的GPT模型一路走到了今天这些复杂的、公开权重的大型语言模型。最初,LLM的训练过程只关注预训练,但后来逐步扩展到了包括预训练和后训练在内的完整流程。后训练通常涵盖监督指导微调和对齐过程,而这些在ChatGPT的推广下变得广为人知。

自ChatGPT首次发布以来,训练方法学也在不断进化。在这几期的文章中,我将回顾近1年中在预训练和后训练方法学上的最新进展。

关于LLM开发与训练流程的概览,特别关注本文中讨论的新型预训练与后训练方法

每个月都有数百篇关于LLM的新论文提出各种新技术和新方法。然而,要真正了解哪些方法在实践中效果更好,一个非常有效的方式就是看看最近最先进模型的预训练和后训练流程。幸运的是,在近1年中,已经有四个重要的新型LLM发布,并且都附带了相对详细的技术报告。

在本文中,我将重点介绍以下模型中的Meta的 Llama 3.1语言模型 预训练和后训练流程:

• 阿里巴巴的 Qwen 2

• 苹果的 智能基础语言模型

• 谷歌的 Gemma 2

• Meta AI 的 Llama 3.1

我会完整的介绍列表中的全部模型,但介绍顺序是基于它们各自的技术论文在arXiv.org上的发表日期,这也巧合地与它们的字母顺序一致。

4. Meta AI的Llama 3.1

Meta发布的Llama LLM新版本总是大事。这次发布伴随着一份92页的技术报告:《Llama 3模型群》。最后,在本节中,我们将查看上个月发布的第四份重要模型论文。

4.1 Llama 3.1概述

除了发布一个巨大的4050亿参数模型,Meta还更新了他们之前的80亿和700亿参数模型,使它们在MMLU性能上略有提升。

MMLU基准测试不同模型的表现。

虽然Llama 3像其他最近的LLM一样使用群组查询注意力,但令人惊讶的是,Meta AI拒绝使用滑动窗口注意力和混合专家方法。换句话说,Llama 3.1看起来非常传统,重点显然放在预训练和后训练上,而非架构创新。

与之前的Llama版本相似,它的权重是公开可用的。此外,Meta表示他们更新了Llama 3的许可证,现在终于可以(被允许)使用Llama 3进行合成数据生成或知识蒸馏以改善其他模型。

4.2 Llama 3.1预训练

Llama 3在庞大的15.6万亿标记数据集上进行训练,这比Llama 2的1.8万亿标记有显著增加。研究人员表示,它支持至少八种语言(而Qwen 2能处理20种语言)。

Llama 3的一个有趣方面是它的词汇量为128,000,这是使用OpenAI的tiktoken分词器开发的。(对于那些对分词器性能感兴趣的人,我在这里做了一个简单的基准比较。)

在预训练数据质量控制方面,Llama 3采用了基于启发式的过滤以及基于模型的质量过滤,利用像Meta AI的fastText和基于RoBERTa的分类器这样的快速分类器。这些分类器还有助于确定训练期间使用的数据混合的上下文类别。

Llama 3的预训练分为三个阶段。第一阶段涉及使用15.6万亿标记进行标准的初始预训练,上下文窗口为8k。第二阶段继续预训练,但将上下文长度扩展到128k。最后一个阶段涉及退火,进一步提高模型的性能。让我们更详细地看看这些阶段。

4.2.1 预训练I:标准(初始)预训练

在他们的训练设置中,他们开始使用由4096个序列长度的400万标记组成的批次。这意味着批量大小大约为1024标记,假设400万这个数字是四舍五入得到的。在处理了首批252百万标记后,他们将序列长度增加到8192。在训练过程中,处理了2.87万亿标记后,他们再次将批量大小翻倍。

此外,研究人员并没有在整个训练过程中保持数据混合不变。相反,他们调整了训练过程中使用的数据混合,以优化模型学习和性能。这种动态处理数据的方法可能有助于改善模型跨不同类型数据的泛化能力。

4.2.2 预训练II:继续预训练以延长上下文

与其他一步增加其上下文窗口的模型相比,Llama 3.1的上下文延长是一个更渐进的方法:在这里,研究人员通过六个不同阶段将上下文长度从8000增加到128000标记。这种分步增加可能让模型更平滑地适应更大的上下文。

此过程使用的训练集涉及8000亿标记,约占总数据集大小的5%。

4.2.3 预训练III:在高质量数据上退火

对于第三阶段预训练,研究人员在一个小但高质量的混合上训练模型,他们发现这有助于改善基准数据集上的性能。例如,在GSM8K和MATH训练集上退火提供了在相应的GSM8K和MATH验证集上的显著提升。

在论文的3.1.3节中,研究人员表示退火数据集大小为400亿标记(总数据集大小的0.02%);这400亿退火数据集用于评估数据质量。在3.4.3节中,他们表示实际的退火只在4000万标记上进行(退火数据的0.1%)。

Llama 3.1预训练技术总结。

4.3 Llama 3.1后训练

在后训练过程中,Meta AI团队采用了一种相对简单的方法,包括监督微调(SFT)、拒绝采样和直接偏好优化(DPO)。

他们观察到,像带PPO的RLHF这样的强化学习算法与这些技术相比,稳定性较低且更难扩展。值得注意的是,SFT和DPO步骤在多轮中反复迭代,融合了人工生成和合成数据。

在描述更多细节之前,他们的工作流程如下图所示。

来自Llama 3.1论文的带注释的图表,描述了后训练过程。

请注意,尽管他们使用了DPO,但他们也开发了一个奖励模型,就像在RLHF中一样。起初,他们使用预训练阶段的一个检查点训练奖励模型,利用人工标注数据。这个奖励模型随后被用于拒绝采样过程,帮助选择适当的提示进行进一步训练。

在每一轮训练中,他们不仅对奖励模型,还对SFT和DPO模型应用了模型平均技术。这种平均涉及合并最近和以前模型的参数,以稳定(并改善)随时间的性能。

对于那些对模型平均的技术细节感兴趣的人,我在我早期文章《理解模型融合和权重平均》的部分中讨论了这个话题,文章标题为《模型融合、专家混合,以及向更小LLM的迈进》。

总之,核心是一个相对标准的SFT + DPO阶段。然而,这个阶段在多轮中重复。然后,他们在拒绝采样中加入了一个奖励模型(像Qwen 2和AFM那样)。他们还使用了像Gemma那样的模型平均;然而,这不仅适用于奖励模型,而是涉及所有模型。

Llama 3.1后训练技术总结。

4.4 结论

Llama 3模型保持相当标准,与早期的Llama 2模型类似,但采用了一些有趣的方法。值得注意的是,庞大的15万亿标记训练集使Llama 3与其他模型区别开来。有趣的是,像苹果的AFM模型一样,Llama 3也实施了三阶段预训练过程。

与其他最近的大型语言模型不同,Llama 3没有采用知识蒸馏技术,而是选择了一条更直接的模型开发路径。在后训练中,模型使用了直接偏好优化(DPO)而不是其他模型中流行的更复杂的强化学习策略。总的来说,这种选择很有趣,因为它表明了通过简单(但经过验证的)方法精炼LLM性能的重点。

5. 主要收获

从本文讨论的这四个模型中我们可以学到什么:阿里巴巴的Qwen 2,苹果的基础模型(AFM),谷歌的Gemma 2,以及Meta的Llama 3?

这四个模型在预训练和后训练上采取了略有不同的方法。当然,方法论有所重叠,但没有哪个训练流程是完全相同的。在预训练方面,一个共有的特征似乎是所有方法都使用了多阶段预训练流程,其中一般的核心预训练之后是上下文延长,有时还有高质量的退火步骤。下面的图表再次一览无余地显示了预训练中使用的不同方法。

预训练所用技术概述

在后训练方面,也没有哪个流程是完全相同的。看来拒绝采样现在已经成为后训练过程中的常见要素。然而,当谈到DPO或RLHF时,还没有共识或偏好(无意中的双关语)。

后训练所用技术概述

因此,总的来说,没有单一的配方,而是有许多路径可以开发出高性能的LLM。

最后,这四个模型的表现大致相当。不幸的是,其中几个模型还没有进入LMSYS和AlpacaEval排行榜,所以我们还没有直接的比较,除了在MMLU和其他多项选择基准上的得分。

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

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

相关文章

[js] 函数柯里化

面试题:实现一个add方法,使计算结果能够满足如下预期: add(1)(2)(3) 6; add(1, 2, 3)(4) 10; add(1)(2)(3)(4)(5) 15; // 保存不定长参数 let nums []; function add(...args) { // 往数组中插入不定长参数nums.push(...args)// 判断参数…

git rebase-优雅合并与修改提交

文章目录 简介rebase用于合并使用rebase修改提交cherry-pick 简介 在Git核心概念图例与最常用内容操作(reset、diff、restore、stash、reflog、cherry-pick)中我们已经介绍了git的最常用实用的命令。 在上面说的那篇文章中,我们只是简单提了一下rebase。 是因为r…

音视频流媒体直播/点播系统EasyDSS互联网视频云平台介绍

随着互联网技术的飞速发展,音视频流媒体直播已成为现代社会信息传递与娱乐消费的重要组成部分。在这样的背景下,EasyDSS互联网视频云平台应运而生,它以高效、稳定、便捷的特性,为音视频流媒体直播领域带来了全新的解决方案。 1、产…

HarmonyOS4+NEXT星河版入门与项目实战(22)------动画(属性动画与显示动画)

文章目录 1、属性动画图解2、案例实现-小鱼移动游戏1、代码实现2、代码解释3、资源图片4、实现效果3、显示动画4、案例修改-显示动画5、总结1、属性动画图解 这里我们用一张完整的图来汇整属性动画的用法格式和使用的主要属性范围,如下所示: 2、案例实现-小鱼移动游戏 1、代…

基于大数据python 豆果美食推荐数据可视化系统(源码+LW+部署讲解+数据库+ppt)

!!!!!!!!! 很对人不知道选题怎么选 不清楚自己适合做哪块内容 都可以免费来问我 避免后期給自己答辩找麻烦 增加难度(部分学校只有一次答辩机会 没弄好就延迟…

坐标系变换

1 Clark变换 三相对称电压表达式为: 将三相电压用相量的形式表达出来,并用欧拉公式(eix(cosxisinx))写成三角函数的形式: 同时,三相电压矢量空间合成向量可表示为: 三相电压合成矢量幅值为相电…

008静态路由-特定主机路由

按照如上配置,用192.168.0.1 电脑ping 192.168.1.1 发现能够ping通 用192.168.0.1 电脑ping 192.168.2.1 发现不能ping通 这是因为192.168.0.1 和 192.168.1.1 使用的是同一个路由器R1。 192.168.0.1 和 192.168.2.1 通信需要先经过R1,再经过R2 &#xf…

用c语言完成俄罗斯方块小游戏

用c语言完成俄罗斯方块小游戏 这估计是你在编程学习过程中的第一个小游戏开发,怎么说呢,在这里只针对刚学程序设计的学生,就是说刚接触C语言没多久,有一点功底的学生看看,简陋的代码,简陋的实现&#xff0…

数据迁移调研

需求背景:在项目迭代过程中,需要将一个数据库的数据迁移到另外一个数据库,包括分库分表的mysql数据库的数据异构到ES,来支持大数据量的查询,以及从一个Mysql数据库迁移到另外一个Mysql数据库的操作。多个业务的数据在一…

深度学习:梯度下降法

损失函数 L:衡量单一训练样例的效果。 成本函数 J:用于衡量 w 和 b 的效果。 如何使用梯度下降法来训练或学习训练集上的参数w和b ? 成本函数J是参数w和b的函数,它被定义为平均值; 损失函数L可以衡量你的算法效果&a…

python基础(二)

函数 函数定义 函数是组织好的,可重复使用的,用来实现单一或相关联功能的代码段。 python函数定义规则: def my_max(a,b): #定义函数用def关键字开头,函数名-》my_max ()定义参数 if a>b: #函数体以&#xff1a…

镜像神经元系统,人工智能的等效设计

镜像神经元机制等效于人工智能对输入数据系统上下文进行编码的系统。 生物神经系统的镜像神经元编码系统,对生物感知到的一系列行为序列的整体模式进行编码。生物神经系统在感知到行为序列中的某个特征触发模式时,触发神经系统输出整体模式的序列集合的…

复杂网络(三)

一、几种常见的中心性指标 1.1 度中心性 度中心性分为节点度中心性和网络度中心性。前者指的是节点在其与之直接相连的邻居节点当中的中心程度,二后者则侧重节点在整个网络的中心程度,表征的是整个网络的集中或集权程度,即整个网络围绕一个…

基础(函数、枚举)错题汇总

枚举默认从0开始,指定后会按顺序赋值 而这个枚举变量X,如果在全局(函数外部)定义,那默认为0,如果在函数内部(局部变量),那就是随机值,必须初始化。 枚举变量…

Facebook的开源项目解析:推动开发者社区的技术进步

Facebook,作为全球领先的社交平台之一,其在技术领域的创新不仅体现在产品功能的实现上,也积极推动开源社区的发展。开源项目已经成为Facebook技术战略的重要组成部分,通过开源,Facebook不仅加速了技术进步,…

uniapp中scrollview配合swiper实现一个简单的tab标签页

<template><view class"tab-container"><!-- Tab 标签滚动容器 --><scroll-view scroll-x"true" class"tab-scroll" scroll-with-animation"true"><view class"tab-list"><viewv-for"…

后端-mybatis的一对一查询

准备两张表菜单表和分类表&#xff0c;一个菜单对应一个分类&#xff0c;一个分类对应多个菜单&#xff0c;我们从菜单对分类来操作一对一的关系&#xff0c;首先在菜单表里面要有一个分类表的id字段。 使用mapper的映射文件.xml来写的话我们在resource目录下创建各自mapper的…

mysql_题库详解

1、如何创建和删除数据库&#xff1f; 1&#xff09;创建数据库 CREATE DATABASE 数据库名; 2&#xff09;删除数据库 drop database 数据库名; 2、MyISAM与InnoDB的区别&#xff1f; 1&#xff09;事务&#xff1a;MyISAM 不支持事务 InnoDB 支持 2&#xff09;行锁/表锁&a…

修改Docker 默认存储目录( Docker Root Dir: /var/lib/docker)

Docker 默认将所有的数据&#xff08;包括镜像、容器、卷等&#xff09;存储在 /var/lib/docker 目录下。这个目录默认被配置在系统的根分区或者较小的分区上。随着容器化应用的增加&#xff0c;或者 Docker 容器和镜像的数量增加&#xff0c;默认存储位置可能会迅速填满&#…

CentOS startx 启动失败的解决方法

第一个错误&#xff1a;MESA-LOADER: failed to open mgag200: /usr/lib64/dri/mgag200_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib64/dri) failed to load driver: mgag200 解决方法&#xff1a;安装缺失mesa驱动&#xff0…