Llama 3问世:迄今为止的最强开源大语言模型

导语

最近Meta发布了其研发的第三代开源大语言模型Llama 3,并宣称Llama 3为迄今为止的最强开源大语言模型,本文对其进行简要学习记录。若想了解之前版本的Llama模型,可参考我之前写的论文笔记:Llama、Llama 2、CodeLlama。

要点

  • Meta Llama 3是当今最先进的开源大型语言模型,目前提供8B和70B规模的模型,还有一个405B的超大模型正在训练;
  • 训练数据规模超过15T词元(token),使用128k个词元的词表,并提供8192长度的上下文窗口;
  • Llama 3 模型提供多平台支持。Meta致力于以负责任方式开发 Llama 3,包括引入新的信任和安全工具,如 Llama Guard 2、Code Shield 和 CyberSec Eval 2;
  • 未来几个月Meta预计将推出新功能、更长的上下文窗口、额外的模型大小和增强的性能,并分享 Llama 3 的研究论文。

目标

Meta致力于通过 Llama 3构建与当今最好的专有模型媲美的最佳开源模型,在不久的将来使 Llama 3 具备多语言和多模态功能,拥有更长的上下文,并继续改进核心 LLM 能力,如推理和编码。

实验性能

Meta对8B和70B参数的 Llama 3 模型进行了评测,目前在同等参数规模下取得最佳性能(评测细节可参考:https://github.com/meta-llama/llama3/blob/main/eval_details.md )。训练过程中的改进显著降低了误拒绝率,提高了模型响应的一致性和多样性,在推理、代码生成和指令遵循等能力上大大提升。

image.png

Llama 3在开发中致力于为真实场景优化性能。为此,作者开发了一个新的高质量人工评估集。这个评估集包含 1800 个提示,涵盖了 12 个关键用例:寻求建议、头脑风暴、分类、封闭问题回答、编码、创意写作、提取、扮演角色/角色扮演、开放问题回答、推理、重写和摘要。为了防止模型在这个评估集上意外过拟合,即使是Meta自己的建模团队也无法访问它。下面的图表显示了对这些类别和提示的人工评估的汇总结果,以及对 Claude Sonnet、Mistral Medium 和 GPT-3.5 的评估。

image.png

基于这个评估集的人工注释者的偏好排名突显了 70B的指令微调模型在真实场景中相比同等大小的竞争模型表现出的强劲性能,取得同等规模的 LLM 模型中的最先进水平。

image.png

为了开发出优秀的语言模型,作者认为创新、扩展并优化简洁性是非常重要的。为此,整个 Llama 3 项目重点关注四个关键因素:模型架构预训练数据扩大预训练规模以及指令微调

image.png

模型架构(Model architecture)

Llama 3 采用一个相对标准的Decoder-only的Transformer架构。与 Llama 2 相比,进行了几个关键改进:

  • 采用词汇量为 128K 的分词器(Tokenizer),能更有效地编码语言,大大提高了模型性能;
  • 为提高推理效率,采用了分组查询注意力 (GQA,示意图见上图);
  • 使用掩码来确保自注意力不会跨越文档边界,在长度为 8,192 个词元(token)的序列上训练模型。

训练数据(Training Data)

Llama 3 在超过 15T个token上进行预训练,这些数据都是从公开可用的来源收集而来的。这个训练数据集比用于 Llama 2 的数据集大七倍,其中包括四倍于以往的代码。同时,预训练数据集包含超过 5% 的高质量非英语数据组成,涵盖了超过 30 种语言。

为确保在最高质量的数据上进行训练,作者开发了一系列数据过滤流程。包括使用启发式过滤器、不适宜工作场合的内容过滤器、语义去重方法和文本分类器来预测数据质量。作者发现以往版本的 Llama 在识别高质量数据方面出奇地优秀,因此使用 Llama 2 生成用于文本质量分类器的训练数据。

作者还进行了大量实验,评估了在最终的预训练数据集中混合来自不同来源的数据的最佳方法。这些实验使作者能够选择一种数据混合方式,确保 Llama 3 在各种用例中都表现出色,包括日常问题、STEM、编码、历史知识等。

扩大预训练规模(Scaling up Pretraining)

为有效利用预训练数据,作者付出了大量的努力来扩展预训练规模。具体而言,开发了一系列用于下游基准评估的详细扩展定律。这些扩展定律使作者能够选择最佳的数据混合方式,并对如何最有效地利用训练计算做出明智的决策。重要的是,扩展定律允许在实际训练模型之前预测最大模型在关键任务上的表现(例如,代码生成在 HumanEval 基准上的评估)。这有助于确保最终的模型在各种用例和能力方面表现出色。

image.png

在开发 Llama 3 的过程中,作者做出了几项新的扩展行为观察。例如,虽然对于 8B 参数的最佳训练计算量对应约为200B词元(参见上图,数据来自 Chinchilla论文),但作者发现,即使在模型训练了两个数量级更多的数据后,模型性能仍然会继续提升。8B和70B参数模型在进行高达 15T 词元的训练后,继续呈现对数线性的改善。更大的模型可以以更少的训练计算量达到与这些较小模型相匹配的性能,但通常更喜欢较小的模型,因为它们在推理过程中更加高效。

为训练最大的模型,作者结合了三种类型的并行化:

  • 数据并行化(Data Parallelization)
  • 模型并行化(Model Parallelization)
  • 管道并行化(Pipeline Parallelization)

在两个定制的 24K GPU 集群上进行了训练运行,并开发了一个先进的新训练堆栈,用于自动化错误检测、处理和维护。同时,还极大地改进了硬件可靠性和静默数据损坏检测机制,并开发了新的可扩展存储系统,减少了检查点和回滚的开销。这些改进使得 Llama 3 训练的整体有效时间提高了约三倍,与 Llama 2 相比,提高了训练效率。

指令微调(Instruction fine-tuning)

为了充分发挥在聊天用例中预训练模型的潜力,作者也在指令微调方法上进行了创新。作者的后训练方法是监督微调 (SFT)、拒绝抽样、近端策略优化 (PPO) 和直接偏好优化 (DPO) 的组合。在 SFT 中使用的提示质量和在 PPO 和 DPO 中使用的偏好排名对齐模型的性能有着巨大的影响。作者在模型质量方面取得的一些最大的改进来自于对这些数据进行精心策划,并对人工注释者提供的注释进行多轮质量保证。

通过 PPO 和 DPO 学习偏好排名也极大地提高了 Llama 3 在推理和编码任务上的性能。作者发现,如果向模型提出一个它难以回答的推理问题,有时模型会产生正确的推理轨迹:模型知道如何生成正确答案,但不知道如何选择它。通过偏好排名进行训练,使模型学会如何进行选择。

用Llama3构建应用

Meta的愿景是使开发者能够定制 Llama 3,以支持相关的用例,并使采用最佳实践并改进开放生态系统变得更加容易。通过此版本发布,作者提供了新的信任和安全工具,包括具有 Llama Guard 2 和 Cybersec Eval 2 的更新组件,以及引入 Code Shield —— 用于过滤由 LLMs 生成的不安全代码的推理时保护栏。

作者还与 torchtune 一起开发了 Llama 3,这是一个新的 PyTorch 原生库,用于轻松地编写、微调和实验 LLMs。torchtune 提供了内存高效和可定制的训练配方,完全使用 PyTorch 编写。该库与流行的平台集成,如 Hugging Face、Weights & Biases 和 EleutherAI,甚至支持 Executorch,可在各种移动和边缘设备上进行高效推理。无论是从提示工程到使用 Llama 3 与 LangChain,都有全面的入门指南,帮助从下载 Llama 3 到在生成式 AI 应用程序中进行规模部署。

负责任的系统级方法

作者采用了一种新的、系统级的方法来负责任地开发和部署 Llama,将 Llama 模型视为更广泛系统的一部分,这个系统让开发者处于主导地位。Llama 模型将作为一个系统的基础组成部分,开发者可以根据其独特的最终目标来设计这个系统。

image.png

在大规模部署 Llama 3

Llama 3 很快将在所有主要平台上提供,基准测试显示,分词器提供了改进的分词效率,与 Llama 2 相比,可以减少高达 15% 的token数量。此外,Group Query Attention (GQA) 现在也已经添加到了 Llama 3 8B 中。因此,尽管与 Llama 2 7B 相比,该模型的参数数量增加了 10 亿,但改进的分词器效率和 GQA 有助于保持与 Llama 2 7B 相当的推理效率。

Llama 3 的未来展望是什么?

最大的模型有超过 400B 参数并仍在训练中。在未来几个月,作者将发布多个具有新功能的模型,包括多模态性、多语言、更长的上下文窗口以及更强大的整体能力。最终完成 Llama 3 训练后还将发布详细的研究论文。这里给出了一个400B+参数的模型的检查点(Checkpoint)的性能展示(不是最终的模型)。

image.png

立即尝试 Meta Llama 3

最新模型已集成到 Meta AI 中,可以在 Facebook、Instagram、WhatsApp、Messenger 和网络上使用 Meta AI 来完成任务、学习、创作。

参考

  1. Introducing Meta Llama 3: The most capable openly available LLM to date, https://ai.meta.com/blog/meta-llama-3/
  2. The official Meta Llama 3 GitHub site, https://github.com/meta-llama/llama3

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

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

相关文章

国产电子耳标识读器GALLAGHER盖力格平替

GALLAGHER盖力格是一家总部位于新西兰的全球技术公司,在动物管理方面处于全球领先地位。KEZMO科智牧对标GALLAGHER盖力格旗下的RFID电子耳标识读器,凭借自身强劲的研发实力,研发生产了属于我们自己的国产RFID电子耳标识读器:JY-L8…

报名 | Qt汽车及工业行业解决方案及实战训练 深圳站(5月15日 星期三)

加入我们的Qt技术培训,探索跨平台应用开发的无限可能!本次培训将深入Qt框架,涵盖从基础概念到高级功能的全方位知识,无论您是刚入门的新手还是希望提升技能的资深开发者,都能在此找到适合自己的学习路径。通过实践案例…

开曼群岛:Web3企业的乐园

开曼群岛:Web3企业的理想之地 开曼群岛,在数字革命中大放异彩。近年来,该地区成立的Web3企业数量显著增加,如果保持目前的发展速度,并持续优化立法,那么扩展的速度将无可限量。本文将探讨推动这一增长的关…

代码随想录算法训练营DAY36|C++贪心算法Part.5|435.无重叠区间、763.划分字母区间、56. 合并区间

文章目录 435.无重叠区间按右边界排序CPP代码 按左边界排序如何判断相邻区间是否重叠如何判断一下一个区间与当前相邻区间是否重叠总结CPP代码 763.划分字母区间思路伪代码实现CPP代码 56. 合并区间思路CPP代码 435.无重叠区间 力扣题目链接 文章链接:435.无重叠区间…

MPC的横向控制与算法仿真实现

文章目录 1. 引言2. 模型预测控制(MPC)2.1 基础知识2.2 MPC的整体流程2.3 MPC的设计求解 3. 车辆运动学MPC设计4. 算法和仿真实现 1. 引言 随着智能交通系统和自动驾驶技术的发展,车辆的横向控制成为了研究的热点。横向控制指的是对车辆在行…

Linux--05---相对路径与绝对路径、终端的认识

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1. 相对路径与绝对路径切换到用户家目录:cd ~当前目录:./ 2. 对终端的认识3. 文件的类型颜色表示的文件类型:文件类型和权限的表…

Redis事务全解析:从MULTI到EXEC的操作指南!

【更多精彩内容,欢迎关注小米的微信公众号“软件求生”】 亲爱的粉丝朋友们,大家好!今天我们要讨论的主题是Redis的事务。Redis作为一款优秀的NoSQL数据库,凭借其高性能和灵活性广受欢迎。事务是Redis的一项关键功能,它为我们提供了一种在数据操作中确保一致性的机制。接…

每日一题---环形链表的约瑟夫问题

文章目录 前言1.题目2.解题思路2.1创建节点 2.2.创建环形链表2.3.进行遍历 4参考代码 前言 前段时间我们学习到了单链表和双向链表的相关知识,下面我们解决一道具有代表性的一个编程题。 牛客网—环形链表的约瑟夫问题 1.题目 2.解题思路 2.1创建节点 //创建节点…

CentOS 7.9.2007 中Docker使用GPU

一、安装nvidia驱动 1.1,查看显卡驱动 # 查看显卡型号 lspci | grep -i nvidia 1.2,进入 PCI devices ,输入上一步查询到的 2204 1.3,进入 官方驱动 | NVIDIA,查询 Geforce RTX 3090 驱动并下载 1.4,禁用…

【SpringBoot整合系列】SpringBoot配置多数据源

目录 背景技术选型配置多数据源思路(以两个为例)代码实现1.导入依赖2.各自的配置 3.各自的dataSourcenews数据库的smbms数据库的注意:Primary注解 4.各自的SqlSessionFactory等news数据库的smbms数据库的 5.去掉启动类头上的MapperScan6.各自的mapper接口7.各自的ma…

齐护K210系列教程(八)_LCD显示图片

LCD显示图片 文章目录 LCD显示图片1,显示单张图片2,通过按键切换显示SD卡内的图片3,通过传感器切换图片4,画中画显示,并缩放5,课程资源 联系我们 AIstart 显示的图片的默认分辨率为:320*240 &am…

「ChatGPT」掀起新一轮AI热潮!超越GPT-4 Turbo,商汤日日新大升级!

目录 拳打 GPT-4 Turbo ,脚踢 DALLE 3 端侧大模型,唯快不破 AI 应用落地需要一个即插即用的大模型超市 并不存在 AI 这个行业,只有 AI行业,强调 AI 需要与传统产业合作,这种关系是结合与赋能,而不是颠覆…