Transformer开山论文惊天「翻车」?图与代码不一致,神秘bug看傻了
本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《Transformer开山论文惊天「翻车」?图与代码不一致,神秘bug看傻了》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~
今天,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中使用的方式并不同。


所以,论文真的存在漏洞,还是乌龙事件?
让我们静观后续。
到这里,我们也就讲完了《Transformer开山论文惊天「翻车」?图与代码不一致,神秘bug看傻了》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于开源,代码的知识点!
对标必应聊天:百度搜索小范围公测“对话”功能,基于文心一言大语言模型
- 上一篇
- 对标必应聊天:百度搜索小范围公测“对话”功能,基于文心一言大语言模型
- 下一篇
- mysql前缀索引是什么
-
- 科技周边 · 人工智能 | 8小时前 |
- Tokenizer padding_side 影响批量生成的对齐
- 206浏览 收藏
-
- 科技周边 · 人工智能 | 10小时前 | python · 人工智能 · 数据迭代 Hugging Face Datasets streaming IterableDataset 大语料
- Datasets streaming 读取大语料的迭代方式
- 337浏览 收藏
-
- 科技周边 · 人工智能 | 13小时前 | python · Transformers generate 停止条件 批量输出
- Transformers generate 的停止条件与批量输出
- 133浏览 收藏
-
- 科技周边 · 人工智能 | 15小时前 | 人工智能 · LoRa 显存优化 bitsandbytes QLoRA 4-bit量化
- bitsandbytes 量化模型配合 LoRA 训练的显存边界
- 249浏览 收藏
-
- 科技周边 · 人工智能 | 18小时前 | 人工智能 · LoRa PEFT load_adapter set_adapter 适配器切换
- PEFT LoRA 适配器按任务切换的加载方案
- 268浏览 收藏
-
- 科技周边 · 人工智能 | 19小时前 | 人工智能 · LoRa PEFT merge_and_unload 适配器合并
- PEFT 适配器合并后为什么输出会变化
- 221浏览 收藏
-
- 科技周边 · 人工智能 | 1天前 |
- Tokenizer 左填充和右填充应该怎么选
- 399浏览 收藏
-
- 科技周边 · 人工智能 | 1天前 |
- Safetensors 为什么支持按需读取权重切片
- 258浏览 收藏
-
- 科技周边 · 人工智能 | 1天前 |
- MLflow Model Alias 怎么替代固定版本号部署
- 360浏览 收藏
-
- 科技周边 · 人工智能 | 1天前 | 索引优化 · 向量数据库 · 向量检索 FAISS Index Factory IVF PQ
- FAISS Index Factory 字符串怎么组合索引结构
- 100浏览 收藏
-
- 科技周边 · 人工智能 | 1天前 |
- 知识库切片重叠率怎么影响检索结果
- 268浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- PubMedQA
- 深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
- 261次使用
-
- H2O EvalGPT
- H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
- 307次使用
-
- LMArena
- LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
- 289次使用
-
- HELM
- 深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
- 265次使用
-
- MMBench
- MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
- 76次使用
-
- 本地大模型反复输出同一句话怎么调整生成参数
- 2026-09-06 501浏览
-
- Python 调用大模型时如何用结构化输出校验 JSON:从解析失败到可重试
- 2026-08-29 501浏览
-
- AI写作工具免费版安装教程(含豆包Clawdbot)
- 2026-05-30 501浏览
-
- WPS AI能自动生成PPT吗?输入主题一键制作演示文稿
- 2026-05-27 501浏览
-
- Canva手机闪退解决方法及适配指南
- 2026-05-25 501浏览
