热门搜索:和平精英 原神 街篮2 

您的位置:首页 > > 教程攻略 > ai资讯 >解读llama3

解读llama3

来源:互联网 更新时间:2026-08-01 14:27

今天Meta正式发布了Llama 3,圈子里一下就热闹起来了。作为一个长期关注AI系统的人,有几个核心判断值得先拿出来聊聊:

  • Llama 3的发布,

    把数据工程的重要性又推上了一个台阶

    ——模型架构没怎么动,但数据量和数据质量的提升,直接带来了肉眼可见的效果飞跃。

  • 数据越多,算力需求就越大。开源大模型玩家的门槛这次又被抬高了,

    万卡H100级别已经成了标配

    。说实话,看着这个算力消耗,不焦虑是不可能的。

  • 在集群系统层面,Meta

    同时在走RoCE和InfiniBand两条路

    ,而万卡级系统的容错和故障恢复,已经成了绕不开的关键问题。

  • 有意思的是,Llama 3的算法改动实在太小了——长序列、多模态这些大家都在追的能力它都没上。官方说8B和80B只是个开始,模型还没训练完,后续会补上这些能力。是不是Meta感受到了什么压力,急着先发一版?

1. Llama 3与Llama 2的模型结构(计算)区别

先说结论:

Llama 3和Llama 2的模型架构完全一致

,只有一些配置(主要是维度)做了调整。这意味着Llama 2的推理工程几乎可以无缝迁移到Llama 3上。在Meta官方的代码库里,模型计算部分的代码一模一样——主干依旧是decoder-only,继续用了RoPE、SwiGLU、GQA这些老面孔。

Llama 3-8B与Llama 2-7B的具体差别

对比Huggingface模型中的config.json,一切都很清楚:模型类都是`LlamaForCausalLM`,结构不变。具体的差异在于:

① vocab_size:32000 → 128256。

词汇表的扩大直接导致embedding参数增大——(128256-32000)*4096*2 Byte = 752MB。最后一层lm_head的输出维度也跟着变成vocab_size,同样增加752MB。两项加起来,模型增大

1504MB

② max_position_embeddings:4096 → 8192。

Context window扩大了,训练时输入的序列长度和推理能支持的序列长度都跟着增加,但实际计算方式没有变化。

③ num_key_value_heads:32 → 8。

这直接实现了GQA——因为num_attention_heads还是32,所以计算时key、value要复制4份。参数量下降明显:K_proj、V_proj的参数矩阵降到Llama 2-7B的1/4,共计

减少

32*4096*4096*2*2/4*3 Byte(

1536MB

)。

④ intermediate_size:11008 → 14336。

FFN的中间维度变了,计算范式没变。参数量

增大

:32*4096*(14336-11008)*3*2/1024/1024 Byte =

2496MB

综合以上几个调整,模型总体增大了2464M,这也是7B变成8B的直接原因。不过说到底,

计算模式没有任何本质改变

PS:

还有一个细节——权重数据格式从torch.float16变成了torch.bfloat16。其实Llama 2和Llama 3都是用bf16训练的,只是Huggingface在导入Llama 2时转成了float16去推理,结果出了NaN的问题(相关issue里有记录)。这次Llama 3直接用了bfloat16,和官方发布的权重保持一致。

2. 效果提升主要是数据工程

① 数据量:

预训练阶段,Llama 3用了超过

15T token

(全部来自公开可获取的数据源),是Llama 2的

7倍多

。其中代码相关数据是Llama 2的

4倍多

。Fine-tuning阶段,除了公开的instruction数据集,还自己制作了超过

1千万人工标注

的examples。

② 数据质量:

预训练阶段,Meta开发了

一系列数据过滤pipeline

——包括启发式过滤器、NSFW过滤器、语义去重方法和

文本分类器来预测数据质量

,目标是确保模型在最高质量的数据上训练。Instruction fine-tuning阶段的数据质量同样关键,Meta的说法是:“模型质量的最大改进来自对这些数据的精心整理,以及对人类标注结果进行多轮质量检查。”

③ 数据混合比例的探索:

Meta进行了大量实验,来评估在最终预训练数据集中如何

混合不同来源的数据

——这也是数据工程里经常被忽视但极其重要的一环。

3. 模型训练的基础设施

3.1 集群细节

Meta这次构建了

两个定制的24K GPU集群

。根据model card中的“H100-80GB (TDP of 700W)”,可以确认用的是SXM形态的H100,fp16算力990 TFLOPS。他们实现了同时

在16K个GPU上进行训练时,每个GPU超过400 TFLOPS的计算利用率

——也就是利用率超过

40%

,这个数字相当可观。

关于这两个集群,Meta在另一篇AI基础设施博客中做了详细介绍。两个集群的

核心区别

在于:

Cluster 1:采用RoCE方案

,基于Arista 7800的RoCE网络结构,配备Wedge400和Minipack2 OCP机架式交换机。

Cluster 2:采用InfiniBand方案

,基于英伟达Quantum2 InfiniBand Fabric。两种方案都能实现

400 Gbps端点互联

之所以同时跑两套方案,目的是

评估不同类型互连对大规模训练的适用性和可扩展性

,为未来更大规模的集群设计积累经验。说白了,

Meta在同时走RoCE和InfiniBand两条线

,并且他们声称通过网络、软件、模型架构的协同设计,大模型训练的workload没有出现网络瓶颈。

其实在Llama 2的技术报告中,Meta就已经用过类似的配置——一个RoCE、一个InfiniBand,相同的互联带宽,两个A100集群。原文提到:“RoCE(一种更便宜、更商业化的互连网络)在2000个GPU的规模下几乎可以像昂贵的InfiniBand一样扩展,这让预训练变得更加大众化。”

核心问题还是IB太贵了

,天下苦秦久矣。

3.2 容错和故障恢复

这次Meta特别强调了一个点:为了最大限度地延长GPU的正常运行时间,他们开发了

先进的新训练堆栈

,可以自动检测、处理并维护错误。同时还大幅改进了

硬件可靠性和无声数据损坏检测机制

(silent data corruption),并开发了新的可扩展存储系统,

减少了检查点和回滚的开销

。这些改进让总体有效训练时间缩短了

95%以上

。与Llama 2相比,Llama 3的训练效率提高了大约

三倍

万卡级别的集群训练,容错已经成了无法回避的问题。这一点在Grok、Google Gemini等技术报告中都有强调,尤其是Google Gemini的报告中专门提到了大规模系统中一个棘手的现象——

SDC(Silent Data Corruption)

。另外,Google在NDSI 2024上还发表了一篇关于大规模集群训练容错设计的论文,后面有机会可以详细解读。

关于宇宙的好的网名有哪些
关于宇宙的好的网名有哪些

类型:角色扮演

大小:1

语言:简体中文

平台:互联网

游戏下载

热门手游

手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc