Llama 3 模型系列解析(一)

目录

1. 引言

1.1 Llama 3 的简介

1.2 性能评估

1.3 开源计划

1.4 多模态扩展

ps

1. 缩放法则

2. 超额训练(Over-training)

3. 计算训练预算

4. 如何逐步估算和确定最优模型?

2. 概述

2.1 Llama 3 语言模型开发两个主要阶段

2.2 多功能模型的能力

2.3 多模态扩展实验


1. 引言

基础模型 是面向语言、视觉、语音和其他多模态的大型模型,旨在支持各种 AI 任务。它们是许多现代 AI 系统的核心。 现代基础模型的开发主要包括两个阶段:

  • 预训练阶段在大规模数据集上进行训练,任务通常很简单,比如预测下一个单词或生成字幕。

  • 后训练阶段模型经过调整以能够遵循指令,更好地符合人类偏好,并提升特定能力(例如编码和推理)。

在本文中,我们介绍了一组名为 Llama 3 的全新语言基础模型。Llama 3 系列模型本地支持多语言、编码、推理和工具使用。我们的最大模型是一个拥有 4050 亿参数的稠密 Transformer,能够在最长 128K 个 token 的上下文窗口中处理信息。

1.1 Llama 3 的简介

  • Llama 3 是一组多语言大语言模型,由三个不同规模的模型组成:8B、70B 和 405B 参数

    • 8B:小型模型,适合资源受限的场景。

    • 70B:中型模型,性能与计算需求均衡。

    • 405B:旗舰模型,性能接近 GPT-4。

开发高质量基础模型有三个关键要素:数据、规模和复杂性管理

数据:训练数据量提升到 15T token,是 Llama 2 的 8 倍以上。数据更广泛、更高质量,使模型更强大。

规模:旗舰模型拥有 4050 亿参数,远超 Llama 2。这种大模型具备更强的泛化能力和复杂任务处理能力

复杂性管理:采用更稳定的稠密 Transformer,而非更复杂的混合模型,确保训练稳定性和易于扩展。

表 1 解读

  • Llama 3.1 版本的模型全面支持多语言、长上下文和工具使用,而早期的 Llama 3 版本仅在部分模型中实现这些功能。

  • 405B 模型 是当前最大的模型版本,展现了在大规模训练下的顶级性能。是基于缩放法则的计算最优模型。

  • 小型模型如 8B 和 70B 虽然更小,但通过更长时间的训练(超额训练),在同样的推理预算下,也能达到接近旗舰模型的效果。

  • Instruct 版本 是针对指令优化的模型,能更好地遵循人类输入,实现更精确的响应。

1.2 性能评估

  • 研究团队在广泛的基准数据集上评估了 Llama 3 的表现,这些数据集涵盖了多种语言理解任务。

  • **旗舰模型(405B 参数)**的表现:

    • 在多个任务上接近或达到 GPT-4 的水平,非常接近当前的最先进(state-of-the-art)语言模型。

  • 小型模型(8B 和 70B 参数)

    • 在同样的参数规模下,小型模型优于其他竞争模型(如 Bai et al., 2023;Jiang et al., 2023),证明了它的高效性。

1.3 开源计划

  • 公开发布:所有三个 Llama 3 模型(8B、70B、405B)将通过一个更新的 Llama 3 社区许可协议(Community License)开放 https://llama.meta.com. 包括:

    • 预训练版本(405B):基础大模型。

    • 微调版本(405B):优化过的指令版本。

    • Llama Guard 模型:用于输入和输出的安全性检查。

1.4 多模态扩展

  • 多模态支持:Llama 3 团队正在开发扩展模型,使其能够支持以下任务:

    • 图像识别(image recognition)。

    • 视频分析(video recognition)。

    • 语音理解(speech understanding)。

  • 这些多模态模型仍在积极开发中,目前尚未准备好发布。

ps

1. 缩放法则

基础模型的缩放法则(Scaling Laws for Foundation Models)是指在训练大型模型时,模型的性能如何随以下三大因素扩展而提高的规律:

  • 数据规模(Data Size)

  • 模型参数量(Model Size)

  • 计算量(FLOPs)(Compute Budget)

这些法则揭示了:

  • 更大的模型 在更大的数据集上训练,并使用更多的计算资源时,其性能通常会持续提升。

  • 性能提升是可预测的,即模型的损失函数或下游任务的精度,可以根据模型规模和计算量的增加呈现出幂律关系。

