Meta AI大模子家属LLaMA

打印 上一主题 下一主题

主题 1944|帖子 1944|积分 5832

本文重要讲述了大模子的训练本领和模子架构,包括预训练和微调的差异、不同训练方式的结果、数据准备和最佳实践等。此外,还先容了如何获取和利用大语言模子,包括模子的可训练版本、训练数据、评估方式以及获取模子权重的方法。文中提到了斯坦福大学和其他高校一起开辟的LLaMA 模子以及GPT-4等评估模子,并夸大了模子安全性评估和制止产生不良内容和偏见的重要性。
Meta LLaMA 1 大模子技术解读

基座模子系列:LLaMA 1-7B(, 13B, 33B, 65B)

本文先容了 LLaMA,这是一个由 7B 到 65B 个参数组成的底子语言模子集合。我们在数万亿个词库上训练模子,并表明完全可以利用公开可用的数据集来训练开始进的模子,而无需告急于专有和不可访问的数据集。特殊是,LLaMA-13B 在大多数基准测试中都优于 GPT-3(175B),LLaMA 65B 与最好的模子 Chinchilla-70B 和 PaLM-540B 相比也很有竞争力。
LLaMA 1:小模子+大数据
在海量文本语料库中训练的大型语言模子(LLMs)表明,它们有能力根据文本指令或少数示例实行新任务(Brown et al., 2020)。这些 “少数几个例子 ”的特性是在将模子扩展到充足大时初次出现的(Kaplan et al., 2020),由此产生了一系列致力于进一步扩展这些模子的工作(Chowdhery et al., 2022, Rae et al., 2021))。然而,霍夫曼等人最近的研究(2022 年)表明,在给定的计算预算下,最佳性能不是由最大的模子实现的,而是由在更多数据上训练的较小模子实现的。

上图为LLaMA7B、13B、33B 和 65 模子在训练词块上的训练损失。LLaMA-33B 和 LLaMA.65B 是在 1.4T tokens上训练的。较小的模子进行训练了 1.0T tokens。全部模子都是以 4M token 的批量巨细进行训练的。

上表为不同参数模子巨细、结构和优化超参数对比。总体而言,颠末标记化处理后,整个训练数据集包含 1.4T 个标记。对于大多数训练数据,每个标记在训练过程中只利用一次,但维基百科和书籍领域除外,在这两个领域大约进行了两次训练。
LLaMA 1 在万亿 Token 公开数据集上预训练
通过利用标准优化器在大量文本数据上训练transfomers。我们的训练数据集由多个数据源混合而成,它们涵盖了不同的领域,如下表所示。在大多数情况下,通过重复利用已被用于训练其它 LLM的数据源,并且只利用公开的数据。但仅限于利用可公开获得的数据,并与开放源代码兼容。这就产生了以下混合数据及其在训练会集所占的比例:



  • English CommonCrawl(67%):通过CCNet管道处理2017至2020年间的五个CommonCrawl数据集,进行行级去重、利用fastText线性分类器进行语言识别以剔除非英语页面,并利用n-gram语言模子过滤低质量内容,同时训练线性模子筛选维基百
    科引用页面。
  • C4(15%):包括颠末预处理的多样化CommonCrawl数据集,通过去重和语言识别改善性能,C4数据集的质量过滤重要基于标点存在与否以及网页的单词和句子数量等开导式规则。
  • Github(4.5%):利用Google BigQuery上公开的GitHub数据集,仅包括Apache、BSD和MIT许可的项目,并基于行长度和字母数字字符比例等开导式规则过滤低质量文件,通过正则表达式移除样板内容,以文件为单元进行去重。
  • Wikipedia(4.5%):添加2022年6月至8月期间的20种语言(利用拉丁或西里尔字母)的Wikipedia数据集,处理数据以移除超链接、表明和其他格式化样板内容。
  • Gutenberg和Books3(4.5%):包含两个书籍语料库,即公共领域的古腾堡项目和大型语言模子训练用的公开数据集“The Pile”的Books3部分,进行书籍级去重,剔除内容重叠超过90%的书籍。
  • ArXiv(2.5%):处理ArXiv LaTeX文件以添加科学数据,移除第一节之前的全部内容和参考文献,删除.tex文件中的表明,并内联展开用户编写的定义和宏以增加跨论文的一致性。
  • Stack Exchange(2%):包含多个领域(从计算机科学到化学)的高质量问题和答案网站Stack Exchange的数据集,保留了28个最大网站的数据,移除了文本中的HTML标签,并按得分(从高到低)对答案进行排序。
