The Llama 3 Herd of Models.Llama 3 模型论文全文

news2024/11/13 22:01:28

        

        现代人工智能(AI)系统是由基础模型驱动的。本文提出了一套新的基础模型,称为Llama 3。它是一组语言模型,支持多语言、编码、推理和工具使用。我们最大的模型是一个密集的Transformer,具有405B个参数和多达128K个tokens的上下文窗口。本文对Llama 3进行了广泛的实证评价。我们发现Llama 3在大量任务上提供了与领先的语言模型(如GPT-4)相当的质量。我们公开发布了Llama 3,包括405B参数语言模型的预训练和后训练版本,以及用于输入和输出安全的Llama Guard 3模型。本文还介绍了我们通过合成方法将图像、视频和语音功能集成到Llama 3中的实验结果。我们观察到这种方法在图像、视频和语音识别任务上与最先进的方法相比具有竞争力。最终的模型还没有被广泛发布,因为它们仍在开发中。

1 Introduction 介绍

        基础模型是语言、视觉、语音和/或其他模式的通用模型,旨在支持各种各样的人工智能任务。它们构成了许多现代人工智能系统的基础。

        现代基础模型的发展包括两个主要阶段:(1)预训练阶段,在这个阶段,模型使用直接的任务进行大规模的训练,比如下一个单词预测或字幕;(2)后训练阶段,在这个阶段,模型被调整到遵循指令,与人类偏好保持一致,并提高特定的能力(例如,编码和推理)。

        在本文中,我们提出了一套新的语言基础模型,称为Llama 3。Llama 3的模型群支持多语言、编码、推理和工具使用。我们最大的模型是具有405B个参数的密集Transformer,在多达128Ktokens的上下文窗口中处理信息。Llama 3 的每个成员列在表1中。本文给出的所有结果都是针对Llama 3.1模型的,为了简单起见,我们将其称为Llama 3。

        我们相信在开发高质量的基础模型中有三个关键的杠杆:数据、规模和管理复杂性。在我们的开发过程中,我们寻求优化这三个杠杆:

                •数据。与之前版本的Llama相比(Touvron等人,2023a,b),我们提高了用于预训练和后训练的数据的数量和质量。这些改进包括为训练前数据开发更仔细的预处理和管理管道,为训练后数据开发更严格的质量保证和过滤方法。我们在大约15T多语言标记的语料库上对Llama 3进行了预训练,而Llama 2的标记为1.8T。

                •规模。我们以比以前的Llama模型大得多的规模训练模型:我们的旗舰语言模型使用3:8 × 1025 FLOPs进行预训练,几乎比Llama 2的最大版本多50倍。具体来说,我们在15.6T文本令牌上预训练了一个具有405B个可训练参数的旗舰模型。对于基础模型的缩放定律,我们的旗舰模型优于使用相同过程训练的较小模型。虽然我们的缩放定律表明我们的旗舰模型对于我们的训练预算来说是一个近似于计算最优的大小,但我们训练较小的模型的时间也比计算最优的时间长得多。在相同的推理预算下,所得模型比计算最优模型表现得更好。我们使用旗舰模型在后期训练中进一步提高那些较小模型的质量。

                •管理复杂性。我们做出的设计选择是为了最大化我们扩展模型开发过程的能力。例如,我们选择了标准的密集Transformer模型架构(Vaswani等人,2017),并进行了较小的调整,而不是选择混合专家模型(Shazeer等人,2017),以最大限度地提高训练稳定性。同样,我们采用了一个相对简单的训练后程序,基于监督微调(SFT)、拒绝抽样(RS)和直接偏好优化(DPO;Rafailov等人(2023)),而不是更复杂的强化学习算法(Ouyang等人,2022;Schulman等人,2017),往往不太稳定,难以扩展。

        Llama 3是一组具有8B、70B和405B参数的三种多语言模型。我们在大量的基准数据集上评估了Llama 3的性能,这些数据集涵盖了广泛的语言理解任务。此外,我们进行了广泛的人类评估,将Llama 3与竞争模型进行比较。旗舰Llama 3模型在关键基准测试上的性能概述见表2。我们的实验评估表明,我们的旗舰模型在各种任务中的表现与领先的语言模型(如GPT-4 (OpenAI, 2023a))相当,并且接近于最先进的水平。我们的小型模型是同类中最好的,优于具有相似参数数量的替代模型(Bai等人,2023;Jiang et al, 2023)。Llama 3也提供了比它的前辈更好的平衡在帮助和无害(Touvron等人,2023b)。我们在第5.4节中详细分析了Llama 3的安全性。

        我们将在更新版本的Llama 3社区许可下公开发布所有三款Llama 3模型;见https://llama.meta.com。这包括我们的405B参数语言模型的预训练和后训练版本,以及用于输入和输出安全的新版本的Llama Guard模型(Inan等人,2023)。

        我们希望旗舰模型的公开发布将激发研究界的创新浪潮,并加速人工通用智能(AGI)发展的负责任道路。

        作为Llama 3开发过程的一部分,我们还开发了模型的多模态扩展,支持图像识别、视频识别和语音理解功能。这些模型仍在积极开发中,尚未准备好发布。除了我们的语言建模结果外,本文还介绍了我们对这些多模态模型的初步实验结果。