简单理解

  • 小模型+长时间训练大模型+少训练时间

  • 计算最优模型在两者之间找到平衡,确保在有限的预算下获得最高性能

2. 超额训练(Over-training)

超额训练 指的是在模型已经达到计算最优之后,继续进行训练,投入更多的计算量或数据,尽管提升幅度变小,但最终模型表现会略优于计算最优模型。

通常适用于:

  • 关键任务:需要高精度的任务(如医疗、自动驾驶)。

  • 长尾场景:在罕见或复杂数据上需要更强的泛化能力。

3. 计算训练预算

经验值参考

  • GPT-3 (175B 参数) 训练耗费约 3.14 × 10²³ FLOPs

  • LLaMA 2 (65B 参数) 训练耗费约 1.0 × 10²³ FLOPs

  • PaLM 540B 参数 训练预算约 6.4 × 10²⁴ FLOPs

1E24 FLOPs 是一个行业通用的经验值,适合训练 50B~100B 参数规模的模型。

训练预算也可以通过公式推导,结合模型参数量和数据量来计算。

4. 如何逐步估算和确定最优模型?

行业基准:很多公司在训练 50B~100B 参数模型时,通常预算约在 1E24−5E24FLOPs范围内。

计算资源:这个预算量级对应当前行业常用的 TPU/GPU 集群资源,能够在合理时间内完成大规模模型训练。

总结:流程简化版

  1. 用公式估算最优模型参数量(先估模型大小)。

  2. 反算训练预算(FLOPs),确保资源充足。

  3. 训练不同规模模型,观察损失曲线变化。

  4. 在计算最优点停下或决定超额训练

2. 概述

Llama 3 的模型架构如图 1 所示。

2.1 Llama 3 开发两个主要阶段

语言模型的预训练(Language model pre-training)

  • 我们首先将一个大规模的多语言文本语料库转换为离散的 token(标记),并使用这些数据对一个大型语言模型(LLM)进行预训练,以执行下一个 token 的预测任务。

  • 在语言模型的预训练阶段,模型通过“阅读”文本,学习语言的结构并获得关于世界的大量知识。

  • 为了高效实现这一点,预训练在大规模环境下进行:我们对一个拥有 4050 亿参数的模型进行了预训练,使用了 15.6 万亿 token 的语料,支持的上下文窗口为 8K token

  • 在标准预训练阶段完成后,还进行了进一步的预训练阶段,将支持的上下文窗口扩展到 128K token(详见第 3 节)。