LLaMA 1 模子网络架构改进

LLaMA 1 模子基于Transformer架构,并融合了后续提出的多项改进,这些改进在如GPT-3,PaLM等不同模子中得到应用。与原始Transformer架构的重要区别及灵感泉源包括:

  • RMSNorm 预归一化(泉源于GPT-3):在Transformer各层的输入进行归一化,以进步训练稳定性。

  • SwiGLU激活函数(泉源于PaLM):用 SwiGLU 激活函数更换了 ReLU 非线性函数,以提拔 Transformer性能。

  • RoPE 旋转嵌入(泉源于GPT-Neo):移除了绝对位置嵌入,改为在网络的每一层添加旋转位置嵌入。


    LLaMA 相比其他大模子,有三点重要改进:网络结构优化、数据准备和利用、训练战略调整。


  • 网络结构优化包括前归一化、更好的激活函数和利用相对位置编码。
  • 数据准备和利用注重无标注预训练数据的80%比例,功能性数据占20%。
  • 训练战略调整包括优化器的选择、学习率调整、权重衰减和梯度裁剪等。
大模子网络架构差异性配置总览


典型大模子网络架构对比


LLaMA 1 预训练超参数配置

模子利用 AdamW 优化器训练,超参数设置如下:

别的关键训练超参数设置:

典型大模子训练超参数对比:

LLaMA 1 预训练服从提拔与本钱评估

为提拔模子训练速度,Meta 团队基于进行了多项优化:
• 因果多头留意力:采用xformers库的因果多头留意力实现,减少显存利用和运行时间。不存储留意力权重,且不计算由于语言建模任务的因果性子而被掩盖的key/query分数来实现的 。
• 减少重复激活计算:在反向传播过程中通过检查点技术,减少了需要重新计算的激活量。具体来说,生存计算本钱高的激活输出,如线性层的输出。这是通过手动实现Transformer层的反向传播函数(更换 PyTorch autograd)。
• 模子并行和流水线并行:尽可能调度使得激活值计算和GPU间网络通信重叠,提拔服从。在训练 65B 模子时,Meta 代码在2048个A100 GPU(80GB)上处理速度约为380 tokens/sec/GPU 。这意味着在1.4T Tokens数据集上训练需要约21天。与其他大模子的训练本钱横向对比如下:

LLaMA 1实行结果 - Zero-shot 常识推理任务


LLaMA 1实行结果 – QA 和语义理解任务


LLaMA 1实行结果 – 数学和代码天生任务


LLaMA 1实行结果 – 多任务能力


综合来看,可以总结为LLaMA 在常识推理、问答和语义理解等任务上表现良好,与千亿级模子相当。在特定测试上,LLaMA 甚至优于其他千亿级模子。LLaMA 在数学和代码天生类任务上也有不错的表现,但与专门优化的模子相比仍有差距。
LLaMA 衍生模子家属

大模子 (>10B) 发布时间线

LLaMA 大模子出现前,就已经出现很多大于100亿的模子,包括T5、BERT、GPT等衍生品。

LLaMA 出现后,基于LLaMA 的衍生模子更加繁荣,尤其是Alpaca和Vicuna。

LLaMA 衍生开源模子生态繁荣


Alpaca-7B 大模子

像GPT-3.5(text-davinci-003)、ChatGPT、Claude和Bing Chat这样的指令跟随(Instruction-following )模子变得越来越强盛。现在许多用户经常与这些模子互动,甚至将它们用于工作。然而,尽管广泛部署,指令跟随模子仍旧存在许多不足之处:它们可能天生虚假信息、传播社会刻板印象并产生有毒语言。
斯坦福大学发布了关于一种名为 Alpaca 的指令跟随语言模子,该模子是从Meta‘s LLaMA 7B 模子微调而来。利用以text-davinci-003 风格自我指导(self-instruct)天生的52K个指令跟随演示来训练Alpaca 模子。在自我指导评估数据集上,Alpaca表现出许多类似于OpenAI text-davinci-003 的行为,并且惊人地小巧、易于复制和廉价(不到600美金)。

Alpaca-7B 大模子低本钱高效训练后天生样例

Vicuna-13B 大模子

