Transformer开山论文惊天「翻车」?图与代码不一致,神秘bug看傻了

讲Transformer不错的一篇文章 https://jalammar.github.io/illustrated-transformer/ 阅读详情

【导读】图与代码不一致的论文,很「常见」,不过提出了Transformer的开山鼻祖论文,竟然也出现了同样的错误?

今天,AI圈被一个惊天「翻车」刷屏了。

谷歌大脑的NLP奠基之作、提出Transformer架构的开山鼻祖级论文 《Attention Is All Your Need》 中的图,被网友扒出与代码并不一致。

论文地址:https://arxiv.org/abs/1706.03762

自2017年问世以来,Transformer已经成为AI领域的基石王者。就连大红大紫的ChatGPT真正的幕后大佬也是它。

2019年,谷歌还专门为它申请了专利。

归宗溯源,现在各类层出不穷的GPT(Generative Pre-trained Transformer),都起源于这篇17年的论文。

据Google Scholar,截止目前,这篇奠基之作已有7万多次的引用。

所以,ChatGPT的奠基石都不稳了?

作为「开山鼻祖」的论文,结构图竟是错的?

Lightning AI创始人、机器学习研究者Sebastian Raschka发现,这篇论文中Transformer的图是错误的。

图中被圈出的地方,LayerNorms是在注意力和全连接层之后。在残差块之间放置层归一化,会导致输出层附近参数的预期梯度很大。

而且,这也与代码不一致。

代码地址:https://github.com/tensorflow/tensor2tensor/commit/f5c9b17e617ea9179b7d84d36b1e8162cb369f25#diff-76e2b94ef16871bdbf46bf04dfe7f1477bafb884748f08197c9cf1b10a4dd78e

不过有网友指出,Noam shazeer在几周后对代码进行了纠正。

随后,Sebastian称,在论文Layer Normalization in the Transformer Architecture中,Pre-LN表现得更好,可以解决梯度问题。

这是很多或者大多数架构在实践中所采用的,但它可能导致表征崩溃。

如果层归一化在注意力和全连接层之前被放置在残差连接之中,就会实现更好的梯度。

Sebastian提出,虽然关于使用Post-LN或Pre-LN的讨论仍在进行中,但也有一篇新论文提议把二者结合起来。

论文地址:https://arxiv.org/abs/2304.14802

在这种双残差Tranformer中,表征崩溃和梯度消失的问题都得到了解决。

网友热议

针对论文中的疑点,有网友指出:中间不是已经有了PreLN和PostLN了吗?

Sebastian回答说,自己也觉得有点奇怪。或许2nd LN指的是最后一个输出层,而不是每个transformer块,但他对此也不确定。

有网友表示:「我们经常遇到与代码或结果不匹配的论文。大多数就是出于错误,但有时也会让人很奇怪。而这篇论文已经流传甚久了,为什么这种问题此前从没被人提出过,这真的很奇怪。」

Sebastian表示,公平地讲,最原始的代码是和图片一致的,但他们在2017年修改了代码版本,却没有更新图片。所以,这很令人困惑。

有网友表示,已经有论文在NormFormer中展示了一个不太复杂的架构,而他的团队最近也证实了他们的结果。而ResiDual论文没有在任何地方提到NormFormer,这让人很惊讶。

同时,评论区不断出现网友证实:Transformers中使用的LN,与CNN中使用的方式并不同。

所以,论文真的存在漏洞,还是乌龙事件?

让我们静观后续。

CS1237卡尔曼滤波实战:如何用24位ADC实现电子秤级精度? 本文详细介绍了如何利用CS1237 24位ADC芯片结合卡尔曼滤波算法实现电子秤级精度测量。通过解析CS1237硬件特性、卡尔曼滤波原理及STM32驱动优化,提供了一套完整的解决方案,包括多通道支持、驱动代码实现和性能调优技巧,适用于工业测量和嵌入式开发领域。 阅读详情

相关推荐

GEOSHIELD:分布式CPS的拜占庭容错与安全防护技术

分布式系统在关键基础设施(如轨道交通、智能电网)中面临网络延迟和恶意节点的双重挑战。拜占庭容错(BFT)技术通过算法保证系统在存在故障节点时仍能达成一致,是保障系统安全的核心机制。GEOSHIELD创新性地结合概率化网络延迟测量和TGS动态信任评分,实现了不依赖可信硬件的拜占庭 resilience。该技术通过建立节点行为的信用档案,动态识别恶意行为,在保证安全性的同时最大化系统可用性。实验证明,即使在自适应攻击策略下,GEOSHIELD仍能保持系统95.6%的正常运行时间,为CPS系统提供了可靠的安全防护

