Meta Llama3 论文研读

news/2024/9/19 16:49:18/文章来源:https://www.cnblogs.com/CocoML/p/18420909

一、 引言概述(Intro & Overview)

Llama3是一系列基于Transformer结构的大型多语言模型,通过优化数据质量、训练规模和模型架构,旨在提升模型在各种语言理解任务中的表现。

image-20240914150718318

通过引入更优质的数据和更高效的训练方法,Llama3展示了在自然语言处理领域的巨大潜力。其创新点在于其综合了多种优化策略,以解决当前大型语言模型面临的挑战。

image-20240914150718318

二、数据集(Dataset)

技术报告里详细描述了Llama3数据准备的全过程,包括数据采集、清洗、去重和混合策略的制定。通过开发自定义的HTML解析器和启发式过滤算法,确保了训练数据的高质量和多样性。同时,通过缩放定律实验动态调整数据混合比例,以优化模型性能。

可以看出,数据准备阶段的工作显著提升了Llama3训练数据的整体质量,为后续模型的训练奠定了坚实基础。实验结果表明,高质量的训练数据对提升模型性能具有关键作用。

Meta在训练Llama3系列时,提出了一系列高效的数据预处理和质量控制方法,有效解决了大规模语言模型训练中的数据质量问题,为其他类似项目的数据准备工作提供了可借鉴的经验和方案。

Data mix summary: Our final data mix contains roughly 50% of tokens corresponding to general knowledge, 25% of mathematical and reasoning tokens, 17% code tokens, and 8% multilingual tokens. ”

三、 模型架构与训练(Infra & Training)

此部分详细介绍了Llama3的模型架构和训练方法。Llama3采用了标准的Transformer模型结构(相对于Llama2并没有变),并在此基础上进行了小幅修改以提升训练效率和推理速度。通过引入分组查询注意力机制4D并行化策略,实现了超大规模模型的高效训练。

实验结果表明,Llama3的模型架构和训练方法显著提升了模型的训练速度和推理性能。分组查询注意力机制有效降低了计算复杂度,而4D并行化策略则充分利用了现有硬件资源,实现了高效的模型训练。这二者解决了大规模语言模型训练中的关键瓶颈问题,为其他大型模型的训练提供了可复制和可扩展的技术方案。

3.1 Scaling-Law 实验

在论文中,关于缩放定律实验(Scaling law experiments)的研究采用了两阶段(two-stage)的方法论来精确预测大规模模型在下游任务中的性能。旨在解决现有缩放定律在预测大规模模型性能时存在的挑战,如只预测下一个词的预测损失而非具体基准任务的性能,以及缩放定律本身可能存在的噪声和不稳定性。

第一阶段:建立训练FLOPs下游任务负对数似然损失之间的相关性。通过在不同计算规模下预训练多个小型模型,并利用这些模型来预测大型模型在计算FLOPs相同但Tokens不同情况下的性能。

第二阶段:将下游任务的负对数似然损失与任务准确率相关联。通过结合缩放定律模型和Llama2系列模型,利用这些模型在不同计算规模下的性能数据,进一步预测大规模模型(如Llama3 405B)在特定基准任务上的准确率。

实验方法

  1. 预训练不同规模的模型:研究团队在不同计算规模下预训练了多个小型模型,包括8B、70B等参数量的模型,以获取关于计算资源(FLOPs)与模型性能之间关系的初步数据。
  2. 评估模型性能:在预训练完成后,对这些模型在多个下游基准任务上进行评估,记录它们在验证集上的负对数似然损失。
  3. 建立相关模型:利用第一阶段收集的数据,建立计算FLOPs与下游任务负对数似然损失之间的数学模型。
  4. 预测大规模模型性能:通过外推法,利用上述模型预测大规模模型(如Llama3 405B)在特定计算规模下的负对数似然损失。
  5. 结合基准任务性能:在第二阶段,将预测的负对数似然损失与下游基准任务的准确率相关联,利用Llama2系列模型在不同计算规模下的实际性能数据,进一步精确预测Llama3 405B在基准任务上的表现。

结论

image-20240914150936688

通过两阶段的方法论,研究团队成功预测了Llama3 405B在多个下游基准任务上的性能,并且预测结果与实际测试结果高度吻合。这一结果表明,该两阶段方法论在预测大规模语言模型性能方面具有高度的准确性和可靠性。此外,研究还揭示了缩放定律在不同计算规模下的稳健性,为未来大规模模型的训练和性能预测提供了有力的理论支持和实践指导。

3.2 4D 并行

image-20240914151235188

3.3 训练故障率分布

在Llama 3 405B模型为期54天的预训练期间,对意外中断的根本原因进行了分类。约78%的意外中断归因于已确认或疑似硬件问题。

