自然语言处理: 第二十八章大模型基底之llama3

项目地址: meta-llama/llama3: The official Meta Llama 3 GitHub site

前言

LLaMa系列一直是人们关注的焦点,Meta在4月18日发布了其最新大型语言模型 LLaMA 3。该模型将被集成到其虚拟助手Meta AI中。Meta自称8B和70B的LLaMA 3是当今 8B 和 70B 参数规模的最佳模型,并在推理、代码生成和指令跟踪方面有了很大进步。(对LLaMa系列有兴趣的可以看看我上一篇博客第二十一章大模型基底之llama1以及第二十二章大模型基底之llama2)

相比与LLaMa2, LLaMa3主要进行了下面几点突破:

  • 扩大词汇量: Llama 3 的词汇量从 Llama 128,256 的 2 个令牌增加到 32,000 个令牌。此增强功能支持更高效的输入和输出文本编码,并增强了其多语言功能。
  • 扩展上下文长度: Llama 3 模型提供 8,000 个令牌的上下文长度,是 Llama 4,090 支持的 2 个令牌的两倍。这种增加允许更广泛的内容处理,包括用户提示和模型响应。
  • 升级后的训练数据: Llama 3 的训练数据集比 Llama 2 大七倍,其中代码量多四倍。它包含超过 5% 的高质量非英语数据,涵盖 30 多种语言,这对于多语言应用支持至关重要。这些数据使用启发式和 NSFW 过滤器、语义重复数据删除和文本分类器等先进技术进行严格的质量控制。
  • 精细化指令调整和评估: 与 Llama 2 不同,Llama 3 采用先进的指令调优技术,包括监督微调 (SFT)、拒绝采样、近端策略优化 (PPO) 和直接策略优化 (DPO)。为了增强这一过程,引入了新的高质量人类评估集,由 1,800 个提示组成,涵盖建议、头脑风暴、分类、编码等不同用例,确保对模型功能的全面评估和微调。
  • 先进的人工智能安全: Llama 3 与 Llama 2 一样,采用了严格的安全措施,例如指令微调和全面的红队,以降低风险,特别是在网络安全和生物威胁等关键领域。为了支持这些努力,Meta 还推出了 Llama Guard 2,它是在 Llama 8 的 3B 版本上进行微调的。这个新模型增强了 羊驼卫士系列 通过对 LLM 输入和响应进行分类来识别潜在的不安全内容,使其成为生产环境的理想选择



一. 模型性能

目前发布的是早期版本,包括 8B 和 70B 大小两个不同版本。目前发布的LLaMA 3仅支持文本输入和输出,今年晚些会发布405B(也称400B)和多模态版本。
在这里插入图片描述


Llama 3 8B 在 MMLU、ARC、DROP 和 HumanEval 等 9 个基准测试中,优于具有相似参数数量的其他开源模型,例如 Mistral 的 Mistral 7B 和 Google 的 Gemma 7B。 Llama 3 70B 超越了 Claude 3 Sonnet,并可与 Google 的 Gemini 1.5 Pro 匹敌。 在目前的lmsys排名中排名第5,开源模型榜单排名第一。

在这里插入图片描述

LLaMa3 还与Claude Sonnet、Mistral Medium 和 GPT-3.5进行了人工评价上的对比,其性能如下:

在这里插入图片描述



二. 模型架构

根据官方文档介绍: LlaMa3 选择了相对标准的纯解码器转换器架构。与 LlaMa32 相比,进行了几项关键改进。

1)LLaMA 3具有 128K词汇量大小的Tokenizer,可以更有效的对文本进行编码,从而显着提高模型性能。

2)8B 和 70B 的LLaMA3都采用了分组查询注意力 (GQA)机制,以提高Inference速度。(LLaMA 2 70B也采用了GQA)

3)在8,192 个Token的较长序列上训练模型,使用掩码机制确保自注意力不会跨越文档边界。需要注意的是LLaMA 3采用了8K Token进行训练,并不代表只能生成8K Token以内文本。(LLaMA 2 为4096)



