LLM系列-大模型技术汇总

news2024/12/15 21:45:27

LLM系列-大模型技术汇总

      • 1. 大模型技术汇总-参数高效迁移学习方法
      • 2. 千亿模型并行训练技术
        • 2.1. 数据并行(Data Parallelism,DP)
        • 2.2. 模型并行(Model Parallelism,MP)
          • 2.2.1. 流水线并行(Pipeline Parallelism,PP)
          • 2.2.2. 张量并行 (Tensor Parallelism,TP)
      • 3. 大模型面试高频问题整理
        • 3.1. GPT和Bert的区别?
        • 3.2. NLP哪些场景不适用大模型?
        • 3.3. ChatGPT的优缺点?
        • 3.4. GPT系列的演进?
        • 3.5. 为什么现在的大模型大多是decoder-only的架构?
        • 3.6. LLaMA的主要结构?
        • 3.7. 旋转位置编码的原理?
        • 3.8. RMSNorm和LayerNorm的区别?
        • 3.9. GLM是如何结合三种架构的?
        • 3.10. encoder的attention和decoder的attention的区别?
        • 3.11. 常见的大模型finetune方法?
        • 3.12. LoRA的原理,一般用在什么层?
        • 3.13. 低秩矩阵为什么表达能力弱?
        • 3.14. ChatGPT的训练步骤?
        • 3.15. RLHF分为几个阶段?
        • 3.16. PPO的原理?
        • 3.17. 为什么in-context learning有效?
        • 3.18. ChatGPT思维链能力是如何获取的?
        • 3.19. ChatGPT和 instructGPT的区别?
        • 3.20. BPE、wordpiece、sentencepiece的区别?
        • 3.21. attention的复杂度?attention的优化?
        • 3.22. Multihead self-attention代码实现?
        • 3.23. self-attention参数量计算?
        • 3.24. attention中QKV的含义和作用?
        • 3.25. attention mask是如何实现的?
        • 3.26. layer normalization的优化?
        • 3.27. layer normalization和batch normalization的区别?
        • 3.28. 位置编码的方式对比?
        • 3.29. Decoding方式对比?
        • 3.30. Bert的优缺点?MLM和NSP两个任务后续的改进?
        • 3.31. 国内做自研大模型的意义?

1. 大模型技术汇总-参数高效迁移学习方法

(Parameter-efficient Transfer Learning),即固定住Pretrain Language model的大部分参数,仅调整模型的一小部分参数来达到与Full fine-tuning接近的效果(调整的可以是模型自有的参数,也可以是额外加入的一些参数)。
下面这 3 类方法在微调时都固定了预训练参数,只训练添加的额外模块。

  1. adapter
    把一个称为 adapter 的模块插入到预训练模型的中间层
  2. Prefix Tuning
    Prefix-tuning是一种基于前缀的轻量化微调方法,为了增加前缀向量在训练时的稳定性,作者采用了重参数化的方法,通过一个若干较小的前缀向量经过单层MLP生成正常规模的前缀向量。在输入或者隐层添加多个可学习的前缀 tokens
    2.1 - Prompt-Tuning
    是Prefix Tuning的简化版本,只在输入层加入prompt tokens,并不需要加入MLP进行调整来解决难训练的问题,主要在T5预训练模型上做实验。随着预训练模型参数量的增加,Prompt Tuning的方法会逼近Fine-tune的结果。
    2.2. P-tuning
    P-Tuning同样提出将Prompt转换为可以学习的Embedding层,但同时考虑到直接对Embedding参数进行优化会存在这样两个挑战:
    1. Discretenes:对输入正常语料的Embedding层已经经过预训练,而如果直接对输入的prompt embedding进行随机初始化训练,容易陷入局部最优。
    1. Association:没法捕捉到prompt embedding之间的相关关系。

2.3. P-tuning与Prefix-Tuning的区别

    1. 在Prefix Tuning是将额外的embedding加在开头,看起来更像是模仿Instruction指令;而P-Tuning的位置则不固定。
    1. Prefix Tuning通过在每个Attention层都加入Prefix Embedding来增加额外的参数,通过MLP来初始化;而P-Tuning只是在输入的时候加入Embedding,并通过LSTM+MLP来初始化。

