首页 > 其他分享 >Meta Llama3 论文研读

Meta Llama3 论文研读

时间:2024-09-19 16:53:19浏览次数:9  
标签:training 研读 训练 模型 Llama3 Meta data 性能

一、 引言概述(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能够更好地理解用户的多样化输入,并生成更准确的响应。

标签:training,研读,训练,模型,Llama3,Meta,data,性能
From: https://www.cnblogs.com/CocoML/p/18420909

相关文章

  • 丹摩DAMODEL超算平台 | 搭建Llama3.1深入体验
    丹摩DAMODEL超算平台|搭建Llama3.1深入体验文章目录丹摩DAMODEL超算平台|搭建Llama3.1深入体验丹摩超算平台Llama3.1-部署与使用本地连接使用DAMODEL方法使用体验与总结DAMODEL丹摩超算平台专为AI打造的智算云平台,致力于提供丰富的算力资源与基础设施,以助力......
  • Qt::BlockingQueuedConnection 与 QMetaCallEvent
    Qt创建连接类型如果是Qt::BlockingQueuedConnection,即senderthread与receiverthread不同,但是要求sendersignal与receiverslot执行是不同线程间的同步行为。也即:在sendersignal发出后sender线程要等待receiver线程的slot执行完后才能继续向后执行指令。......
  • Metasploit Framework (MSF) 使用指南 - 第一篇:介绍与基础用法
    引言MetasploitFramework(MSF)是一款功能强大的开源安全漏洞检测工具,被广泛应用于渗透测试中。它内置了数千个已知的软件漏洞,并持续更新以应对新兴的安全威胁。MSF不仅限于漏洞利用,还包括信息收集、漏洞探测和后渗透攻击等多个环节,因此被安全社区誉为“可以黑掉整个宇宙”的工具。......
  • Qt Metadata
    1.codeclassGranPa:publicQObject{Q_OBJECTpublic:explicitGranPa(QObject*parent=nullptr);signals:voidgran_siga();voidgran_sigb();voidgran_sigc();publicslots:voidgran_slota();voidgran_slotb();voidgran_slotc();};GranPa::GranPa(QOb......
  • => ERROR [internal] load metadata for docker.io/library/alpine:3.13+vscode+python
    遇到这个问题,找了很久,网上也没有找到什么解决办法,我就已经解决了问题,分享一下。这种情况应该是网络的原因,目前我找到了两种解决方法,已经成功解决。1.在终端手动拉取镜像,手动拉取镜像可以避免网络问题2.使用国内镜像加速器打开DockerDesktop。进入Settings->DockerEn......
  • autoGPT metagpt crewAI langgraph autogen camel 哪些框架适用于多模态场景?(文心一言)
    autoGPTmetagptcrewAIlanggraphautogencamel哪些框架适用于多模态场景?特点:CrewAI是一个专门用于创建多模态代理的技术,能够同时处理文本、图像和音频数据。它提供了构建多模态代理所需的工具和库,使得开发者能够更容易地集成不同模型以处理多种数据类型。应用场景:适用于......
  • 跟着iMeta学作图 | 山峦图展示微生物丰度随盐度增加的动态变化
    本文代码已经上传至https://github.com/iMetaScience/iMetaPlot如果你使用本代码,请引用:ChangchaoLi.2023.Destabilizedmicrobialnetworkswithdistinctperformancesofabundantandrarebiospheresinmaintainingnetworksunderincreasingsalinitystress.iMeta......
  • 跟着iMeta学做图 | 冲击图展示菌群随盐度的变化
    本文代码已经上传至https://github.com/iMetaScience/iMetaPlot如果你使用本代码,请引用:ChangchaoLi.2023.Destabilizedmicrobialnetworkswithdistinctperformancesofabundantandrarebiospheresinmaintainingnetworksunderincreasingsalinitystress.iMeta......
  • [2023最新]美少妇Metasploit(MSF)下载安装及使用详解,永久免费使用,环境配置和使用技巧
    模块含义auxiliary:主要包含渗透测试中一些辅助性脚本,这些脚本功能有扫描,嗅探,破解,注入,漏洞挖掘等。encoders:编码工具,用于躲过入侵检测和过滤系统。exploit:主要包括了exp、0day、各种漏洞利用的脚本。主要的攻击代码全在这个目录下,这里边包括的exp的路径的命名规则是:......
  • MetaMask手动添加网络(连接Ganache)
    下图中的ganache是我自己之前添加的网络,下面说明具体操作步骤:首先,登录进去之后点击页面下方的添加网络;然后,点击手动添加网络;最后,按照Ganache的地址配置网络,保存即可 网络名称:随便取,自己认识即可新的RPCURL:Ganache中RPCSERVER部分显示,如下图所示链ID:1337货币符号:ETH区......