Vicuna是由多家研究机构合作推出的一个开源大语言模子,其研究团队来自于UC Berkeley、CMU、斯坦福、US San Dego和MBZUAI。Vicuna是在LLaMa 1-13B的底子上利用监督数据微调得到的模子,数据集来自于 ShareGPT 产生的70K条用户对话数据,增强了 Alpaca 提供的训练脚本,以更好地处理多轮对话和长序列。
相较于Alpaca,Vicuna在训练中将序列长度由512扩展到了2048,并且通过梯度检测和flash attention来解决显存问题;针对多轮对话来调整训练损失,并仅根据模子的输出进行微调。通过GPT4来打分评测,Vicuna可以达到 ChatGPT 90% 的结果。

LLaMA 及其衍生模子数据集对比


典型大模子预训练数据集构成对比


Meta LLaMA 2 大模子技术解读

LLaMA 2 vs LLaMA 1

考虑到训练方法看似简单明白,LLMs 的能力却非常出众。主动回归变换器是在大量自我监督数据的底子上进行预训练的,然后通过人类反馈强化学习(RLHF)等技术与人类偏好保持一致。固然训练方法很简单,但高计算要求限制了 LLMs 的开辟,只有少数人能够胜任。现在已公开辟布的预训练LLM(如 BLOOM(Scao et al2022 )、LLaMa-1(Touvron et al,2023)和 Falcon(Penedo et al,2023 年))与封闭式预训练竞争对手(如 GPT-3(Brown et al,2020)和 Chinchilla(Hoffmann et al,2022))的性能不相上下,但这些模子都无法更换封闭式 “产品 ”LLM,如 ChatGPT、BARD 和 Claude。这些封闭式 “产品 ”LLM 颠末了大量微调,以符合人类的偏好,从而大大进步了其可用性和安全性。

LLaMA 2-chat 模子训练方法

Llama 2 基座模子是在 2 万亿 tokens 上预训练得到的。然后,在 100 万人类标记数据上 进行 RLHF 训练得到 LLaMA 2-Chat 模子。首先,利用公开的在线资源对 Llama 2 进行预培训。之后,通过应用监督微调技术创建了 Llama 2-Chat 的初始版本。随后,利用带人类反馈的强化学习(RLHF)方法对模子进行迭代改进,特殊是通过拒绝采样和近端战略优化 (PPO)。在整个 RLHF 阶段,迭代夸奖建模数据的积聚与模子增强在整个 RLHF 阶段,迭代夸奖模子数据的积聚与模子的改进并行,对于确保夸奖模子保持在分布范围内至关重要。

LLaMA 2支持上下文长度提拔到4k,训练数据集从一点四万亿token扩展到两万亿token。LLaMA 2的Chat模子通过预训练和人类反馈强化学习,实现了多轮对话功能。
LLaMA 2 实行结果 - 安全性人类评估

Llama 2是颠末预训练和微调的 LLMs(Llama 2 和 LLAMA 2-CHAT)系列模子,其规模可达 70B 参数。在测试的一系列有用性和安全性基准上,它们都优于现有的开源模子。至少在目进步行的人类评估中,它们似乎也与一些闭源模子不相上下。

Llama 2-Chat 与其他开源和闭源模子的安全人工评估结果比较。人类评测员在约 2,000 个对抗性提示(包括单转和多转提示)中对各代模子违反安全规定的情况进行评测。 由于提示集的局限性、审查指南的主观性以及个别评分者的主观性,LLM 评估存在固有的偏差,因此必须对这些安全结果加以说明。此外,这些安全评估利用的内容标准很可能偏向于 Llama 2-Chat 模子。
LLaMA 2 与闭源模子对话性能对比

Llama 2-Chat 模子与开源和闭源模子的人工评估结果比较在0~4,000 条有用性提示中,每条提示有三名评分者。

在单回合和多回合提示方面,Llama 2-Chat 模子都显着优于开源模子。特殊是,在 60% 的提示中,Llama 2-Chat 7B 棋型都优于 MPT-7B-chat。Llama 2-Chat 34B 与划一巨细的 Vicuna-33B 和 Falcon 40B 相比,总体胜率超过 75%。最大的 Llama 2-Chat 模子与 ChatGPT 竞争。与 ChatGPT 相比,Llama 2-Chat 70B 模式的胜率为 36%,平局率为 31.5%。在提示集上,Llama 2-Chat 70B 模子在很大程度上优于 PaLM-bison 聊天模子。
LLaMA 2 模子训练本钱评估

在A100-80GB型号的硬件上进行了总计330万GPU小时的计算,这些GPU的热设计功率(TDP)为400W或350W。Meta 估计训练过程的总碳排放量为539吨二氧化碳当量(tCO2eq),论文中表明Meta碳积分充足支付100%排放。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

老婆出轨

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表