2.4. P-tuning-V2
P-Tuning v2的目标就是要让Prompt Tuning能够在不同参数规模的预训练模型、针对不同下游任务的结果上都达到匹敌Fine-tuning的结果。

    1. 不同模型规模:Prompt Tuning和P-tuning这两种方法都是在预训练模型参数规模够足够大时,才能达到和Fine-tuning类似的效果,而参数规模较小时效果则很差。
    1. 不同任务类型:Prompt Tuning和P-tuning这两种方法在sequence tagging任务上表现都很差。

2.5. P-tuning-V2比Prompt Tuning和P-tuning的好處
P-tuning v2方法在多层加入了Prompts tokens作为输入,带来两个方面的好处:

    1. 带来更多可学习的参数(从P-tuning和Prompt Tuning的0.1%增加到0.1%-3%),同时也足够parameter-efficient。
    1. 加入到更深层结构中的Prompt能给模型预测带来更直接的影响。
  1. LoRA
    通过学习两个小参数的低秩矩阵来近似权重矩阵的参数更新
    LoRA是一种基于低秩的轻量化微调方法,也是目前在大模型领域应用最多的方法。相较于Adapter,LoRA不需要对模型添加额外的参数化结构。而相较于Prefix-tuning,LoRA不需要对输入端进行修改。取而代之的是,LoRA通过对模型参数的优化量进行了低秩近似。

其理论依据在于:神经网络通常包含大量的全连接层,并通过执行矩阵乘法来完成前向传播。这些全连接层中的参数矩阵往往是满秩的,对模型的训练过程其实就是在学习优化这些参数矩阵。而预训练模型中的参数矩阵往往存在一个”本征维度“,即我们学习到的这些参数的优化量可以是低秩的,被映射到一个低维空间下也能保持很好的性能。在这样的前提下,我们可以只对参数矩阵中低秩的部分进行优化,并将整体的训练过程表示成一个低秩矩阵的优化过程:

图片

前向传播过程可以表示如下:

图片
A、B是两个低维的矩阵,相较于原本的参数规模,待优化的参数规模被大大减小。整体的流程如下所示:
在这里插入图片描述

在RoBERTa,DeBERTa,GPT-2与GPT-3上,LoRA在只训练极少数参数的情况下取得了接近全参数微调的结果,证明了该方法的有效性。


參考:大模型微调技术汇总

2. 千亿模型并行训练技术

进行并行加速,可以从数据和模型两个维度进行考虑。

2.1. 数据并行(Data Parallelism,DP)

数据进行切分(Partition),并将同一个模型复制到多个设备上,并行执行不同的数据分片。
在数据并行系统中,每个计算设备都有整个神经网络模型的完整副本(Model Replica),进行迭代时,每个计算设备只分配了一个批次数据样本的子集,并根据该批次样本子集的数据进行网络模型的前向计算。假设一个批次的训练样本数为 N,使用 M 个计算设备并行计算,每个计算设备会分配到 N/M 个样本。前向计算完成后,每个计算设备都会根据本地样本计算损失误差得到 梯度 Gi(i 为加速卡编号),并将本地梯度 Gi 进行广播。所有计算设备需要聚合其他加速度卡给 出的梯度值,然后使用平均梯度 (ΣN i=1Gi)/N 对模型进行更新,完成该批次训练。

2.2. 模型并行(Model Parallelism,MP)

对模型进行划分, 将模型中的算子分发到多个设备分别完成

2.2.1. 流水线并行(Pipeline Parallelism,PP)

按模型的层切分到不同设备,即层间并 行或算子间并行(Inter-operator Parallelism)

  • 流水线气泡(Pipeline Bubble)
    计算图中的下游设备(Downstream Device)需要长时 间持续处于空闲状态,等待上游设备(Upstream Device)的计算完成,才能开始计算自身的任务。这种情况导致了设备的平均使用率大幅降低,形成了模型并行气泡(Model Parallelism Bubble),也称为流水线气泡(Pipeline Bubble)
2.2.2. 张量并行 (Tensor Parallelism,TP)

将计算图层内的参数切分到不同设备,即层内并行或算子内并行(Intra-operator Parallelism)


參考:千亿模型并行训练技术

3. 大模型面试高频问题整理

3.1. GPT和Bert的区别?

參考:GPT和Bert的区别

3.2. NLP哪些场景不适用大模型?
  • 推荐
  • 知识图谱
