# 热门搜索 #
搜索
LLaMA3:开源战胜闭源意味着什么?
7867点击    2024-07-30 12:03

LLaMA3-405B的模型效果已经赶上目前最好的闭源模型GPT-4o和Claude-3.5,这可能是未来大模型开源与闭源的拐点,这里就LLaMA3的模型结构、训练过程与未来影响等方面说说我的看法。


LLaMA3的模型结构



LLaMA3的模型结构如上图所示,这基本已经成为目前Dense LLM模型的标准结构了,很多采取MOE结构的LLM模型,其变化无非是把上图的FFN模块里的单个SwiGLU模块拓展成K个并联的SwiGLU模块,形成多个专家,再加上一个门控网络来选择目前Token走这么多专家里的哪几个。目前很少有结构能逃脱Transformer架构的影响,对比Transformer的部件升级主要有以下三点:


第一:FFN层激活函数由GELU(ReLU的平滑版本)变为了SwiGLU,引入了更多的权重矩阵。FFN层包括两个线性变换,中间插入一个非线性激活函数,最初的Transformer架构采用了ReLU激活函数:




第二:归一化由post Layer Normalization变为pre RMSNorm,由后变前的同时计算公式也不同。


第三:由三角函数计算的绝对位置编码改为了RoPE相对旋转位置编码,解决了长文本预测外推性问题。推荐阅读:手把手带你从零推导旋转位置编码RoPE



其余的变化就是模型层数横向及纵向的叠加(见上图),比如405B模型采用了126层的网络结构,RoPE theta 调到了50万等等。


LLaMA3训练过程


  • 数据打标与配比:做细粒度的打标签工作,然后根据标签采样,最终敲定了:50% 通用数据、25% 数理数据、17% 代码数据、 8% 多语言数据。这个过程在实际操作过程中应该很复杂,因为需要不断的尝试实验,最终选择效果最好的模型

  • 预训练:本文长度从8K 逐步增加到支持128K,的上下文窗口,这个长上下文预训练阶段使用了大约800B训练token数据

  • 退火(annealing)训练:最后用高质量的4000万个token数据学习,线性地将学习率衰减至0,同时保持上下文长度为128K个token。在这一退火阶段,调整了数据混合配比,以增加高质量数据比如数学、代码、逻辑内容的影响



  • 在Post-Training过程中(见上图),首先用人工标注数据训练RM模型,用来评价一个<Prompt,answer>数据的质量,然后用RM参与拒绝采样(Rejection Sampling),就是说对于一个人工Prompt,用模型生成若干个回答,RM给予质量打分,选择得分最高的保留作为SFT数据,其它抛掉。这样得到的SFT数据再加上专门增强代码、数学、逻辑能力的SFT数据一起,用来调整模型得到SFT模型
  • 训练方法最终采用了DPO,并没有直接采用PPO的训练方式,官方的解释是Managing complexity。不懂DPO与PPO的同学推荐阅读:详解大模型的训练过程

  • 之后用人工标注数据来使用DPO模型调整LLM参数,DPO本质上是个二分类,就是从人工标注的<Prompt,Good Answer,Bad Answer>三元数据里学习,调整模型参数鼓励模型输出Good Answer,不输出Bad Answer,这算完成了一个迭代轮次的Post-Training

  • 上述过程会反复迭代几次,每次的流程相同,不同的地方在于拒绝采样阶段用来对给定Prompt产生回答的LLM模型,会从上一轮流程最后产生的若干不同DPO模型(不同超参等)里选择最好的那个在下一轮拒绝采样阶段给Prompt生成答案。很明显,随着迭代的增加DPO模型越来越好,所以拒绝采样里能选出的最佳答案质量越来越高,SFT模型就越好,如此形成正反馈循环

  • 可以看出尽管RLHF 和DPO两种模式都包含RM,但是用的地方不一样:RLHF是把RM打分用在PPO强化学习阶段,而LLaMA 3则用RM来筛选高质量SFT数据

LLaMA3带来的影响


下图展示了开源和闭源模型随着时间能力差异曲线,可以看出两者差距随着时间是逐步减小的,而LLaMA 3-405B让两线出现了交点。



LLaMA 3-405B的开源,对于其它无论闭源还是开源模型,都有重大影响:


  • 对于闭源模型,如果其能力还赶不上LLaMA3(比如GPT或GLM),那很多付费用户为什么不去使用开源模型呢?

  • 对于开源模型而言,如果能力不如LLaMA 3,就需要考虑如何作出差异化和不同特色的模型

我认为最后大模型的结果会是一家独大,因为它最重要的能力就是知识的全面性与对话推理能力,而如果做某一领域的模型,只要有那方面的数据,用以前的技术手段也能达到相同的效果。以目前情况来看,大模型的应用以调用为主,根据这个“大脑”开发配套的Agent即可,那我肯定会选一个最强的大脑进行开发......但是一家独大的发展可能并不利于以后这项技术以后的发展。


文章来源于“Al有温度”,作者“安泰Roling”


关键词: LLaMA3 , AI , 大模型 , 人工智能
AITNT资源拓展
根据文章内容,系统为您匹配了更有价值的资源信息。内容由AI生成,仅供参考
1
智能体

【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。

项目地址:https://github.com/Significant-Gravitas/AutoGPT


【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。

项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md

2
免费使用GPT-4o

【免费】ffa.chat是一个完全免费的GPT-4o镜像站点,无需魔法付费,即可无限制使用GPT-4o等多个海外模型产品。

在线使用:https://ffa.chat/

3
prompt

【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。

项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md

在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0