LlaMa3 和LLaMa2 同样选择了GQA 和 RoPE 这两个关键技术,有关于这两点技术的优点可以参考我笔者之前关于LLaMa2的介绍。

三. 模型训练

3.1 训练数据集

Llama 3 在超过 15T tokens上进行了预训练,这些tokens都是从公开来源收集的。我们的训练数据集比 Llama 2 使用的数据集大 7 倍,包含的代码是 Llama 2 的 4 倍。为了应对即将到来的多语言用例,Llama 3 预训练数据集的 5% 以上由涵盖 30 多种语言的高质量非英语数据组成。

Meta使用一系列数据清洗方法,包括使用启发式过滤器、NSFW 过滤器、语义重复数据删除方法和文本分类器来预测数据质量。其中LLaMA 2 为LLaMA 3 提供文本质量分类器的训练数据


3.2 预训练

为了在 Llama 3 模型中有效地利用预训练数据,Meta为下游基准评估制定了一系列详细的扩展法则。这些缩放定律使我们能够选择最佳的数据组合,并就如何最好地使用我们的训练计算做出明智的决策。重要的是,缩放定律允许我们在实际训练模型之前预测最大模型在关键任务上的性能(例如,在 HumanEval 基准测试中评估的代码生成——见上文)。这有助于我们确保最终模型在各种用例和功能中具有强大的性能。

举个例子: 虽然 8B 参数模型的 Chinchilla 最优训练计算量对应于 ~200B 标记,即使在模型使用两个数量级的数据进行训练后,模型性能仍在继续提高。我们的 8B 和 70B 参数模型在我们对高达 15T 的token进行训练后,继续对数线性改进。较大的模型可以与这些较小模型的性能相匹配,但训练计算较少,但通常首选较小的模型,因为它们在推理过程中效率更高。

在这里插入图片描述


LLaMA 3在H100-80GB 的GPGPU上训练(TDP 为 700W),8B和70B的模型训练累计使用了 770 万个 GPGPU 时长。训练过程使用了3种并行加速:数据并行、模型并行和管道并行。在 16000个 GPU 上进行训练时,可实现每个 GPU 超过 400 TFLOPS 的计算利用率。(需要注意H100的稠密算力约为2000TFLOPS)


Meta还开发了一种先进的训练堆栈,可以自动执行错误检测、处理和维护。改进了硬件可靠性和静默数据损坏检测机制,并开发了新的可扩展存储系统,以减少检查点和训练回滚的开销。


以上这些改进使总体有效培训时间超过 95%,训练效率比 Llama 2 提高了约3倍。



3.3 指令微调

为了在聊天用例中充分释放预训练模型的潜力,我们还对指令调整方法进行了创新。我们的后培训方法是监督微调 (SFT)、拒绝抽样、近端策略优化 (PPO) 和直接偏好优化 (DPO) 的组合。SFT 中使用的提示的质量以及 PPO 和 DPO 中使用的偏好排名对对齐模型的性能有很大影响。我们在模型质量方面的一些最大改进来自于仔细管理这些数据,并对人工注释者提供的注释执行多轮质量保证。

通过 PPO 和 DPO 从偏好排名中学习也大大提高了 Llama 3 在推理和编码任务上的表现。我们发现,如果你问一个模型一个它难以回答的推理问题,模型有时会产生正确的推理痕迹:模型知道如何产生正确的答案,但它不知道如何选择它。对偏好排名的训练使模型能够学习如何选择它。

在这里插入图片描述



总结:

LLaMa系列是Meta公司开源的最强模型,但是由于LLaMa3是近期发布的,具体的技术论文Meta还没有公开后续如果公开的话,技术细节会继续更新。 根据现有的资料,咱们可以发现:

  1. 高质量数据集以及数据量的重要性, 超过7倍的预训练数据
  2. 大模型标配 RoPE 以及 GQA 增加推理速度以及提高性能
  3. RLHF(对齐训练的重要性)

