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 集群资源,能够在合理时间内完成大规模模型训练。
总结:流程简化版
-
用公式估算最优模型参数量(先估模型大小)。
-
反算训练预算(FLOPs),确保资源充足。
-
训练不同规模模型,观察损失曲线变化。
-
在计算最优点停下或决定超额训练。
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 的扩展模型能够:
-
识别图像和视频的内容。
-
支持通过语音接口与用户交互。
当前状态:这些模型仍在开发中,尚未准备好发布。
相关文章:

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…...

在 CentOS 上安装 FFmpeg
在CentOS 上安装 FFmpeg 方法一:在线安装 添加 EPEL 和 RPM Fusion 源: sudo yum install epel-release sudo yum install https://download1.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm安装 FFmpeg: sudo yu…...
Python------Pandas的数据结构
Pandas主要处理以下三个数据结构: 序列(Series) 数据帧(DataFrame) 面板(Panel) 数据结构维数描述序列11维结构,值可变,大小不变数据帧22维结构,值可变,大小可变,表结构面板3维标记,值可变…...

矩阵碰一碰发视频源码技术解析,支持OEM
一、引言 随着近场通信技术的不断发展,矩阵碰一碰发视频技术作为一种创新的交互方式,逐渐在各个领域崭露头角,如智能营销、展览展示、教育科普等场景中都有着广泛的应用前景。通过将多个碰一碰设备或感应区域组成矩阵形式,用户能够…...

【汇编语言】外中断(一)—— 外中断的魔法:PC机键盘如何触发计算机响应
文章目录 前言1. 背景介绍2. 接口芯片和端口3. 外中断信息3.1 什么是外中断信息3.2 外中断源的分类3.2.1 可屏蔽中断3.2.1.1 什么是可屏蔽中断?3.2.1.2 可屏蔽中断的处理过程 3.2.2 不可屏蔽中断3.2.2.1 什么是不可屏蔽中断?3.2.2.2 不可屏蔽中断的处理过…...

pymssql-2.1.4.dev5-cp37-cp37m-win_amd64.whl 安装
pip install pymssql 安装pymssql出现下面的问题 error: Microsoft Visual C 14.0 is required. Get it with “Microsoft Visual C Build Tools”: http://landinghub.visualstudio.com/visual-cpp-build-tools 因为要使用python连接sqlserver数据库,需要pymssq…...

在HTML中使用Vue如何使用嵌套循环把集合中的对象集合中的对象元素取出来(我的意思是集合中还有一个集合那种)
在 Vue.js 中处理嵌套集合(即集合中的对象包含另一个集合)时,使用多重 v-for 指令来遍历这些层次结构。每个 v-for 指令可以用于迭代一个特定级别的数据集,并且可以在模板中嵌套多个 v-for 来访问更深层次的数据。 例如ÿ…...

Apriori关联规则算法 HNUST【数据分析技术】(2025)
1.理论知识 Apriori是一种常用的数据关联规则挖掘方法,它可以用来找出数据集中频繁出现的数据集合。该算法第一次实现在大数据集上的可行的关联规则提取,其核心思想是通过连接产生候选项及其支持度,然后通过剪枝生成频繁项集。 Apriori算法的…...
Windows中Microsoft Edge兼容性问题|修复方案
针对Microsoft Edge浏览器在Windows系统中出现的兼容性问题解决步骤和策略: 作者是更改了注册表解决的,问题不一,大家遇到兼容性问题先按照第7个情况进行设置,大部分人是这个情况! 清理缓存和Cookies 按快捷键:ctrlshi…...

Android 蓝牙开发-传输数据
概述 传统蓝牙是通过建立REFCCOM sockect来进行通信的,类似于socket通信,一台设备需要开放服务器套接字并处于listen状态,而另一台设备使用服务器的MAC地址发起连接。连接建立后,服务器和客户端就都通过对BluetoothSocket进行读写…...

webrtc获取IceCandidate流程
在WebRTC(Web Real-Time Communication)中,ICECandidate是一个关键概念,它用于描述在建立点对点(P2P)连接时可以考虑的潜在通信端点。以下是关于WebRTC中ICECandidate的详细解释: 一、ICECandidate的定义 ICECandidate对象通常包含以下关键属性: foundation:用于唯一…...

每天40分玩转Django:Django静态文件
Django静态文件 一、今日学习内容概述 学习模块重要程度主要内容静态文件配置⭐⭐⭐⭐⭐基础设置、路径配置CDN集成⭐⭐⭐⭐⭐CDN配置、资源优化静态文件处理⭐⭐⭐⭐压缩、版本控制部署优化⭐⭐⭐⭐性能优化、缓存策略 二、基础配置 # settings.py import os# 静态文件配置…...
Linux 线程池
1.概念介绍 线程池是一种多线程处理形式,它维护着多个线程,这些线程处于等待状态,随时准备接受任务并执行。线程池的主要目的是为了提高系统的性能和资源利用率,避免在处理短时间任务时频繁创建和销毁线程所带来的开销。 线程池…...

windows使用zip包安装MySQL
windows通过zip包安装MySQL windows通过zip包安装MySQL下载MySQL的zip安装包创建安装目录和数据目录解压zip安装包创建配置目录 etc 和 配置文件 my.ini安装MySQL进入解压后的bin目录执行命令初始化执行命令安装 验证安装查看服务已安装 启动MySQL查看服务运行情况修改密码创建…...

深度学习实战之超分辨率算法(tensorflow)——ESPCN
espcn原理算法请参考上一篇论文,这里主要给实现。 数据集如下:尺寸相等即可 针对数据集,生成样本代码preeate_data.py import imageio from scipy import misc, ndimage import numpy as np import imghdr import shutil import os import…...

Android unitTest 单元测试用例编写(初始)
文章目录 了解测试相关库导入依赖库新建测试文件示例执行查看结果网页结果其他 本片讲解的重点是unitTest,而不是androidTest哦 了解测试相关库 androidx.compose.ui:ui-test-junit4: 用于Compose UI的JUnit 4测试库。 它提供了测试Compose UI组件的工具和API。 and…...
C++简明教程(10)(初识类)
类的教程 C 类的完整教程 C 中,类(class)是面向对象编程的核心概念,用于定义对象的属性(数据成员)和行为(成员函数)。本教程将带你从零开始,循序渐进地学习如何定义和使…...

光谱相机的工作原理
光谱相机的工作原理主要基于不同物质对不同波长光的吸收、反射和透射特性存在差异,以下是其具体工作过程: 一、光的收集 目标物体在光源照射下,其表面会对光产生吸收、反射和透射等相互作用。光谱相机的光学系统(如透镜、反射镜…...

【Linux进程】基于管道实现进程池
目录 前言 1. 进程池 1.1 基本结构: 1.2. 池化技术 1.3. 思路分析 1.4. 代码实现 总结 前言 上篇文章介绍了管道及其使用,本文在管道的基础上,通过匿名管道来实现一个进程池; 1. 进程池 父进程创建一组子进程,子进…...

软件测试之单元测试
🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 一、何为单测 测试有黑盒测试和白盒测试之分,黑盒测试顾名思义就是我们不了解盒子的内部结构,我们通过文档或者对该功能的理解,…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...

linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...

苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...

HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...