update llama
This commit is contained in:
@@ -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-3,Llama系列模型展示了大规模预训练语言模型的演进及其在实际应用中的显著潜力。
|
||||
|
||||
### (1) 模型架构——Decoder Only
|
||||
|
||||
与GPT系列模型一样,Llama模型也是基于Decoder-Only架构的预训练语言模型。Llama模型的整体结构与GPT系列模型类似,只是在模型规模和预训练数据集上有所不同。以下是Llama-3模型的架构示意图:
|
||||
|
||||

|
||||
|
||||
与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)
|
||||
BIN
docs/chapter3/figures/3-1.png
Normal file
BIN
docs/chapter3/figures/3-1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 907 KiB |
Reference in New Issue
Block a user