最后让我们期待以下Meta在年底发布的LLaMa3的后续版本。






参考资料:

陈巍:LLaMA3大模型技术全网最全解析——模型架构与训练方法(收录于GPT-4/ChatGPT技术与产业分析) - 知乎 (zhihu.com)

揭晓 Meta Llama 3:大型语言模型的飞跃 - Unite.AI

Meta Llama 3 简介:迄今为止最有能力的公开产品LLM — Introducing Meta Llama 3: The most capable openly available LLM to date

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

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

相关文章

npm install 卡在still idealTree buildDeps不动

前言 再使用npm install 安装包依赖时 发现一直卡住 停留在 观察node_cache下的_logs文件 发现一直在拉取包 37 silly idealTree buildDeps 38 silly fetch manifest riophae/vue-treeselect0.4.0尝试解决 尝试设置了taobao镜像源 依然如此 获取已经设置的镜像源 确实是ta…

图像哈希:全局+局部提取特征

文章信息 作者:梁小平,唐振军期刊:ACM Trans. Multimedia Comput. Commun. Appl(三区)题目:Robust Hashing via Global and Local Invariant Features for Image Copy Detection 目的、实验步骤及结论 目…

学习Rust的第10天:枚举和模式匹配

今天我们来看看一个类似的概念 enums 。 Enums: We saw that in Rust, enums are data types that list possible values, giving a simple and type-safe mechanism to describe alternatives. We looked at how to create enums and use them to represent similar possibili…

webpack中mode、NODE_ENV、DefinePlugin、cross-env的使用

