八问八答搞懂Transformer内部运作原理

Transformer——从原理、模型架构到内部细节介绍 Transformer模型是一种基于注意力机制的深度学习模型,最早由Google在2017年的论文《AttentionIsAllYouNeed》中提出。自其问世以来就迅速席卷了自然语言处理他(NLP)领域,并在各类主流任务上取得了新的突破,包括机器翻译、语言建模、序列标注和文本分类等。在NLP领域取得巨大成功后,迅速扩展到了计算机视觉(CV)领域,并带来了革命性的变化。这种基于自注意力机制的深度学习模型,不仅在NLP任务中力压群雄,也成为CV领域的新宠。 阅读详情

七年前,论文《Attention is all you need》提出了 transformer 架构,颠覆了整个深度学习领域。

如今,各家大模型都以 transformer 架构为基础,但 transformer 内部运作原理,仍是一个未解之谜。

去年,transformer 论文作者之一 Llion Jones 宣布创立人工智能公司 Sakana AI。近期,Sakana AI 发表了一篇题为《Transformer Layers as Painters》的论文,探究了预训练 transformer 中的信息流,并针对仅解码器和仅编码器冻结 transformer 模型进行了一系列实验。请注意,该研究没有对预训练模型进行任何类型的微调。

图片

论文地址:https://arxiv.org/pdf/2407.09298v1

该研究认为 transformer 的内部机制(特别是中间层)可以类比画家作画流水线来理解。

作画流水线通常是将画布(输入)传递给一系列画家。有些画家擅长画鸟类,而另一些画家则擅长画轮子。每个画家从其下一级画家那里收到画布,然后其决定是否给画作添加一些笔画,或者只是将其传递给其上一级画家(使用剩余连接)。

这个类比并不是一个严格的理论,而是一个思考 transformer 层的工具。受这个类比的启发,该研究测试验证了一些假设:

  • 各层是否都在使用相同的表征空间?
  • 所有层都是必要的吗?
  • 中间层都执行相同的功能吗?
  • 层的顺序重要吗?
  • 这些层可以并行运行吗?
  • 对于某些任务来说,顺序是否比其他因素更重要?
  • 循环有助于层并行吗?
  • 哪些变体对模型性能影响最小?

该研究对预训练 LLM 进行了一系列实验,其中包括试验标准 transformer 执行策略的变化,并在仅解码器 (Llama) 和仅编码器 (BERT) 模型的各种基准上测量这些变化对模型性能的影响。

各层是否都在使用相同的表征空间?

为了回答不同层是否使用相同的表征空间,作者测试了 Transformer 在跳过特定层或切换相邻层的顺序时是否具有稳健性。例如,在 Llama2-7B 中,第 6 层通常期望接收第 5 层的输出。如果给第 6 层以第 4 层的输出,它是否会出现「灾难性」的行为?

在图 2 中,我们可以看到,除了第一层和最后几层之外,Llama2-7B 的各层对跳层或切换层都相当稳健。

图片

该实验表明,中间层共享一个表征空间,且与「外围层」(第一层和最后几层)拥有不同的表征空间。为了进一步验证这一假设,作者效仿之前的研究,测量了基准中模型(Llama2-7B、Llama2-13B 和 BERT-Large)不同层的隐藏状态激活之间的平均余弦相似度。图 3 显示了所有中间层之间的一致性。

图片

这表明该模型可能具有「开始」、「中间」和「结束」层的三个不同的表征空间。回答问题 1:是的,中间层似乎共享一个共同的表征空间。

所有层都是必要的吗?

为了进一步测试中间层的重定向空间是否真正共享(除了具有接近的余弦相似度之外),该研究尝试了「跳过层」,即将第 N 层的输出直接发送到第 N + M 层(其中 M > 1)的输入中,从而「跳过」M − 1 层,如图 1a 所示。该实验是为了看看第 N + M 层是否可以理解第 N 层的激活,尽管它仅根据从第 N + M − 1 层发来的输入进行训练。图 4 显示,Llama2-7B 和 BERT-Large 在许多基准测试上性能均出现适度下降。回答问题 2,是否所有层都是必要的:

不,至少可以删除一些中间层而不会发生灾难性故障。

图片

中间层都执行相同的功能吗?

如果中间层都共享一个共同的表征空间,这是否意味着除此之外的中间层是多余的呢?为了测试这一点,研究者们重新运行了前一子节中的「跳过」实验,他们将中间层的权重替换为中心层的权重,有效地在被替换的每一层上循环 T - 2N + 1 次,其中 T 是总层数(Llama2-7B 为 32 层,BERT-Large 为 24 层)。

图片