weixin_31766003的博客 345

【Transform(1)】【NLP】首次提出Transformer,Google Brain团队2017年论文《Attention is all you need》

论文:《Attention is all you need》1、序列转导模型的组成:2、基于注意力机制我们提出了一种新的简单网络架构,即 Transformer,它完全基于注意力机制,完全消除了递归和卷积。3、典型应用场景Transformer 成功应用于具有大量和有限训练数据的英语选区解析,可以很好地推广到其他任务。循环神经网络(Recurrent neural networks),特别是长短期记忆 [13](long short-term memory) 和门控循环 [7] 神经网络(gated rec

AbiUni(YY熊) 4178

从INCA到Excel:手把手教你移植汽车标定数据的查表插值算法(附源码)

本文详细介绍了如何将汽车标定数据从INCA平台移植到Excel,实现查表插值算法的完整迁移。通过解析INCA MAP数据结构,设计Excel环境下的双线性插值算法,并提供VBA和C#两种实现方案,帮助工程师高效处理标定数据。文章包含实用代码示例和性能优化技巧,适用于ECU开发与标定场景。

weixin_29313239的博客 409

【Transformer学习笔记】Transformer开山之作: Attention is All you Need

这里写自定义目录标题一、transformer整体结构二、why Transformer三、Transformer逐层剖析1.Encoder 编码器词嵌入位置编码多头注意力机制层注意力机制多头encoder总结2.Decoder 解码器解码器输入mask机制双多头注意力机制输出 至今,transformer结构的网络可以说已经占据了RNN领域的大半壁江山,在各大RNN竞赛中基本都出现了霸榜的情况。 本文主要作transformer的开山之作《Attention is All you Need》的解读. 一、

sjflsahfisaojfsa的博客 2240

用STM32F103单片机控制电调制动无刷电机

用电调控制无刷电机制作遥控飞艇 蓝牙控制 调控电调 无刷电机 用电调控制无刷电机制作遥控飞艇 代码区 mian.c #include "delay.h" #include "sys.h" #include "usart.h" #include "usart3.h" #include "timer.h" #include "led.h" #include "key.h" int main(v...

子非鱼 的博客 2万+

Windows10内核逆向-2-KiSystemCall64的调用流程剖析

本文深入剖析了Windows 10 x64系统中KiSystemCall64函数的完整调用流程。从用户态触发syscall指令开始,详细讲解了如何通过swapgs切换内核栈、构建KTRAP_FRAME陷阱帧、进行SMAP/CFG等安全检查,到最终通过SSDT寻址并执行目标系统服务的全过程,揭示了系统调用从Ring 3到Ring 0切换的核心机制与安全设计。

weixin_29209805的博客 82

《Transformer》论文精读:只用注意力机制,Transformer奠定了大模型网络架构的基石

Attention Is All You Need (Transformer) 是当今深度学习初学者必读的一篇论文

my_name_is_learn的博客 2745

【Bug已解决】zsh: command not found: claude 解决方案

方案适用场景推荐指数难度方案一:配置 npm 全局目录所有平台,长期使用⭐⭐⭐⭐⭐低方案二:修复 PATH 变量快速修复,不想改 npm 配置⭐⭐⭐⭐低方案三:重建软链接文件存在但链接断裂⭐⭐⭐中方案四:nvm 专属方案使用 nvm 管理多版本 Node.js⭐⭐⭐⭐低方案五:Windows 专属Windows 系统⭐⭐⭐⭐⭐低方案六:Homebrew 安装macOS 用户,npm 有问题⭐⭐⭐低根本原因。

博客 1万+

(详细)Transformer完整版)

原文链接:https://blog.youkuaiyun.com/longxinchen_ml/article/details/86533005 作者: 龙心尘 时间:2019年1月 出处:https://blog.youkuaiyun.com/longxinchen_ml/article/details/

qq_43703185的博客 1万+

ABAP Channels 之 WebSocket 通信实践:用 ABAP Push Channel 打造实时应用

