Llama 3 模型系列解析(一)

embedded/2024/12/26 17:52:54/

目录

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 的扩展模型能够:

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

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

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


http://www.ppmy.cn/embedded/148954.html

相关文章

云手机+YouTube:改变通信世界的划时代技术

随着科技的不断进步,手机作为人们生活中不可或缺的工具,也在不断地更新换代。近年来,一个名为“油管云手机”的全新产品正在引起广泛的关注和讨论。作为一个运用最新科技实现的新型手机,它在通信领域带来了全新的体验和革命性的变…

从汽车企业案例看仓网规划的关键步骤(视频版)

大家好,欢迎收看本期视频。本期内容将以汽车行业为例,带您了解仓库选址和仓网规划如何解决实际问题,以及需要注意的关键步骤。 案例描述 国内某大型汽车企业目前在全国范围内拥有十多个生产厂地和近千家供应商。这些供应商分布在多个地理区…

errant是怎么产生的

目录 1.产生errant GTID的原因2.检查errant GTID3.处理errant GTID方式一 忽略errant GTID方式二 重置从库方式三 注入空事务 在MySQL中,errant GTID(错误GTID)是指在从库上存在但在主库上不存在的GTID。 这通常是由于在从库上执行了不应存在…

Gemini 2.0:面向智能体时代的全新 AI 模型

2024年12月11日,Google 发布了 Gemini 2.0 系列的首个模型——Gemini 2.0 Flash(实验版)。凭借多模态方面的新进展以及原生工具的使用,Gemini 2.0 Flash (实验版) 能够构建新的 AI 智能体,推动了实现通用 AI 助手愿景的…

界面化管理Nginx的工具—NginxUI简介与搭建

转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。 1. NginxUI简介 1.1 NginxUI介绍 Nginx UI 是一个全新的 Nginx 网络管理界面,旨在简化 Nginx 服务器的管理和配置。…

UI自动化测试实战实例

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 今天来说说pytest吧,经过几周的时间学习,有收获也有疑惑,总之最后还是搞个小项目出来证明自己的努力不没有白费。 环境准备 1…

什么是Web Worker?如何使用Web Worker?

1. 什么是 Web Worker? JavaScript 语言采用的是单线程的,也就是说,所有任务只能在一个线程上完成,一次只能做一件事。前面的任务没做完,后面的任务只能等着。 Web Worker 是一种在浏览器中实现多线程处理的技术&…

Elasticsearch-脚本查询

脚本查询 概念 Scripting是Elasticsearch支持的一种专门用于复杂场景下支持自定义编程的强大的脚本功能,ES支持多种脚本语言,如painless,其语法类似于Java,也有注释、关键字、类型、变量、函数等,其就要相对于其他脚本高出几倍的性…