如图 5 所示,可以观察到,随着被替换层数的增加,模型在基准测试的得分迅速下降。从后文的图 11 看来,这种替换层的做法比研究者们尝试的其他方法都更糟糕。因此,研究者得出结论:中间层执行的是不同的功能,让中间层之间共享权重并不可行。

图片

层的顺序重要吗?

之前的实验表明,中间层共享一个表示空间,但在该空间中负责不同的功能。下一个需要解决的问题是,这些功能的顺序有何意义。为了解决这个问题,研究者们设计了两组实验。首先,以与训练时相反的顺序来运行中间层。具体来说,取第 T - N 层的输出,将其输入到第 T - N - 1 层,然后将这一层的输出输入到第 T - N - 2 层,依此类推,一直到第 N 层,再将这一层的输出发送到后面的 T - N 层。在第二组实验中,研究者采用随机顺序运行中间层,并在 10 个种子值上取平均值。

图 6 和图 7 分别显示了反向和以随机顺序运行中间层的结果,模型在所有基础测试集中都显示出了逐渐下降的趋势。这也表明虽然层的顺序对模型来说有一定的重要性,但即使改变了顺序,这些层仍然能够发挥作用。

更有趣的是,随机打乱层的顺序比完全反过来效果更好。这可能是因为,随机打乱的顺序在某些方面保留了层之间的一些原有关系(即层 i 在层 j 之后,其中 i > j),而完全反过来则完全打破了这些关系。

这些层可以并行运行吗?

为了验证层本身存在比执行的顺序更重要,研究者们设计了一个实验,并行运行中间层,将它们的平均结果发送给最终的 N 层。

如图 8 所示,模型在所有基准测试中的表现均呈现了一种平缓下降趋势,然而,这种趋势并不适用于 GSM8K 中的数学应用题。

实验结果显示,大部分情况下这种方法都是有效的,只是一些复杂的数学题处理得不太好。这种并行处理方法相比直接跳过一些层,效果更好,但不如按反向顺序运行层的效果出色。基于此,研究者得出结论:并行运行层在一般情况下是可行的,但对于需要顺序逻辑理解的数学问题,这种方法可能不太适用。

图片

对于某些任务来说,顺序是否比其他因素更重要?

对于大多数经过「改造」的模型,在面对抽象推理(ARC)或数学推理(GSM8K)基准测试时,它们往往显示出最陡峭的下降趋势。这一现象可能源于逐步推理任务对于模型层级顺序的敏感度远高于那些主要依赖语义理解的常识性任务。与那些仅通过理解语义便能完成的任务不同,推理任务要求模型同时把握结构与含义。这种观察与模型在单次处理过程中可能进行一定程度的顺序依赖性推理的假设相吻合。

研究者使用了一个比喻来说明:如果画一幅由许多不同元素组成的拼贴画,那么画的顺序可能不那么重要;但如果是要画一幅精确的建筑场景,那么每一笔的顺序就变得非常重要了。据此,研究者得出了结论:数学和推理任务对模型层的顺序具有更高的依赖性,而对于那些主要依赖语义理解的任务,顺序的影响则相对较小。

循环有助于层之间并行吗?

沿用上一节中画画的的比喻,当画家在画一幅画时,不是一开始就画所有东西,而是先画一部分,比如车身,然后再根据这部分来添加其他的东西,比如车轮。在 AI 模型中,层就是所谓的画家,处理信息就是在画画,如果先得到了正确的信息,也就先画出了所谓的车身,那么它们就能更好地完成自己的工作,为画作添加车轮。

对于 transformer 而言,当给予适当的输入时,层可能只在前向传播中做出贡献,并非通过残差连接「传递」输入。如果情况确实如此,那么迭代上一个实验中的并行层应该比单次执行并行层更能提高模型的性能。基于此,研究者通过将并行层的平均输出反馈到同一层中进行固定次数的迭代来测试这一点。

图 9 展示了将并行层循环 3 次的结果。循环并行 3 次的结果显著优于单次迭代(并行层)。起始层 N 设定为 15(针对 Llama2-7B 模型)或 11(针对 BERT 模型)时,即处于每种情况的极左端点,仅有单一的层级受到影响。在这种特定情况下,三次循环并行的效果等同于单纯地将中间层重复三次。与此同时,对于这一点上的并行层而言,其性能与完整模型无异。

图片

研究者们还针对不同的迭代次数重复了相同的实验。图 10 展示了 Llama2-7B 的性能随并行化层数 M 和迭代次数的变化情况。每个 M 的最高性能迭代次数用红框标出。除了 M=29 和 M=31(几乎并行化所有层)外,最佳迭代次数大致与并行化层数成线性比例。因此,研究者得出的结论是:最佳迭代次数与并行化层数成正比。

图片

如何调整层,对模型性能的影响最小?