摘要:本文介绍了ABAP Push Channel(APC)技术,它通过WebSocket协议实现ABAP系统与外部客户端的实时双向通信。文章对比了传统HTTP轮询与WebSocket的差异,解释了APC的事件模型及其接口演进(从IF_APC_WS_EXTENSION到IF_APC_WSP_EXTENSION)。通过仓库拣货等实际案例,展示了APC在企业级应用中的价值,如实时监控、协作场景等。文中还详细阐述了ABAP引擎中WebSocket的交互模型,说明其资源优化设计原理,并提供了基础代码示例。该技术解决

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 293

RK3588部署实战:利用RGA硬件加速单元优化YOLOv5的图像预处理与推理性能

摘要:本文探讨了在Rockchip芯片上使用RGA(Rockchip图形加速器)实现YOLOv5图像预处理的过程。通过对比RGA和OpenCV两种方式处理图像的速度,发现RGA加速效果不明显且不稳定(13-17fps),分析原因可能是图片尺寸过小和内存操作消耗时间。文章详细介绍了RGA版本的resize和letterbox实现代码,包括图像缩放、边缘填充等功能,并提供了预处理流程和性能监控方法。结果表明在当前场景下RGA尚未达到预期加速效果,可能与官方代码下架和实现细节有关。

know_F0727的博客 292

Transformer论文(1)Attention Is All You Need

主流的序列转换模型基于复杂的循环神经网络或卷积神经网络,这些网络包含编码器和解码器。性能最佳的模型还通过注意力机制连接编码器和解码器。我们提出了一种新的简单网络架构——Transformer,它完全基于注意力机制,完全摒弃了循环和卷积结构。

PLANTTHESON的博客 708

在 SAP BTP Cloud Foundry 环境中开发 SAP HANA 的完整实战路线图

SAP HANA Cloud迁移路径解析:从本地到云原生的数据库现代化 本文梳理了SAP HANA在Cloud Foundry环境中的架构定位和实施路径,针对不同起点的项目提供迁移建议。核心内容包括: SAP HANA Cloud在Cloud Foundry中的双重角色:既作为平台服务提供数据库实例,又通过HDI容器管理MTA应用中的数据库工件。 针对四类典型项目起点的迁移策略: 绿地项目:直接采用CAP+SAP HANA Cloud组合 已有HANA service或XS advanced项目:需对照兼容

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 262

Transformer

transformer

qq_60609496的博客 1897

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Transformer论文解读一(Transformer)

最近Transformer在CV领域很火,Transformer是2017年Google发表的Attention Is All Y ou Need,主要是针对自然语言处理领域提出的。本系列文章介绍Transformer及其在各种领域引申出的应用。 自我注意(Self-attention),有时也称为内部注意(intra-attention),是一种将单个序列的不同位置联系起来,以计算该序列的表示的注意机制。Transformer是第一个完全依靠自我注意来计算其输入和输出的表示,而不使用RNN的模型。 论文指

蓝鲸鱼的博客 8605

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Transformer论文详解,论文完整翻译(一)

Transformer论文详解,论文完整翻译(一) 概要 重要的序列转换模型基于复杂的CNN或者RNN进行encoder和decoder。同时最好的模型也使用了attention连接encoder和decoder。我们提出一个新的网络结构,Transformer,完全使用attention,摒弃了RNN和CNN。两个机器翻译任务上的实验表现出了优秀的实验结果,同时包括了更多的并行操作,只需要更短的训练时间。我们的模型在’英译德‘2014 WMT翻译任务上达到了28.4的BLEU值,超过了包括联合模型的最好结

ws_nlp_的博客 2751

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Transformer(一) -- 论文解读

因为有很多事情耽搁了,今天终于完成了Transformer的完整学习,接下来,将分为三篇文章来进行记录: 1. Transformer介绍 2. 相关博客 3. 相关代码解读 Transformer问世至今已经有不短的时间了,促使我看Transformer是因为谷歌的BERT,BERT在前阵子可谓是NLP界无人不知无人不晓,但是用来实现BERT的基础模型Transformer我却知之...

qq_28634403的博客 1万+

transformer论文解读_[深度学习概念]·谷歌transformer论文解读(转)

目录简介这篇博客的主要内容是对谷歌提出的transformer 进行论文解读,包含算法复杂度的分析。对应的论文是 “Attention is all you need", 链接如下 https://arxiv.org/pdf/1706.03762.pdf 。选择这篇论文的原因有三点。1. 这篇论文达到了 new the state-of-the-art result, 应该是现在做神经翻译里最好...

weixin_39560207的博客 567

Jenkins + Python 全自动跑通「禅道任务/BUG 导出 → 月度开发考核表」

