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

        

        现代人工智能(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://xiahunao.cn/news/3267625.html

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

相关文章

day06 1.算法的相关概念2.排序算法3.查找算法

一、算法的相关概念 程序 数据结构 算法 算法是程序设计的灵魂,结构是程序设计的肉体 算法:计算机解决问题的方法或步骤 1.1 算法的特性 1> 确定性:算法中每一条语句都有确定的含义,不能模棱两可 2> 有穷性:…

【Linux】从零开始认识多线程 --- 线程ID

在这个浮躁的时代 只有自律的人才能脱颖而出 -- 《觉醒年代》 1 前言 上一篇文章中讲解了线程控制的基本接口: 线程创建pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg);: pthread_t *thread :输出…

使用API有效率地管理Dynadot域名,设置过期域名抢注请求

简介 Dynadot是通过ICANN认证的域名注册商,自2002年成立以来,服务于全球108个国家和地区的客户,为数以万计的客户提供简洁,优惠,安全的域名注册以及管理服务。 Dynadot平台操作教程索引(包括域名邮箱&…

深入理解SQL中的INNER JOIN操作

本文介绍了INNER JOIN的定义、使用场景、计算方法及与其他JOIN的比较。INNER JOIN是关系数据库中常用的操作,用于返回两个表中匹配的行,只有在连接条件满足时才返回数据。本文详细解释了INNER JOIN的语法及其在一对多、多对多关系中的应用,通…

【github】使用KeepassXC 解决github Enable two-factor authentication (2FA) 第二因子认证

下载 https://github.com/keepassxreboot/keepassxc/releases/download/2.7.9/KeePassXC-2.7.9-Win64.msi 代理地址 https://dgithub.xyz/keepassxreboot/keepassxc/releases/download/2.7.9/KeePassXC-2.7.9-Win64.msi 由于该软件不允许截图,以下操作参考官网 …

如何检查代理IP地址是否被占用

使用代理IP时,有时候会发现IP仍然不可用,可能是因为已经被其他用户或者网络占用了。为了检测代理IP是否被占用,我们可以采用一些方法进行验证测试,以保证代理IP的有效性和稳定性。 1.ARP缓存方法 ARP缓存法是一种简单有效的检测代…

【Python面试题收录】Python编程基础练习题①(数据类型+函数+文件操作)

本文所有代码打包在Gitee仓库中https://gitee.com/wx114/Python-Interview-Questions 一、数据类型 第一题(str) 请编写一个Python程序,完成以下任务: 去除字符串开头和结尾的空格。使用逗号(","&#…

kotlin示例

以下代码是我写的练习程序,更好的代码可以从这里查看:代码 生日卡片 package com.example.happybirthdayimport android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.activity…

使用echo写入多行文字到文件时换行的处理

目标 想使用echo写入如下内容到文件program.c里 #include<stdio.h> int main(){printf("hello!\n"); } 需要处理 1、如何处理行换 2、代码中的换行如何处理 实际例子 创建文件夹 mkdir test cd test chmod 777 . 创建文件写入内容 查看 cat -n program.c…

Flink入门(更新中)

目录 一、Flink 1.1 基本概念 1.1.1 flink简介 1.2 flink编程模版 1.3 常用概念 1.2.1 datastream 1.2.2 算子、Task 1.2.3 多流操作 1.2.6 时间语义 二、Flink编程实战(Java) 2.1 wordcount 一、Flink 1.1 基本概念 1.1.1 flink简介 1.图片介绍 性能&#xff1a…

[练习]如何使用递归算法?

&#x1f3a5; 个人主页&#xff1a;Dikz12&#x1f525;个人专栏&#xff1a;算法(Java)&#x1f4d5;格言&#xff1a;吾愚多不敏&#xff0c;而愿加学欢迎大家&#x1f44d;点赞✍评论⭐收藏 目录 1. 递归概述 2.汉诺塔问题 题目描述​编辑 题解 代码实现 3…

package.json中对peerDependencies的理解

peerDependencies只要是用来限制依赖的&#xff0c;最近在开发的时候有遇到这样的问题&#xff0c;所以研究了一下 "peerDependencies": {"vue/composition-api": "^1.0.5","vue/runtime-core": "^3.0.0","echarts&q…

【Android】Activity生命周期与五种启动模式

文章目录 生命周期返回栈Activity状态生命周期方法 启动模式standard模式singleTask模式singleTop模式singleInstance模式singleInstancePerTask模式配置方式 生命周期 返回栈 每个Activity的状态由它在Activity栈&#xff08;又叫“回退栈back stack”&#xff09;中的位置决…

【ACM出版】2024年教育人工智能国际学术会议(ISAIE 2024,9月6-8)

2024年教育人工智能国际学术会议&#xff08;ISAIE 2024&#xff09;将于2024年9月6-8日在中国西安举行。本届会议由西京学院主办。 会议主要围绕人工智能在教育领域的最新研究成果展开&#xff0c;为来自国内外高等院校、科学研究所、企事业单位的专家、教授、学者、工程师等提…

windows安装redis设置密码、修改端口、提供外部访问

windows安装redis设置密码、修改端口、提供外部访问 一、前言1. 设置密码2. 修改端口3. 允许外部访问4. 注意事项 一、前言 设置Redis在Windows上设置密码、修改端口以及允许外部访问&#xff0c;需要进行以下步骤&#xff1a; 下载地址 https://github.com/tporadowski/redi…

快速入门Jupyter notebook

快速入门 Jupyter notebook 一、前言&#xff08;一&#xff09;优点&#xff08;二&#xff09;特点&#xff08;三&#xff09;调用运行&#xff08;四&#xff09;新建 二、认识界面快捷键&#xff08;一&#xff09;三种模式&#xff08;1&#xff09;蓝色模式&#xff1a;…

中国森林地上和地下生物量碳变化数据集(2002-2021年)

中国森林地上和地下生物量碳变化数据集&#xff08;2002-2021年&#xff09; 数据介绍 为了量化中国近期全国性恢复工作的生态后果&#xff0c;过去20年森林生物量碳储量变化的空间显性信息至关重要。然而&#xff0c;在全国范围内进行长期生物量追踪仍然具有挑战性&#xff0c…

203、移除链表元素

1、题目描述 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新的头节点 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,6,3,4,5,6], val 6 输出&#xff1a;[1,2,3,4,5]示例 2&#xff1a; 输…

基于迁移学习的手势分类模型训练

1、基本原理介绍 这里介绍的单指模型迁移。一般我们训练模型时&#xff0c;往往会自定义一个模型类&#xff0c;这个类中定义了神经网络的结构&#xff0c;训练时将数据集输入&#xff0c;从0开始训练&#xff1b;而迁移学习中&#xff08;单指模型迁移策略&#xff09;&#x…

Layui修改表格分页为英文

Layui修改表格分页为英文 1.前言2.Laypage属性 1.前言 主要记录初次使用Layui没有好好看官方文档踩坑&#xff0c;修改了源码才发现可以自定义 使用的Layui版本2.9.14 2.Laypage属性 Laypage属性中带的有自定义文本的属性 示例代码 table.render({.......page: {skipText: …