最后,在图 11 中,研究者们将所有实验中对 Transformer 的「改造」进行了比较,在一个图表上显示了所有基准测试的中位数或平均性 。

图片

中间重复 —— 用相同数量的中间层副本替换中间层 —— 表现最差, 很快就降到了随机基线的性能。相反,循环并行和随机层顺序的影响最小。因此,研究者得出的结论是:重复单一层的影响最严重。随机化层顺序和循环并行的影响最小。

这些实验整体上显示出平缓的性能下降,但研究者仍然不清楚为什么这些层在大多数扰动下还能保持一定的稳健性,这个问题还需在未来的研究中进一步探讨。

​

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

Dynamics 365 F&O新手必看:Visual Studio 2019搭建项目框架全流程(含Model避坑指南) 本文详细介绍了如何在Visual Studio 2019中为Dynamics 365 Finance and Operations搭建企业级项目框架,包括Model分层策略、Solution管理及开发工作流优化。特别提供了Model避坑指南和实用配置建议,帮助新手快速上手并避免常见错误。 阅读详情

相关推荐

深入理解搜索引擎——搜索评价指标

    搜索引擎,在做好query理解、索引召回以及排序模型之后,就能直接推上线了吗?答案是否定的,还需对其性能和质量进行评测。性能无非是对时间和空间的运行效率作评测,不细讲,今天讲讲搜索引擎的质量评测。通过质量评测,可根据评测结果不断的进行改进和研究,也可以验证搜索引擎在真实环境中运行时的实际效果。因此,搜索引擎的质量评测对于整个系统的研制和发展是至关重要的。     那么有哪些指标可以评估搜索引擎的结果质量呢?最广为人知的

我是药老的博客 4485

AI之Transformer:Transformer算法原理探索之基于 Transformer 模型层的中间层表示空间及其对计算效率的影响之实证研究

​ AI之Transformer:Transformer探索之基于 Transformer 模型层的中间层表示空间及其对计算效率的影响之实证研究 目录 相关文章 基于 Transformer 模型层的中间层表示空间及其对计算效率的影响之实证研究 相关文章 《Transformer Layers as Painters》翻译与解读 地址 论文地址:https://arxiv.org/abs/2407.09298v1 时间 2024年7月12日 作者 Q