3.3. ChatGPT的优缺点?
3.4. GPT系列的演进?
3.5. 为什么现在的大模型大多是decoder-only的架构?

LLM之所以主要都用Decoder-only架构,除了训练效率和工程实现上的优势外,在理论上是因为Encoder的双向注意力会存在低秩问题,这可能会削弱模型表达能力,就生成任务而言,引入双向注意力并无实质好处。

3.6. LLaMA的主要结构?

在这里插入图片描述

參考:LLaMA v1/2模型结构总览

3.7. 旋转位置编码的原理?
3.8. RMSNorm和LayerNorm的区别?
3.9. GLM是如何结合三种架构的?
3.10. encoder的attention和decoder的attention的区别?
3.11. 常见的大模型finetune方法?
3.12. LoRA的原理,一般用在什么层?
3.13. 低秩矩阵为什么表达能力弱?
3.14. ChatGPT的训练步骤?
3.15. RLHF分为几个阶段?
3.16. PPO的原理?
3.17. 为什么in-context learning有效?
3.18. ChatGPT思维链能力是如何获取的?
3.19. ChatGPT和 instructGPT的区别?
3.20. BPE、wordpiece、sentencepiece的区别?
3.21. attention的复杂度?attention的优化?
3.22. Multihead self-attention代码实现?
3.23. self-attention参数量计算?
3.24. attention中QKV的含义和作用?
3.25. attention mask是如何实现的?
3.26. layer normalization的优化?
3.27. layer normalization和batch normalization的区别?
3.28. 位置编码的方式对比?
3.29. Decoding方式对比?
3.30. Bert的优缺点?MLM和NSP两个任务后续的改进?
3.31. 国内做自研大模型的意义?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1140867.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ubuntu16.04 python matplotlib 输出轴标签出现中文乱码

问题:坐标轴打印中文时,显示会乱码 import matplotlib.pyplot as plt plt.ylabel(时间刻度)原因:matplotlib里面没有中文字体解决方法:下载SimHei字体,快捷方法是使用everything直接在windows搜索simhei.ttf&#xff…

【0230】PG内核底层事务(transaction)实现原理之基础篇

1. 事务上层 事务是如何工作? 接下来让我们通过gdb方式来跟踪一下PG内核中事务的底层工作原理。 (1)psql登录PG服务(2)psql登录界面输入:begin(3)gdb跟踪backend进程读取用户的输入,并进入exec_simple_query()函数函数exec_simple_query()的实现如下: static void …

JAVA实现学生日常行为评分管理系统 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、系统设计2.1 功能模块设计2.2.1 登录注册模块2.2.2 用户管理模块2.2.3 评分项目模块2.2.4 评分数据模块2.2.5 数据字典模块 2.3 可行性设计2.4 用例设计2.5 数据库设计2.5.1 整体 E-R 图2.5.2 用户2.5.3 评分项目2.5.4 评分数据2.5.…

PyTorch入门教学——torchvision中数据集的使用

1、torchvision.datasets datasets是torchvision工具集中的一个工具。可以理解为调用官方数据集的一种方式,其中有很多开源的数据集,可供我们学习使用。datasets官网:Datasets — Torchvision 0.16 documentation (pytorch.org) 2、使用 …

【漏洞复现】用友OA用户信息泄露

漏洞描述 通过该接口可下载oa用户信息文件 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危害国家安全、荣誉和利益,未经授权请勿利用文章中的技…

链游风暴再起?MBOX即将再度起飞

近期链游再次进入了我们的视野,Play To Earn在21年大放异彩之后经过了2年沉寂近期终于有了再度爆发的征兆,不管是前段时间爆拉7倍的YGG,还是近期一路高歌猛进的MC都已经吹响了链游板块即将冲锋的信号,那么近期还有哪些值得关注的链…

element form中input使用@keyup.enter.native回车页面刷新问题

当form中只有一个文本框的时候,使用keyup.enter.native会自动触发form的submit提交事件 地址栏会多出来一个? 解决方案: 在form中添加 submit.native.prevent ,阻止form提交默认事件

什么c++流行造轮子而不是调包侠?

什么c流行造轮子而不是调包侠? 因为在c(和c)中,你造的轮子是真的可以跟官方的轮子拼性能的,只要你的算法足够优秀,实现足够小心。 最近很多小伙伴找我,说想要一些c资料,然后我根据自…