2 General Overview 总体概述

        Llama 3的模型体系结构如图1所示。我们的Llama 3语言模型的开发包括两个主要阶段:

                •语言模型预训练。我们首先将大型多语言文本语料库转换为离散tokens,并在结果数据上预训练大型语言模型(LLM)以执行下一个token预测。在语言模型预训练阶段,模型学习语言的结构,从它所“阅读”的文本中获得大量关于世界的知识。为了有效地做到这一点,需要大规模地进行预训练:我们使用8K个tokens的上下文窗口,在15.6个token上预训练一个具有405B个参数的模型。这个标准的预训练阶段之后是一个持续的预训练阶段,将支持的上下文窗口增加到128K个tokens。详细信息请参见第3节。

                •语言模型后训练。预训练的语言模型对语言有丰富的理解,但它还没有按照我们期望的助手的方式执行指令或行为。我们将模型与人类反馈进行了几轮调整,每一轮都涉及指令调整数据的监督微调(SFT)和直接偏好优化(DPO);Rafailov et al, 2024)。在这个培训后2阶段,我们还集成了新的能力,例如工具使用,并观察到其他领域的强大改进,例如编码和推理。详细信息请参见第4节。最后,在培训后阶段也将安全缓解措施纳入模型,其细节见第5.4节。

        生成的模型具有丰富的功能集。他们可以用至少八种语言回答问题,编写高质量的代码,解决复杂的推理问题,并使用部署即用的工具或以零样本的方式使用工具。

        我们还进行了实验,其中我们使用合成方法为Llama 3添加图像,视频和语音功能。我们研究的方法包括图28所示的三个附加阶段:

                •多模态编码器预训练。我们为图像和语音分别训练编码器。我们在大量的图像-文本对上训练图像编码器。这教会了模型视觉内容和自然语言描述内容之间的关系。我们的语音编码器是用自监督方法,屏蔽部分语音输入,并试图通过离散tokens表示重建被屏蔽的部分。因此,该模型学习语音信号的结构。关于图像编码器的详细信息参见第7节,关于语音编码器的详细信息参见第8节。

                •视觉适配训练。我们训练了一个适配器,将预训练的图像编码器集成到预训练的语言模型中。适配器由一系列跨注意层组成,这些层将图像编码器表示

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

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

相关文章

【Django】前端技术HTML常用标签(开发环境vscode)

文章目录 安装两个常用插件HTML常用标签定义文档类型DOCTYPE网页的结构html/head//title/body/div标题h1/h2/h3/h4/h5分割线hr段落 p列表ul/li,ol/li超链接a文本span图片img按钮button表格table(table、tr、th、td)表单form 安装两个常用插件…

深度学习环境配置——总结下近期遇到的”坑“

文章目录 1. 问题1:硬件选择的误区2. 问题2:操作系统的适配难题3. 问题3:深度学习框架的安装陷阱4. 问题4:CUDA与cuDNN的版本匹配问题5. 问题5:网络配置的瓶颈6. 问题6:数据预处理的技巧7. 问题7&#xff1…