image-20240914155014190

四、后训练与优化(Post-Training)

主要介绍Llama3的后训练与优化过程,包括奖励建模监督微调(SFT)直接偏好优化(DPO)。通过多消息聊天协议和复杂对话场景的支持,Llama3的交互能力得到了显著提升。同时,通过数据修剪和质量控制策略确保了高质量的训练数据输入

image-20240914161625032

可以看出,后训练与优化阶段的工作显著提高了Llama3的模型性能和用户满意度,经过后训练的Llama3在多个自然语言处理任务上的表现均达到了领先水平。

4.1 SFT

依然使用了非常高质量的数据集进行FT,数据集来源和分布如下:

image-20240915073228042
  • Prompts from our human annotation collection with rejection-sampled responses
  • Synthetic data targeting specific capabilities
  • mall amounts of human-curated data

Llama3在后训练与FT阶段的创新点在于,提出了结合奖励建模、监督微调和直接偏好优化的综合后训练方法,有效提升了模型的实用性和泛化能力。

4.2 各维度能力

4.2.1 Code

  • Expert training:We train a code expert which we use to collect high quality human annotations for code

    throughout subsequent rounds of post-training. Continued pre-training on domain-specific data has been shown to be effective for improving performance in a specific domain.

  • Synthetic data generation: synthetic data generation offers a complementary approach at a lower cost and higher scale, unconstrained by the expertise level of annotator. In total, we generate over 2.7M synthetic examples which were used during SFT

    • Problem description generation: First, we generate a large collection of programming problem descriptions that span a diverse range of topics, including those in the long tail distribution.

    • Solution generation: Then, we prompt Llama 3 to solve each problem in a given programming language

    • Correctness analysis: we extract the source code from the generated solution and applied a combination of

      static and dynamic analysis techniques to test its correctness, including: Static analysis、Unit test generation and execution

    • Error feedback and iterative self-correction

    • Fine-tuning and iterative improvement

4.2.2 Multilinguality

  • Expert training: we train a multilingualexpert by branching off the pre-training run and continuing to pre-train on a data mix that consists of 90% multilingual token.

  • Multilingualdatacollection: 2.4% human annotations, 44.2% data from other NLP tasks, 18.8% rejection sampled

    data, and 34.6% translated reasoning data.

4.2.3 Math and Reasoning

推理能力本质是一个multi-step 计算得到最终答案的过程,主要面临如下维度的挑战:

  • Lack of prompts
  • Lack of ground truth chain of thought
  • Incorrect intermediate steps
  • Teaching models to use external tools
  • Discrepancy between training and inference

Llama3 采用的方法论是:

  • Addressing the lack of prompts: we create a taxonomy of mathematical skills (Didolkar et al., 2024) and ask humans to provide relevant prompts/questions accordingly.
  • Augmenting training data with step-wise reasoning traces: We train outcome and stepwise reward models to filter training data where the intermediate reasoning steps were incorrect.
  • Interleaving code and text reasoning: We prompt Llama 3 to solve reasoning problems through a combination of textual reasoning and associated Python code.
  • Learning from feedback and mistakes: we utilize incorrect generations and perform error correction by prompting Llama 3 to yield correct generation.

4.2.4 Long Context

During the final pre-training stage, we extend the context length of Llama 3 from 8K tokens to 128K tokens.

五、模型能力评估(Eval)

Llama3在多个基准测试集上的性能进行了全面评估。通过训练多语言专家模型和采用逐步推理策略,评估了Llama3在知识问答、指令跟随、推理任务等多个领域的表现。同时,还对Llama3在长文本处理任务上的能力进行了深入分析。

从评测结果来看,Llama3在多个自然语言处理任务上均表现出了卓越的性能。特别是在多语言处理和数学推理任务上,Llama3的优势尤为明显。此外,Llama3在处理超长文本时也展现出了强大的能力。

六、安全性与可靠性(Security)

主要探讨了Llama3在安全性和可靠性方面的考虑和实践。通过构建内部基准测试集和开发Llama Guard3安全分类器,有效检测和过滤了模型生成内容中的不安全或有害信息。同时,还提出了多种策略来减少模型生成内容中的偏见和误导性信息。

这部分为什么重要?安全性与可靠性阶段的工作可以显著提高Llama3的模型安全性和用户信任度。通过内部基准测试集和安全分类器的应用,有效减少了模型生成内容中的潜在风险。

七、多模态与语音实验

主要介绍了将视觉识别、语音识别和语音生成能力集成到Llama3中的研究尝试。通过组合式方法,实现了对图像、视频和语音内容的深入理解与处理。同时,在多个多模态基准测试集上对Llama3的多模态处理能力进行了评估。