大语言模型(LLM)综述(四):如何适应预训练后的大语言模型

A Survey of Large Language Models 前言5. ADAPTATION OF LLMS5.1 指导调优5.1.1 格式化实例构建5.1.2 指导调优策略5.1.3 指导调优的效果5.1.4 指导调优的实证分析 5.2 对齐调优5.2.1 Alignment的背景和标准5.2.2 收集人类反馈5.2.3 根据人类反馈进行强化学习5.2.4 无需 RLHF…

禅道项目管理系统 - 导出、导入zentao数据库

1. 导出zentao数据库 导出 - 保存(输出) - SQL(格式) 已导出zentao.sql 2. 导入zentao数据库 数据库zentao - 导入 选择sql文件 - 执行 导入成功

FindMy技术智能防丢物品

随着科技的进步,人们越来越关注物品的追踪技术。苹果公司在早先发布的AirTag让人们对于物品追踪技术有了新的认识。作为一项基于蓝牙的追踪技术,苹果的Find My功能不仅能够追踪苹果设备,还可以与第三方设备合作,打造一个更加完善的…

世微 宽电压降压 DC-DC 电源管理芯片 以太网平衡车工业控制电源驱动12V6A AP8854

1,产品描述 AP8854 一款宽电压范围降压型 DC-D 电源管理芯片,内部集成使能开关控制、基 准电源、误差放大器、过热保护、限流保 护、短路保护等功能,非常适合宽电压输 入降压使用。 AP8854 带使能控制,可以大大节省外 围器件&…

机器学习实验七:决策树-基于信贷数据集,使用sklearn中相关库实现决策树的构造

决策树-基于信贷数据集,使用sklearn中相关库实现决策树的构造 如下图数据集,住房 (1表示拥有住房,0表示没有住房) ;婚姻 (0表示单身1表示已婚,2表示离异) ;年收入一栏中单位为1000元; (拖欠贷款一栏0表示不拖欠,1表示…

将CSDN或Confluence文章转为微信公众号格式

最近在更公众号文章,苦于排版和格式,就找了一个比较方便的方法,简单易用,排版也不错。 文章提取 有的文章是已经发布在其它平台了,比如CSDN或Confluence,可以使用飞书剪存方便的将文章提取出来&#xff0…

JavaScript在IE和标准浏览器下的兼容性处理

目录 ​编辑 前言 1. 事件对象的获取 2. 获取浏览器窗口的宽度和高度 3. 获取事件的目标元素 4. 阻止事件的默认行为 5. 阻止事件冒泡 6. 设置和获取元素的属性 7. 类名的操作 8. AJAX的兼容性处理 9. DOM元素的操作 10. 样式的获取和设置 总结 前言 在Web开发中…

VSCode安装使用(含插件保姆级教程)

前言 工欲善其事,必先利其器 对于我们每一位软件工程师来说,都要有自己顺手的 IDE 开发工具,它就是我们的武器。 一个好用的 IDE 不仅能提升我们的开发效率,还能让我们保持愉悦的心情,这样才是非常 Nice 的状态 &…

喜讯 | 同立海源CGT核心原料CD28单抗完成FDA DMF备案

喜 讯 GOOD NEWS 近日,北京同立海源生物科技有限公司(简称“同立海源”)的CGT核心原料CD28单抗成功获得美国FDA DMF备案,DMF备案号:038820。 您的细胞治疗研究项目在进行临床申请或新药注册的文件中可直接引用DMF备…

国家数据局国考招录12人;两万字全景讲解Agent;当基座LLM公司开始转2C;「霉霉说中文」视频的3种实现方案 | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🉑 国家数据局正式揭牌,今年计划在国考中招录12人 10月25日上午,国家数据局正式揭牌,由国家发展和改革…

三季度毛利“转正”的零跑,四季度已经打响“第一枪”?

近日,零跑汽车发布了2023年第三季度财报。整体来看,零跑三季度营收和交付均取得较大突破,尤其在交付方面,零跑的C系列车型更是取得了超十倍的涨幅。与此同时,零跑C系列的新车型也爆出了动态。零跑即将推出新车型C10&am…

36二叉树-翻转二叉树

目录 LeetCode之路——226. 翻转二叉树 分析 解法一:深度优先搜索 解法二:广度优先搜索 简单总结 LeetCode之路——226. 翻转二叉树 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输…