Jenkins结合Python实现禅道任务与BUG全自动导出及月度开发考核统计。通过复现浏览器三步导出流程(重置筛选、初始化、提交表单),精准获取全量数据;基于代码剔除父任务重复工时,修正“指派给”与“解决者”归属偏差,避免0工时导致的BUG率失真。最终生成含开发人天、有效负责BUG数、加权BUG率等字段的考核表,口径固化为可复用规则,彻底杜绝手工统计误差,实现零干预、高可信的自动化考核闭环。

一个人的博客 346

“完成”是什么意思——Plan 步骤状态机的七个 Bug

本文剖析了Agent系统中“Plan步骤从pending到done”状态迁移的七个真实Bug,揭示其背后深层设计问题:状态机语义复杂、终态不闭合、状态与事件脱节、生命周期未递归终结等。教训聚焦于:终态应使用枚举而非布尔组合,同状态迁移需幂等,状态变更与事件发射必须原子化,父生命周期结束时须收口子状态,错误提示应引导模型行为。这些原则适用于任何多参与者、异步执行的智能工作流系统。

qinglongcn的博客 280

unity 照片墙插件(Pop-up Photo Wall)在触摸屏和红外框设备上的触发Bug

这不是一个好的办法,因为没有找到问题根源,只能先临时这样处理了,在电容屏上实测有效。在触摸屏和红外框设备上使用模板时,点击一张照片时会一次性触发展开多张照片。测试分析后发现以下方式可以避免这个bug。

梦想是世界和平 223

Autosar SecOC 需求场景BUG(需求不一致性)【草稿】

Autosar SecOC为实现安全报文在±2周期内的容错校验,引入格式15的规范表格。该表格设定ResetFlag=±2为关键条件,但另一图示中又出现丢弃-2的情况,导致逻辑矛盾,引发对机制一致性的质疑。

沿流不止 43

不收 PR、让 Agent 自己修 Bug:3,900 Star 的 Rust UI 框架 Rune,为“AI 写界面“重新设计

Rune:GPU 渲染的 Rust 原生 UI 框架,headless 模式让 Agent 渲染 PNG、导出元素树、脚本驱动输入并自检——UI 框架第一次把可被 AI 观测作为架构需求。更激进的是:它不收 PR,贡献和维护两端都是 Agent。

话梅糖の优快云 Blog 484

React 前端工程化在秒杀活动中的性能优化与 Bug 修

措施名称 | 实施成本 | 预期收益 | 风险等级 | |----------|----------|-----------|------------| | 使用 Redux Toolkit 管理状态 | 中等 | 提高可维护性和性能 | 中等 | | 引入 Suspense / Lazy Loading | 高 | 显著提升用户体验 | 高 | | 使用 Error Boundaries 捕获异常 | 中等 | 提高系统健壮性 | 中等 |在大型互联网企业中,秒杀与抢购活动是高频的业务场景之一。

wuchangjian的专栏 167

【Unity Bug挑战】第7期 16KB页面对齐之谜

IL2CPP 后端,接了 Firebase Authentication、Adjust、广告 SDK,还有一个自研的音频原生插件 AudioPlugin.so。同一个工程、同一台机器、同一个 Gradle 参数,唯一变的只有 Target API。那就去量一量:先看 libil2cpp.so 的 LOAD 段对齐,再看设备的页面大小。栏目:Unity Bug挑战 | 期号:NO.007 | 日期:2026-10-27 | 3星 · 中级 | Bug挑战 | Unity 2021+标签:IL2CPP、内存。

crystal_WJT的博客 321

【Unity Bug挑战】第10期 SerializeReference 内存泄漏之谜

你翻了一下代码,项目里大量使用了 [SerializeReference] 特性来做技能系统的多态序列化——大概有 200 多个不同的技能效果类,都挂在 SkillData 这个 ScriptableObject 上,通过 Addressables 动态加载和释放。Unity 的 Native 对象是引用计数管理的,而 C# 托管对象是 GC 管理的。SerializeReference 的多态对象,它们的 Native 侧表示是什么样的?托管堆内存 | 加载后释放,回到初始水平 | 正常,符合预期。

crystal_WJT的博客 637
上一篇: 你见过哪些优雅的 Java 代码优化技巧?
下一篇: 在 GitHub 上“搞事”,Meta 开源 ImageBind 新模型,超越 GPT-4,对齐文本、音频等 6 种模态!
IT界那些事儿
博客等级 码龄6年 2万+粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值