头部AI社区如有邀博主AI主题演讲请私信—心比天高,仗剑走天涯,保持热爱,奔赴向梦想!低调,专注,谦虚,自律,反思,成长,还算比较正能量的博主,公益免费传播…内心特别想在AI界做出一些可以推进历史进程影响力的技术(兴趣使然,有点小情怀,也有点使命感呀 2355

【Zephyr 系列 29】低功耗调试指南:电流测量、系统睡眠与功耗分析

Zephyr低功耗调试指南(150字摘要) 针对物联网设备续航需求,本文解析Zephyr低功耗调试方法:1️⃣ 机制:启用PM子系统和tickless idle,配置睡眠策略;2️⃣ 测量:推荐功耗分析仪捕捉μA级电流波动;3️⃣ 优化:管理唤醒源(如GPIO/RTC)、调整BLE广播/连接参数,挂起闲置外设;4️⃣ 分析:建立功耗文档,对比不同模式电流(如待机0.6mA vs广播3.2mA)。强调低功耗需系统性设计,初期即需纳入测试流程。下期将探讨Zephyr OTA升级实现。

hemoparrot的专栏 1180

八问八答,深入浅出搞懂Transformer内部运作原理

同学们在学习Transformer时是否觉得难以理解或者很难理清其内部运作原理呢。本文将通过八个关键问题帮助大家搞懂Transformer内部工作原理,希望对大家有所帮助。七年前,论文《Attention is all you need》提出了 transformer 架构,颠覆了整个深度学习领域。如今,各家大模型都以 transformer 架构为基础,但 transformer 内部运作原理,仍是一个未解之谜。

2401_85375186的博客 854

CMMI AIM 人工智能成熟度框架:31个过程域的157项AI实践集成

CMMI AIM人工智能成熟度框架为企业提供了系统化管理AI项目全生命周期的解决方案,包含31个过程域的157项AI实践。该框架通过四个演进阶段(混沌与风险、结构与凝聚、验证与信任、价值与增长),帮助组织建立可持续的AI能力成长路径,降低项目失败率并提升商业价值。

weixin_42613501的博客 352

新版MQL语言程序设计:用vscode编写编译调试mt4和mt5程序

使用VScode搭建MT4与MT5开发环境,实现编辑编译调试统一。

超哥量化的博客 6872

揭秘 Transformer 内部原理:八问八答全解析!

近期,Sakana AI 发表了一篇题为《Transformer Layers as Painters》的论文,探究了预训练 transformer 中的信息流,并针对仅解码器和仅编码器冻结 transformer 模型进行了一系列实验。请注意,该研究没有对预训练模型进行任何类型的微调。论文地址:https://arxiv.org/pdf/2407.09298v1该研究认为 transformer...

机器学习算法与Python学习 254

AUTOSAR知识点 之 XCP (二):XCP基础概念

学习XCP的过程中,对XCP的基本概念要做一个全面的认知,因为里面有很多缩写以及难以理解的点,假设对此模模糊糊一知半解,那么对整个协议栈的认知会遇到极大的障碍。XCP的信号流传输图示如下XCP 标准主要分为 5 个部分:这部分提供了对于协议的一个概况介绍,包括 XCP 的功能和基础性内容。这部分内容对协议层进行了详细的规范和说明。

梦想技术家 2769

深入解析与应用:一篇文章带你搞懂Transformer模型

Transformer模型自从2017年问世以来,迅速成为自然语言处理(NLP)领域的核心技术。它的强大性能不仅在NLP中得到验证,还在计算机视觉等领域展现出卓越的表现。本篇文章将详细介绍Transformer的基本原理及其使用方法,帮助大家深入理解Transformer模型。Transformer的核心结构包括两个主要部分:编码器(Encoder) 和 解码器(Decoder)。每个部分又由多个层堆叠而成。编码器由N层相同的子层(sub-layer)堆叠而成。每一层包含两个主要子层:多头自注意力机制(Mu

2301_76161259的博客 1173

华为OD机试双机位C卷-简单的解压缩算法(C/C++/Py/Java/Js/Go)

华为OD机试(机考)双机位C卷 【简单的解压缩算法】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD真题【简单的解压缩算法】。

qq_45776114的博客 475

汽车电子RTOS--AUTOSAR OS

AUTOSAR OS(AUTomotive Open System ARchitecture Operating System)是AUTOSAR(汽车开放系统架构)标准中的一个重要组件,它是一个专门为汽车电子控制单元(ECU)设计的实时操作系统(RTOS)。AUTOSAR OS旨在提供一个标准化的软件平台,以促进不同供应商和汽车制造商之间的组件复用和协同开发,提高软件质量和降低成本。

MHD0815的博客 1798

图解Transformer 原理

1. 整体结构 ​ Transformer整体结构: ​ 从图中可以看出,整体上Transformer由四部分组成: 1. Inputs : Inputs= WordEmbedding(Inputs) + PositionalEmbedding 2. Outputs: Ouputs=WordEmbedding(Outputs)+PositionalEmbedding 3. Encoders stack : 由六个相同的Encoder层组成,除了第一个Encoder层的输入为Inputs,其他En

weixin_48185819的博客 4582

全网最详细的 Ubuntu 18.04 安装Livox mid-360驱动,测试 fast_lio2

Livox mid-360需要使用Livox-SDK2,而非Livox-SDK,以及对应的。并需要修改FAST_LIO中部分代码。Faster—LIO;Faster-LIO:快速激光IMU里程计。Faster-LIO:快速激光IMU里程计PDF。大部分Lidar SLAM都是基于loam进行改造的,基本上是通过线特征edge和面特征(面点)分割进行配准得到里程计的,而fast-lio2是通过一个迭代扩展卡尔曼滤波器去优化帧内位姿,然后通过输入点云与地图进行配准得到里程计,精度和鲁棒性都不错。

努力努力努力 6238

【AI大模型】八问八答搞懂Transformer内部运作原理

中间重复 —— 用相同数量的中间层副本替换中间层 —— 表现最差, 很快就降到了随机基线的性能。相反,循环并行和随机层顺序的影响最小。因此,研究者得出的结论是:重复单一层的影响最严重。随机化层顺序和循环并行的影响最小。

Android23333的博客 1566

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Transformer深度详解之揭秘 Transformer 内部原理:八问八答全解析!

该研究认为 transformer 的内部机制(特别是中间层)可以类比画家作画流水线来理解。_通常是将画布(输入)传递给一系列画家。有些画家擅长画鸟类,而另一些画家则擅长画轮子。每个画家从其下一级画家那里收到画布,然后其决定是否给画作添加一些笔画,或者只是将其传递给其上一级画家(使用剩余连接)。这个类比并不是一个严格的理论,而是一个思考 transformer 层的工具。受这个类比的启发,该研究测试验证了一些假设:各层是否都在使用相同的表征空间?所有层都是必要的吗?中间层都执行相同的功能吗?

2401_85378759的博客 827

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: 219页PDF || 大模型技术引领行业变革:2024大模型典型示范应用案例集
下一篇: 如何定量分析 Llama 3,大模型系统工程师视角的 Transformer 架构
冻感糕人~
博客等级 码龄3年 8926粉丝 2384原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值