当前位置: 首页 > news >正文

Llama系列关键知识总结

系列文章目录

第一章:LoRA微调系列笔记
第二章:Llama系列关键知识总结
第三章:LLaVA模型讲解与总结


文章目录

  • 系列文章目录
  • Llama: Open and Efficient Foundation Language Models
    • 关键要点
    • LLaMa模型架构:
    • Llama2
      • 分组查询注意力 (GQA)
    • Llama3
      • 关键信息
  • 引用:


Llama: Open and Efficient Foundation Language Models

关键要点

Meta发布的完全开源的大语言模型,参数量从7B到65B,llama只在公开数据集上进行训练,但依然取得了强大的性能。LLaMa-13B在许多基准测试中都优于GPT-3(175B)

GPT-3把模型的参数量扩大到175B并取得了惊人的涌现能力,使得后续研究者都相信,随着模型参数量的增大,模型必将取得更好的性能,因此后续的很多工作都放在了扩大大语言模型的参数量级,但扩大参数量级真的就是唯一的研究路径了吗?我们是不是忽视了数据对模型性能的影响?
DeepMind在NeurIPS2022上发表Training Compute-Optimal Large Language Models论文,发现:训练最优性能的LLM模型,模型的参数量和训练数据规模需要同比增大。因此,当我们在相同的计算资源下,LLM的性能不仅可以通过增加参数量来实现性能提升,也可以通过提升数据量来提升,因此数据也参数量级同样重要。
但如果从推理成本考虑,大部分用户是不需要自己训练LLM的,只是用LLM进行推理就可以了,因此考虑推理的性能,小参数的LLM是更加友好的,LLaMa 沿着小 LLM 配大数据训练的指导思想,训练了一系列性能强悍的语言模型,参数量从 7B 到 65B。例如,LLaMA-13B 比 GPT-3(175B)小10倍,但是在大多数基准测试中都优于 GPT-3。大一点的 65B 的 LLaMa 模型也和 Chinchilla 或者 PaLM-540B 的性能相当。

LLaMa模型架构:

  1. 与GPT等生成模型类似,LLaMA也只使用了Transformer的解码器
  2. Pre-normalization:为了提高训练稳定性,LLaMa 对每个 Transformer 的子层的输入进行归一化,而不是对输出进行归一化。使用 RMSNorm归一化函数。
  3. SwiGLU激活函数
  4. Rotary Embedding LLaMa 去掉了绝对位置编码,使用旋转位置编码

Llama2

预训练语料库的大小增加了 40%,模型的上下文长度翻倍,并采用了分组查询注意力。发布了 7B、13B 和 70B 参数的 Llama 2 变体

与 Llama 1的主要架构差异包括增加上下文长度分组查询注意力 (GQA)
在这里插入图片描述

分组查询注意力 (GQA)

增加上下文长度比较好理解,简单的在训练前规定了最大上下文长度为4096,本文主要介绍LLaMA2中改进的注意力机制。
在这里插入图片描述

  1. MHA(Multi-Head Attention):输入数据分成多个头,每个头独立进行注意力计算;每个head完成QKV计算后进行相加输出。
  2. MQA(Multi-Query Attention):Q仍然是多头的,KV是共享的;举例来说,以ChatGLM2-6B为例,一共28层,32个注意力头,若采用MHA,则Q、K、V矩阵各有28×32个,而采用MQA的方式则整个模型包含28×32个Q矩阵,28×1个K矩阵,28×1个V矩阵。这种方法在提高推理效率的同时,也能够保持模型的性能。
  3. GQA(Group-Query Attention):Q仍然是多头的,KV是分组共享的,减少了KV缓存所需要的缓存空间,同时也避免了参数减少导致的精度损失严重,在参数和精度两方面进行了平衡。

Llama3

关键信息

  1. 2024年4月,Meta 重磅推出了Meta Llama 3大语言模型

  2. 从模型架构上看,LLaMA 3和LLaMA 2基本没有区别,同样使用了Transformer的Decoder-only架构

  3. Llama 3在超过15T的token上进行预训练,所有数据都来自公开可用的来源。我们的训练数据集比用于Llama 2的数据集大了七倍,并且包括了四倍的代码。为了准备即将到来的多语言用例,超过5%的Llama 3预训练数据集由高质量的非英语数据组成,覆盖了超过30种语言。然而,我们不期望在这些语言中达到与英语相同的性能水平。

引用:

LLaMa系列模型详解(原理介绍、代码解读):LLaMa
LLaMa系列模型详解(原理介绍、代码解读):LLaMA 2
LLaMa系列模型详解(原理介绍、代码解读):LLaMA 3


http://www.mrgr.cn/news/81953.html

相关文章:

  • 软件工程期末复习(一)
  • ubuntu初始配置
  • 思科无线控制器 AC5508 初始化
  • 聊聊 Java 中的反射
  • 深入Android架构(从线程到AIDL)_03 IPC的IBinder接口
  • ES6中定义私有属性详解
  • 012-spring的注解开发、bean的属性、IOC实现原理
  • arcface
  • QT 学习第十四天 QWidget布局
  • SpringBoot对静态资源的映射规则
  • STM32-笔记20-测量按键按下时间
  • 计算机网络期末复习
  • C++ 设计模式
  • BUG分析 - 重启有时失败
  • 预计5.2.1版本的SharedingSphere Hint指定数据库未生效问题
  • 计算机网络500题2024-2025学年度第一学期复习题库(选择、判断、填空)
  • 前端项目 npm报错解决记录
  • ROUGE指标在自然语言处理中的应用:从理论到实践
  • 数字图像处理
  • C++算法知识点
  • sqlalchemy-access库操作MS Access
  • FFmpeg 4.3 音视频-多路H265监控录放C++开发二十一.4,SDP协议分析
  • 若依数据权限控制
  • Diffusion Transformer(DiT)——将扩散过程中的U-Net换成ViT:近频繁用于视频生成与机器人动作预测(含清华PAD详解)
  • Three.js 字体
  • html转PDF