论文精读--The Llama 3 Herd of Models

Abstract

Modern artificial intelligence (AI) systems are powered by foundation models. This paper presents a new set of foundation models, called Llama 3. It is a herd of language models that natively support multilinguality, coding, reasoning, and tool usage. Our largest model is a dense Transformer with 405B parameters and a context window of up to 128K tokens. This paper presents an extensive empirical evaluation of Llama 3. We find that Llama 3 delivers comparable quality to leading language models such as GPT-4 on a plethora of tasks. We publicly release Llama 3, including pre-trained and post-trained versions of the 405B parameter language model and our Llama Guard 3 model for input and output safety. The paper also presents the results of experiments in which we integrate image, video, and speech capabilities into Llama 3 via a compositional approach. We observe this approach
performs competitively with the state-of-the-art on image, video, and speech recognition tasks. The resulting models are not yet being broadly released as they are still under development.
翻译:
现代人工智能(AI)系统由基础模型驱动。本论文介绍了一组新的基础模型,称为Llama 3。这是一组语言模型,原生支持多语言、编码、推理和工具使用。我们最大的模型是一个拥有4050亿参数的密集Transformer,支持最长128K的上下文窗口。本论文对Llama 3进行了广泛的实证评估。我们发现,Llama 3在大量任务上提供了与GPT-4等领先语言模型相当的质量。我们公开发布了Llama 3,包括预训练和后训练版本的4050亿参数语言模型,以及用于输入和输出安全的Llama Guard 3模型。

本论文还展示了将图像、视频和语音能力集成到Llama 3中的实验结果,采用了组合方法。我们观察到,这种方法在图像、视频和语音识别任务上的表现可以与当前最先进的技术相媲美。这些模型尚未广泛发布,因为它们仍处于开发阶段。

总结:

主要卖点:1.Dense架构,与其他模型的MOE架构不同

2.先训练出文本的能力后,加一些图像、视频等能力,偏保守的方案,因为加其他模态以后训练难收敛

Introduction

在预训练阶段,用大量的数据做预测下一个词的任务

在后训练阶段,让模型按照指令去做一些事情,或者对齐到一个人的喜好上,或者提升一些特定能力

Llama3数据堆到15T,而且是在多语言上。15T已经够大了,之后专注于提升数据质量就行,没必要扩充数据集了

没有使用MOE架构,就是对传统方法做大,后训练就做一个SFT、reject sampling和DPO

这里玩小心机,benchmark的对比是经过了不同的shot和CoT的,Llama系列缺乏调教,需要shot和CoT辅助后效果会更好,然而现实使用中还是希望zero-shot的

评价指标解读:

MMLU:各个考试里的多选题,考察知识面

IFEval:听从指令的程度

Pretrain

Pretrain-Data

清洗

数据更新到23年末

从多个数据源抓取数据,可能包括视频的字幕、书籍、互联网数据等

当数据含有大量PII信息或标记为危害网站时把信息扔掉

自己做了个parser,因为纯文字的信息不是大多数,html清洗容易洗掉很多数据;对数学公式和代码块针对性清洗

说markdown对模型有害,所以把markdown都扔了,但GPT等模型的输入输出都支持markdown;因为Llama的训练数据是爬取的web html信息,数据的格式以html template的方式呈现,所以markdown在这里对模型有影响

去重

按URL去重、正文抽出来相似度高于阈值去重(MinHash)、重复字数超过6个的行去重

启发式过滤

计算n-gram,如果n很大且重复比较多,就丢掉

设计一个dirty words列表放训练效果不好的词

计算文档与总体文档之间的KL散度,差太多说明这篇文档内容比较奇怪

模型分类

训练模型判断文章质量,用FastText或Roberta

推理数据

训练模型判断文章是否有推理性的数据,对其进行更细致的提取

多语言

抓了176个语言

Data Mix

知识分类

把网上爬取到的数据分类,进行加权

Scaling Law

采取多个混合比例

Summary

50%通用数据,25%数学和reasonable token,17%代码,8%多语言

Annealing data

在少数量的代码和数学上退火能帮助提升效果

预训练完之后的后训练阶段,开放一点学习率对高质量少量的代码和数学数据进行训练

Model Architecture

使用dense架构的transformer

GQA

节省内存

蓝色代表self attention,红色代表多头注意力,绿色是权重矩阵,红色是不同长度的也就是不同头算出的qkv

当需要计算一个新的注意力时,需要用新的q和之前的每个k计算注意力分数,如果讲之前的k和v保留,则需要放入内存中,这就是kv cache

GQA就将多头注意力的kv分组存成一个矩阵,因为他俩几乎是一样的

Attention Mask

对于一个消息窗口,例如8k,可能窗口中的输入来自多个文档,当计算注意力时,多个文档相互计算,但解码时只关注自己的文档,把其他的mask掉

Vocabulary

128K,相较于GPT4的100K,多了28K支持多语言

一个单词占用的token数变少

RoPE

使用RoPE做位置编码,超参数theta调大,从而支持比较长的上下文窗口

Scaling Law

小模型的验证误差可以用来预测一个大模型的验证误差,但预测下一个token的能力并不代表解决问题的能力,且小模型也并不能完全代表大模型性能

改进1.预测模型在downstream上的loss,也就是更关心具体任务

改进2.把Llama2的预测也拿过来训练

固定算力时,模型变小,可以训练的token数就变多

红色点连起来可以看到,loss随着模型增大差不多算是线性下降

x轴是预测下个词的似然估计

紫色的是Llama3用来做实验的小模型,中间用了Llama2的模型你和一条曲线,最后来预测Llama3 405B似然估计

Infrastructure, Scaling, and Efficiency

pass

相关推荐
Struart_R32 分钟前
Edify 3D: Scalable High-Quality 3D Asset Generation 论文解读
人工智能·深度学习·3d·扩散模型·三维生成·三维资产
声网40 分钟前
Runway 新增视频扩展画面功能;Anthropic 再获亚马逊投资 40 亿美元,聚焦 AI 芯片研发丨 RTE 开发者日报
人工智能
量子位1 小时前
将活体神经元植入大脑,他和马斯克闹掰后开辟脑机接口新路线
人工智能
forestsea1 小时前
【Java 解释器模式】实现高扩展性的医学专家诊断规则引擎
java·人工智能·设计模式·解释器模式
九筠1 小时前
【自然语言处理】word2vec
人工智能·自然语言处理·word2vec
凌虚(失业了求个工作)1 小时前
Web 端语音对话 AI 示例:使用 Whisper 和 llama.cpp 构建语音聊天机器人
前端·人工智能·python·whisper·llama
XinZong1 小时前
【人工智能】利用OpenAI API Key轻松实现全自动数据分析!基础教程(附源码)
人工智能
YRr YRr2 小时前
深度解析神经网络中的最大池化层:工作原理、参数配置与应用示例
人工智能·深度学习·神经网络
爱研究的小牛2 小时前
AIVA 技术浅析(四):捕捉音乐作品中的长期依赖关系
人工智能·rnn·深度学习·aigc·lstm
LokiSan2 小时前
从社交媒体到元宇宙:Facebook未来发展新方向
人工智能·ai·vr·媒体·facebook