CVPR`24 | 4D编辑哪家强?浙大首次提出通用指导4D编辑框架:Instruct 4D-to-4D

文章链接:https://arxiv.org/pdf/2406.09402 项目地址:https://immortalco.github.io/Instruct-4D-to-4D/ 今天和大家一起学习的是Instruct 4D-to-4D,可以通过2D扩散模型实现4D感知和时空一致性,以生成高质量的指令引导的动态场景…

用户使用算力共享平台流程

目录 用户使用算力共享平台流程 一、用户注册与认证 二、接入算力资源 三、任务发布与管理 四、商业调度与资源分配 五、任务执行与结果验证 六、支付与结算 七、评价与信誉建立 算力架构概述 “以案赋能” | 首届“华彩杯”算力应用创新大赛全国总决赛获奖案例选编

【JUC】Java锁介绍

文章目录 阿里锁开发规范乐观锁和悲观锁悲观锁乐观锁 synchronized 类锁、对象锁synchronized有三种应用方式锁相关的8种案例演示(对象锁、类锁)标准访问ab两个线程,请问先打印邮件还是短信?sendEmail钟加入暂停3秒钟,…

【Python机器学习】决策树的构造——递归构建决策树

我们可以采用递归的原则处理数据集,递归结束的条件是:程序遍历完所有划分数据集的属性,或者每个分支下的所有实例都具有相同的分类。如果所有实例具有相同的分类,则得到一个叶子节点或者终止块。任何到达叶子节点的数据必然属于叶…

软考:软件设计师 — 7.软件工程

七. 软件工程 1. 软件工程概述 (1)软件生存周期 (2)软件过程 软件开发中所遵循的路线图称为 "软件过程"。 针对管理软件开发的整个过程,提出了两个模型:能力成熟度模型(CMM&#…

uniapp引入自定义图标

目录 一、选择图标,加入购物车 二、下载到本地 三、导入项目 四、修改字体引用路径 五、开始使用 这里以扩展iconfont图标为例 官网:iconfont-阿里巴巴矢量图标库 一、选择图标,加入购物车 二、下载到本地 直接点击下载素材&#xff0…

mysql中You can’t specify target table for update in FROM clause错误

mysql中You can’t specify target table for update in FROM clause错误 You cannot update a table and select directly from the same table in a subquery. mysql官网中有这句话,我们不能在一个语句中先在子查询中从某张表查出一些值,再update这张表…

matplotlib 画图函数,最常用的

并排显示2个图片 import os import numpy as np from PIL import Image import matplotlib.pyplot as pltimage1 Image.open(a.png) image2 Image.open(a2.png)# Create a figure with two subplots (1 row, 2 columns) fig, axes plt.subplots(1, 2, figsize(10, 5))# Di…

使用Log4Net和中间件记录接口访问日志

一、功能概述 Log4Net log4net 是一个用于.NET应用程序的日志记录框架。它允许开发人员在他们的应用程序中记录各种信息,以便追踪应用程序的运行状态、排查问题和分析性能。log4net的主要作用包括: 日志记录: 记录应用程序的运行时信息,如调…

【单片机毕业设计选题24081】-路灯无线数据采集器

系统功能: 手机开启2.4G WiFi热点后再给系统上电 系统操作说明: 上电后OLED显示 “欢迎使用智能路灯系统请稍后”,两秒后显示Connecting...表示 正在连接阿里云,正常连接阿里云后显示第一页面,如长时间显示Connecting...请 检…

复现open-mmlab的mmsegmentation详细细节

复现open-mmlab的mmsegmentation详细细节 1.配置环境2.数据处理3.训练 1.配置环境 stage1:创建python环境 conda create --name openmmlab python3.8 -y conda activate openmmlabstage2:安装pytorch(这里我是以torch1.10.0为例&#xff09…

昇思25天学习打卡营第22天|Pix2Pix实现图像转换

Pix2Pix图像转换学习总结 概述 Pix2Pix是一种基于条件生成对抗网络(cGAN)的深度学习模型,旨在实现不同图像风格之间的转换,如从语义标签到真实图像、灰度图到彩色图、航拍图到地图等。这一模型由Phillip Isola等人在2017年提出&…

《0基础》学习Python——第二十四讲__爬虫/<7>深度爬取

一、深度爬取 深度爬取是指在网络爬虫中,获取网页上的所有链接并递归地访问这些链接,以获取更深层次的页面数据。 通常,一个简单的爬虫只会获取到初始页面上的链接,并不会进一步访问这些链接上的其他页面。而深度爬取则会不断地获…

vue3 父组件 props 异步传值,子组件接收不到或接收错误

1. 使用场景 我们在子组件中通常需要调用父组件的数据,此时需要使用 vue3 的 props 进行父子组件通信传值。 2. 问题描述 那么此时问题来了,在使用 props 进行父子组件通信时,因为数据传递是异步的,导致子组件无法成功获取数据…

idea设置类注释模板作者、日期、描述等信息

文章目录 前言一、新建类的时候自动添加类注释1.打开设置2.模版配置示例如下3.实际生成效果 前言 由于每次换电脑时都需要重新对idea进行设置,为了方便大家的开发配置,同时也为自己以后配置留一份记录(毕竟每次换环境都需要重新配置一遍&…

DB2 SQL Error: SQLCODE=-302, SQLSTATE=22001, SQLERRMC=null

文章目录 一、报错内容二、原因三、DB2中的VARCHAR(100)类型能存储多少汉字? 一、报错内容 Cause: com.ibm.db2.jcc.am.mo: DB2 SQL Error: SQLCODE-302, SQLSTATE22001, SQLERRMCnull, DRIVER3.58.82 ; DB2 SQL Error: SQLCODE-302, SQLSTATE22001, SQLERRMCnull,…

Aider + Llama 3.1:无需编码开发全栈APP

Llama 3.1在代码生成方面的卓越表现 在代码生成领域,Llama 3.1的表现尤为出色,几乎成为了开源模型中的佼佼者。它不仅在代码自动化和生成方面表现突出,还可以作为AI编程助手,帮助调试代码和开发完整的应用程序。在多个基准测试中…

【用最少数量的箭引爆气球】python刷题记录

R2-贪心篇. 求最小,那就尽可能地假设更多的气球y值不相同咯。 不对,气球除了y值我们随便摆,所以找尽可能多重叠的,就作为同一只箭。 class Solution:def findMinArrowShots(self, points: List[List[int]]) -> int:#贪心策略…