语言模型的后训练(Language model post-training)

  • 虽然经过预训练的语言模型对语言有了丰富的理解,但它尚不能遵循指令,或表现出我们期望的助手行为。

  • 我们通过多轮次的对齐优化,使模型与人类反馈保持一致,每一轮都包括:

    • 使用指令微调数据进行的监督微调(SFT

    • 直接偏好优化(DPO;Rafailov 等人,2024)。

  • 在后训练阶段,我们还整合了新的功能,例如工具使用,并在其他领域(如编程和推理)上观察到显著改进(详见第 4 节)。

  • 最后,在后训练阶段中还加入了安全性缓解措施,详细内容详见第 5.4 节。

2.2 多功能模型的能力

训练后的 Llama 3 模型具备丰富的功能:

  • 能够使用至少八种语言回答问题

  • 撰写高质量代码

  • 解决复杂的推理问题

  • 支持零样本使用工具或开箱即用。

2.3 多模态扩展实验

我们还进行了实验,为 Llama 3 添加了图像、视频和语音处理能力。这些能力是通过一个组合方法实现的,分为以下三个阶段

1. 多模态编码器预训练(Multi-modal encoder pre-training)

图像编码器

  • 我们为图像和语言训练了独立的图像编码器,使用了大量图像-文本对。

  • 这让模型能够学习视觉内容与自然语言描述之间的关系。

语音编码器

  • 我们使用一种自监督方法训练语音编码器,方法是在语音输入中掩盖部分信号并让模型尝试重建这些掩盖的部分,输出为离散的 token 表示。

  • 结果是模型学会了语音信号的结构和特征。

2. 视觉适配器训练(Vision adapter training)

我们为图像编码器设计了一个适配器(adapter),将其与预训练的语言模型集成。

  • 适配器包含一系列交叉注意力层(cross-attention layers),用于将图像编码器的表示输入到语言模型中。

  • 训练适配器时使用的是图像-文本对数据,使图像表示和语言表示对齐。

训练过程中:

  • 图像编码器参数会更新。

  • 语言模型参数不会更新。

视频适配器

  • 在图像适配器的基础上,我们使用视频-文本对数据训练了一个视频适配器,使模型能够跨帧聚合信息。

3. 语音适配器训练(Speech adapter training)

最后,我们通过一个适配器将语音编码器集成到模型中,适配器将语音编码转换为可以直接输入到微调语言模型的 token 表示。

适配器和语音编码器的参数在监督微调阶段一起更新,以实现高质量的语音理解。

训练过程中:

  • 语言模型参数不会被改变。

我们还集成了一个文本到语音系统(text-to-speech system),进一步增强了语音交互能力。

实验结果

这些多模态实验结果表明,Llama 3 的扩展模型能够:

  • 识别图像和视频的内容。

  • 支持通过语音接口与用户交互。

当前状态:这些模型仍在开发中,尚未准备好发布。

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

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

相关文章

越疆科技营收增速放缓:毛利率未恢复,持续亏损下销售费用偏高

《港湾商业观察》施子夫 12月13日,深圳市越疆科技股份有限公司(以下简称,越疆科技,02432.HK)发布全球发售公告,公司计划全球发售4000万股股份,其中3800万股国际发售,200万股香港公开…

微信小程序实现画板画布自由绘制、选择画笔粗细及颜色、记录撤回、画板板擦、清空、写字板、导出绘图、canvas,开箱即用

目录 画板创建canvas绘制及渲染画笔粗细功能实现画笔颜色选择画笔痕迹撤回、板擦、画布清空canvas解析微信小程序中 canvas 的应用场景canvas 与 2D 上下文、webgl 上下文的关系图像的加载与绘制说明代码说明画板创建 canvas绘制及渲染 在wxml添加对应的canvas标签代码,并在j…

混合精度训练说明

什么是混合精度训练?混合精度训练有什么用? 这里总结一下。 本文总结自kapathy的build gpt2 通常在训练过程中,model里面的数据默认都是torch.float32类型, 也就是用32bit的float型数据表示变量。 比如特征提取中提取的特征&…

draw.io 导出svg图片插入word后模糊(不清晰 )的解决办法

通常我们将图片从draw.io导出为svg格式后插入word, 会发现字体不清晰,特别是使用宋体时,折腾了半天,得到如下办法: 方法1: 在draw.io中导出pdf文件,使用 PDF转SVG转换器 - SVGConverter 将其转换为svg, 完美呈现。 …

ARM学习(38)多进程多线程之间的通信方式

ARM学习(38)ARM学习(38)多进程多线程之间的通信方式 一、问题背景 笔者在调试模拟器的时候,碰到进程间通信的问题,一个进程在等另外一个进程ready的时候,迟迟等不到,然后通过调试发现,另外一个进程变量已经变化了,但是当前进程变量没变化,需要了解进程间通信的方式…

【动手学运动规划】 5.2 数值优化基础:梯度下降法,牛顿法

朕四季常服, 不过八套. — 大明王朝1566 道长 🏰代码及环境配置:请参考 环境配置和代码运行! 上一节我们介绍了数值优化的基本概念, 让大家对最优化问题有了基本的理解. 那么对于一个具体的问题, 我们应该如何求解呢? 这一节我们将介绍几个基本的求解…

24-12-22 pytorch学习 基础知识 帝乡明日到,犹自梦渔樵。

文章目录 pytorch学习 基础知识pytorch学习(1) Tensors1.1 初始化Tensor1.2 Tensor 的属性1.3 Tensors 的操作1.4 与 NumPy 的桥梁1.4.1 Tensor 到 NumPy 数组1.4.2 NumPy 数组 到 Tensor pytorch学习(2) 数据集和数据加载器2.1 加载一个数据集2.2 迭代和可视化数据集2.3 为你的…

Linux网络功能 - 服务和客户端程序CS架构和简单web服务示例

By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 目录 概述准备工作扫描服务端有那些开放端口创建客户端-服务器设置启动服务器和客户端进程双向发送数据保持服务器进程处于活动状态设置最小…

M3D: 基于多模态大模型的新型3D医学影像分析框架,将3D医学图像分析从“看图片“提升到“理解空间“的层次,支持检索、报告生成、问答、定位和分割等8类任务

M3D: 基于多模态大模型的新型3D医学影像分析框架,将3D医学图像分析从“看图片“提升到“理解空间“的层次,支持检索、报告生成、问答、定位和分割等8类任务 论文大纲理解1. 确认目标2. 分析过程(目标-手段分析)核心问题拆解 3. 实…

【102. 二叉树的层序遍历 中等】

题目: 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:[[3],[9,20],[15,7]] 示例…

第四届电气工程与控制科学

重要信息 官网:www.ic2ecs.com 时间:2024年12月27-29日 简介 第四届电气工程与控制科学定于2024年12月27-29日在中国南京召开。主要围绕“电气工程“、”控制科学“、”机械工程“、”自动化”等主题展开,旨在为从电…

监控易在汽车制造行业信息化运维中的应用案例

引言 随着汽车制造行业的数字化转型不断深入,信息化类IT软硬件设备的运行状态监控、故障告警、报表报告以及网络运行状态监控等成为了企业运维管理的关键环节。监控易作为一款全面、高效的信息化运维管理工具,在汽车制造行业中发挥着重要作用。本文将结合…

大模型+安全实践之春天何时到来?

引子:距《在大模型实践旅途中摸了下上帝的脚指头》一文发布近一年,2024年笔者继续全情投入在大模型+安全上,深度参与了一些应用实践,包括安全大模型首次大规模应用在国家级攻防演习、部分项目的POC直到项目落地,也推动了一些场景安全大模型应用从0到3的孵化上市。这一年也…

大小端存储的问题

请你用C语言写一个简单的程序&#xff0c;判断你使用的主机是大端存储还是小端存储 #include <stdio.h> int main(){int x 0x11223344;char *p (char *)&x;if(0x44 *p){printf("小端\n");}else if(0x11 *p){printf("大端\n");}return 0; }

山景BP1048增加AT指令,实现单片机串口控制播放音乐(一)

1、设计目的 山景提供的SDK是蓝牙音箱demo&#xff0c;用户使用ADC按键或者IR遥控器&#xff0c;进行人机交互。然而现实很多场景&#xff0c;需要和单片机通信&#xff0c;不管是ADC按键或者IR接口都不适合和单片机通信。这里设计个AT指令用来和BP1048通信。AT指令如下图所示…

EMC VMAX/DMX 健康检查方法

近期连续遇到2个由于对VMAX存储系统没有做及时的健康检查&#xff0c;出现SPS电池故障没有及时处理&#xff0c;然后同一pair就是同一对的另外一个SPS电池再次出现故障&#xff0c;然后存储系统保护性宕机vault&#xff0c;然后业务系统挂掉的案例。 开始之前&#xff0c;先纠…

51c大模型~合集94

我自己的原文哦~ https://blog.51cto.com/whaosoft/12897659 #D(R,O) Grasp 重塑跨智能体灵巧手抓取&#xff0c;NUS邵林团队提出全新交互式表征&#xff0c;斩获CoRL Workshop最佳机器人论文奖 本文的作者均来自新加坡国立大学 LinS Lab。本文的共同第一作者为上海交通大…

移动魔百盒中的 OpenWrt作为旁路由 安装Tailscale并配置子网路由实现在外面通过家里的局域网ip访问内网设备

移动魔百盒中的 OpenWrt作为旁路由 安装Tailscale并配置子网路由实现在外面通过家里的局域网ip访问内网设备 一、前提条件 确保路由器硬件支持&#xff1a; OpenWrt 路由器需要足够的存储空间和 CPU 性能来运行 Tailscale。确保设备架构支持 Tailscale 二进制文件&#xff0c;例…

Webpack学习笔记(4)

1.缓存 可以通过命中缓存降低网络流量&#xff0c;是网站加站速度更快。 然而在部署新版本时&#xff0c;不更改资源的文件名&#xff0c;浏览器可能认为你没有更新&#xff0c;所以会使用缓存版本。 由于缓存存在&#xff0c;获取新的代码成为问题。 接下来将配置webpack使…

java抽奖系统(八)

9. 抽奖模块 9.1 抽奖设计 抽奖过程是抽奖系统中最重要的核⼼环节&#xff0c;它需要确保公平、透明且⾼效。以下是详细的抽奖过程设计&#xff1a; 对于前端来说&#xff0c;负责控制抽奖的流程&#xff0c;确定中奖的人员 对于后端来说&#xff1a; 接口1&#xff1a;查询完…