实验结果表明,Llama3在多模态处理任务上展现出了出色的性能。通过集成视觉识别和语音识别能力,Llama3能够更好地理解用户的多样化输入,并生成更准确的响应。

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

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

相关文章

9月26日云技术研讨会 | SOA整车EE架构开发流程及工具实施方案

本次研讨会经纬恒润将结合业务团队多年来在SOA架构开发和工具实施领域的项目实践经验,分享探讨SOA趋势下先进的整车EE架构开发模式,聚焦在SOA开发难点分析、开发阶段划分、开发工具链的适配与应用等内容。9月26日,我们在直播间期待您的参与! 面向服务的架构(Service…

服务的UUID

1. UUID 广播数据中,一般会包含一个UUID列表,用以展示自己支持的服务。但是GAP和GATT服务的UUID不能加到广播中。广播包中可以根据自身情况包含一部分服务的UUID或者包含所有服务的UUID。部分服务的UUID列表和完整的UUID列表只能包含一个。 什么情况下包含部分UUID?广播数据…

Common PyPI?

Skip to main contentTwo factor authentication is available, enable it now for your account.Search PyPISearch macnote Common questions BasicsWhats a package, project, or release? How do I install a file (package) from PyPI? How do I package and publish my…

Hackademic.RTB1 打靶记录

第一次打靶机,思路看的红队笔记https://www.vulnhub.com/entry/hackademic-rtb1,17/环境:kali Linux - 192.168.75.131,靶机 - 192.168.75.132 主机发现和端口扫描扫描整个网络有哪台机子在线,不进行端口扫描 nmap -sP 192.168.75.0/24 Starting Nmap 7.93 ( https://nmap.…

安装网站时出现“连接数据库出现数据库服务器或登录密码无效,无法连接数据库,请重新设定”解决方法

当你在安装网站时遇到“连接数据库出现数据库服务器或登录密码无效,无法连接数据库,请重新设定”的错误时,可以按照以下步骤来排查和解决这个问题。 排查步骤确认数据库连接信息:确认数据库服务器地址、用户名、密码、数据库名称等信息是否正确。 确认数据库服务器是否处于…

易优eyoucms网站二次验证密码忘记解决办法

当你忘记了易优CMS(EyouCMS)后台的二次验证密码时,可以通过修改数据库中的相关设置来绕过或重置这个验证。根据提供的记录信息,可以按照以下步骤来进行操作: 步骤登录数据库 修改相关设置 清除缓存详细步骤 1. 登录数据库 首先,你需要登录到你的MySQL数据库。你可以使用命…

mysql事务隔离级别和spring事务传播机制

一、事务并发会出现的三个问题 数据库事务具有ACID4个特性: A:Atomic,原子性,将所有SQL作为原子工作单元执行,要么全部执行,要么全部不执行; C:Consistent,一致性,事务完成后,所有数据的状态都是一致的,即A账户只要减去了100,B账户则必定加上了100; I:Isolation…

电商系统的简单设计

订单模块 作为电商系统,首入眼帘的就是订单模块,也是电商基础的模块之一。订单流程包含了订单从下单到完成的整个流程,订单的状态如下:这里迎来了第一个问题,可以看到订单状态有非常多种,如果用if else去做判断,逻辑会非常多,这时候就需要用到状态机模式了,状态机如何使…

限流器的实践

背景 我们有一个业务场景是给学生发布考试,发布的过程不复杂,就是一个老师传递一些考试相关的参数过来,服务器自动给所有学生生成一份任务,但是在学生上交的时候会有个问题,就是成百上千的学生一起上交,会有并发流量的问题。 这里由于我们的考试可能会设计多个班级的联考…

易优cms 数据库连接失败,如何重新进行正确配置

当你遇到易优CMS(EyouCMS)数据库连接失败的问题时,可以按照以下步骤进行正确的配置和故障排除。 1. 检查数据库配置文件 易优CMS的数据库配置文件位于 application/database.php。你需要检查并修改该文件中的数据库配置信息。 2. 核对数据库账号和密码 确保数据库账号和密码…

在Windows10中使用rust的diesel库

介绍 最近在学习Actix Web时,需要用到数据库操作,简单尝试了一下diesel,也遇到了一些问题。在这里记录一下,供大家参考。 1.安装 根据Diesel官网介绍,使用cargo binstall安装diesel cli。 cargo binstall diesel_cli如果报错 error: no such command: `binstall` 需要先安…

易优eyoucms网站无法安装,数据库文件版本号(无)与CMS源码版本号(v1.3.1)不一致,点击查看!

解决方法比较简单, 可以找历史版本, 使用同版本数据库或者源码进行安装, 安装完成后操作升级。扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通PHP+MYSQL、HTML5、CSS3、Javascript等。承接:企业仿站、网站修改、网站改版、BUG修复、问题处…