update llama

This commit is contained in:
KMnO4-zx
2024-07-14 19:29:50 +08:00
parent fb6396e8ed
commit 2ab5c66d15
2 changed files with 44 additions and 1 deletions

View File

@@ -74,9 +74,52 @@ GPT-3 则是更进一步展示了 OpenAI“力大砖飞”的核心思路
在 GPT 系列模型的基础上,通过引入预训练-指令微调-人类反馈强化学习的三阶段训练OpenAI 发布了跨时代的 ChatGPT引发了大模型的热潮。也正是在 GPT-3 及 ChatGPT 的基础上LLaMA、ChatGLM 等模型的发布进一步揭示了 LLM 的无尽潜力。在下一节,我们将深入剖析目前 LLM 的普适架构——LLaMA。
## LLaMA
Llama模型是由Meta前Facebook开发的一系列大型预训练语言模型。从Llama-1到Llama-3Llama系列模型展示了大规模预训练语言模型的演进及其在实际应用中的显著潜力。
### 1 模型架构——Decoder Only
与GPT系列模型一样Llama模型也是基于Decoder-Only架构的预训练语言模型。Llama模型的整体结构与GPT系列模型类似只是在模型规模和预训练数据集上有所不同。以下是Llama-3模型的架构示意图
![alt text](./figures/3-1.png)
与GPT类似llama模型的处理流程也始于将输入文本通过tokenizer进行编码转化为一系列的input_ids。这些input_ids是模型能够理解和处理的数据格式。接下来这些input_ids会经过embedding层的转换这里每个input_id会被映射到一个高维空间中的向量即词向量。同时输入文本的位置信息也会通过positional embedding层被编码以确保模型能够理解词序上下文信息。
这样input_ids经过embedding层和positional embedding层的结合形成了hidden_states。hidden_states包含了输入文本的语义和位置信息是模型进行后续处理的基础hidden_states随后被输入到模型的decoder层。
在decoder层中hidden_states会经历一系列的处理这些处理由多个decoder block组成。每个decoder block都是模型的核心组成部分它们负责对hidden_states进行深入的分析和转换。在每个decoder block内部首先是一个masked self-attention层。在这个层中模型会分别计算query、key和value这三个向量。这些向量是通过hidden_states线性变换得到的它们是计算注意力权重的基础。然后使用softmax函数计算attention score这个分数反映了不同位置之间的关联强度。通过attention score模型能够确定在生成当前词时应该给予不同位置的hidden_states多大的关注。然后模型将value向量与attention score相乘得到加权后的value这就是attention的结果。
在完成masked self-attention层之后hidden_states会进入MLP层。在这个多层感知机层中模型通过两个全连接层对hidden_states进行进一步的特征提取。第一个全连接层将hidden_states映射到一个中间维度然后通过激活函数进行非线性变换增加模型的非线性能力。第二个全连接层则将特征再次映射回原始的hidden_states维度。
最后经过多个decoder block的处理hidden_states会通过一个线性层进行最终的映射这个线性层的输出维度与词表维度相同。这样模型就可以根据hidden_states生成目标序列的概率分布进而通过采样或贪婪解码等方法生成最终的输出序列。这一过程体现了llama模型强大的序列生成能力。
### 2 Llama模型的发展历程
#### Llama-1 系列:
- Meta于2023年2月发布了Llama-1包括7B、13B、30B和65B四个参数量版本。
- 这些模型在超过1T token的语料上进行了预训练其中最大的65B参数模型在2,048张A100 80G GPU上训练了近21天。
- Llama-1因其开源性和优异性能迅速成为开源社区中最受欢迎的大模型之一。
#### Llama-2 系列:
- 2023年7月Meta发布了Llama-2包含7B、13B、34B和70B四个参数量版本除了34B模型外其他均已开源。
- Llama-2将预训练的语料扩充到了2T token并将模型的上下文长度从2,048翻倍到了4,096。
- 引入了分组查询注意力机制Grouped-Query Attention, GQA等技术。
#### Llama-3 系列:
- 2024年4月Meta发布了Llama-3包括8B和70B两个参数量版本同时透露400B的Llama-3还在训练中。
- Llama-3支持8K长文本并采用了编码效率更高的tokenizer词表大小为128K。
- 使用了超过15T token的预训练语料是Llama-2的7倍多。
Llama模型以其技术创新、多参数版本、大规模预训练和高效架构设计而著称。模型支持从7亿到数百亿不等的参数量适应不同规模的应用需求。Llama-1以其开源性和优异性能迅速受到社区欢迎而Llama-2和Llama-3进一步通过引入分组查询注意力机制和支持更长文本输入显著提升了模型性能和应用范围。特别是Llama-3通过采用128K词表大小的高效tokenizer和15T token的庞大训练数据实现了在多语言和多任务处理上的重大进步。Meta对模型安全性和社区支持的持续关注预示着Llama将继续作为AI技术发展的重要推动力促进全球范围内的技术应用和创新。
**参考资料**
1. [Improving Language Understanding by Generative Pre-Training](https://cdn.openai.com/research-covers/language-unsupervised/language_understanding_paper.pdf)
2. [Language Models are Unsupervised Multitask Learners](https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf)
3. [Language Models are Few-Shot Learners](https://arxiv.org/pdf/2005.14165)
3. [Language Models are Few-Shot Learners](https://arxiv.org/pdf/2005.14165)
4. [万字长文带你梳理Llama开源家族从Llama-1到Llama-3](https://mp.weixin.qq.com/s/5_VnzP3JmOB0D5geV5HRFg)

Binary file not shown.

After

Width:  |  Height:  |  Size: 907 KiB