本文讲的全部知识点,都是和webpack相关的。如果你之前有疑问,那本文一定能帮你搞清楚。 问题来源一般是类似下面代码(webpack.json中): "scripts": {"dev": "cross-env NODE_ENVdevelopmen…

opencv android 使用笔记

目录 获取app路径: 下载:OpenCV-android-sdk cmakelist配置: 头文件路径: 编译报错:clang: error: linker command failed with exit code 1 (use -v to see invocation) 读取图片例子 保存mp4 获取app路径&am…

自定义一个RedisTemplate

1.引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency><groupId>redis.clients</groupId><artifactId>jedis&…

springcloud Ribbon的详解

1、Ribbon是什么 Ribbon是Netflix发布的开源项目&#xff0c;Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的框架。 2、Ribbon能干什么 LB负载均衡(Load Balance)是什么&#xff1f;简单的说就是将用户的请求平摊的分配到多个服务上&#xff0c;从而达…

<前端>Electron-builder为公证后的app打更新信息latest.yml

MacOS下&#xff0c;Electron-builder可以很方便的为测试包app打更新信息&#xff08;latest-mac.yml&#xff09;。 但是&#xff0c;正式发布的时候&#xff0c;不可能用测试包app&#xff0c;因为还没有进行公证。如何为公证的app打latest-mac.yml呢。 其实观察latest-mac.y…

Keil和VSCode协同开发STM32程序

系列文章 STM32单片机系列专栏 C语言术语和结构总结专栏 文章目录 1. 配置环境 2. 测试打开工程 3. 测试编译工程 随着项目的复杂度上升&#xff0c;开发者不仅需要强大的硬件支持&#xff0c;还需要一个高效和灵活的开发环境。 vscode是一款集成大量可以便携开发插件的代码…

C++中的list类模拟实现

目录 list类模拟实现 list类节点结构设计 list类非const迭代器结构设计 迭代器基本结构设计 迭代器构造函数 operator()函数 operator*()函数 operator!()函数 operator(int)函数 operator--()函数 operator--(int)函数 operator()函数 operator->()函数 list…

TiDB 6.x 新特性解读 | Collation 规则

对数据库而言&#xff0c;合适的字符集和 collation 规则能够大大提升使用者运维和分析的效率。TiDB 从 v4.0 开始支持新 collation 规则&#xff0c;并于 TiDB 6.0 版本进行了更新。本文将深入解读 Collation 规则在 TiDB 6.0 中的变更和应用。 引 这里的“引”&#xff0c;…

Modbus转Profinet网关接称重设备与工控机通讯

Modbus转Profinet网关&#xff08;XD-MDPN100&#xff09;是一种能够实现Modbus协议和Profinet协议之间转换的设备。Modbus转Profinet网关可提供单个或多个RS485接口&#xff0c;使得不同设备之间可以顺利进行通信&#xff0c;进一步提升了工业自动化程度。 通过使用Modbus转Pr…

相亲平台app小程序

相亲平台app小程序是一种基于手机应用的微型程序&#xff0c;专为在线相亲交友活动设计。它提供了一系列的功能&#xff0c;旨在帮助用户更方便、更高效地找到心仪的伴侣。 首先&#xff0c;用户可以在个人资料部分上传照片、填写个人资料、设置兴趣爱好等信息&#xff0c;以便…

Electron+Vue3+ElectronForge整合 - 打包时整合 -分步打包

说明 本文介绍一下 Electron Vue3 的打包整合的基本操作。实现的效果是 &#xff1a; 1、一个正常的Vue3项目&#xff1b; 2、整合加入 Electron 框架 &#xff1a;开发时 Electron 加载的是开发的vue项目&#xff1b; 3、完成打包时整合&#xff1a;3.1 先完成vue3项目的正常…

Laravel 6 - 第十一章 中间件

​ 文章目录 Laravel 6 - 第一章 简介 Laravel 6 - 第二章 项目搭建 Laravel 6 - 第三章 文件夹结构 Laravel 6 - 第四章 生命周期 Laravel 6 - 第五章 控制反转和依赖注入 Laravel 6 - 第六章 服务容器 Laravel 6 - 第七章 服务提供者 Laravel 6 - 第八章 门面 Laravel 6 - …

深度解析:云计算的三宝——IaaS、PaaS和SaaS

4月22日&#xff0c;腾讯宣布旗下协作SaaS产品全面接入腾讯混元大模型&#xff0c;除去企业微信、腾讯会议、腾讯文档等“一门三杰”产品&#xff0c;腾讯乐享、腾讯电子签、腾讯问卷、腾讯云AI代码助手等协作SaaS产品也都已实现智能化升级。大模型应用落地再加速。 那么什么是…

2024年深圳杯东三省数学建模联赛A题论文首发第二种思路

深圳杯A题论文代码分享资料链接&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1L2NVgoefSW-yuqZjEB3wcw 提取码&#xff1a;sxjm 问题一 数据转换&#xff1a; 首先&#xff0c;我们将监测站的经纬度坐标转换为基于米的笛卡尔坐标系。这是因为在地面上的大尺度距离…

HarmonyOS开发案例:【音乐播放器】

介绍 使用ArkTS语言实现了一个简易的音乐播放器应用&#xff0c;主要包含以下功能&#xff1a; 播放应用中的音频资源文件&#xff0c;并可进行上一曲、下一曲、播放、暂停、切换播放模式&#xff08;顺序播放、单曲循环、随机播放&#xff09;等操作。结合后台任务管理模块&…

安全小课堂丨什么是暴力破解?如何防止暴力破解

什么是暴力破解&#xff1f; 暴力破解也可称为穷举法、枚举法&#xff0c;是一种比较流行的密码破译方法&#xff0c;也就是将密码进行一一推算直到找出正确的密码为止。比如一个6位并且全部由数字组成的密码&#xff0c;可能有100万种组合&#xff0c;也就是说最多需要尝试10…

JWT原理解析

一、概述 虽然现在很多的开发框架会支持JWT的使用&#xff0c;但是对JWT还是没有一个详细的了解&#xff0c;有很多疑惑&#xff1a; JWT比之前的session或者token有什么好处&#xff1f;JWT的构成元素是什么&#xff1f;JWT从生成到使用的详细流程&#xff1f; 二、 JWT 2…