LLM(4) | Attention Is All You Need 论文粗读

LLM(4) | Attention Is All You Need 论文粗读

文章目录

  • LLM(4) | Attention Is All You Need 论文粗读
    • 1. 目的
    • 2. 回顾论文精读的第一遍的步骤
    • 3. 标题
    • 4. 摘要
    • 3. 结论
    • 4. 稍微看一下实验的图表
    • 5. 稍微看一下方法里的图表
    • Reference

1. 目的

LLM 模型都是 transformer 模型, “Attention Is All You Need” 是提出 transformer 的论文。 使用李沐的论文精读法, 记录第一次阅读(“海选”) transformer 的笔记。

2. 回顾论文精读的第一遍的步骤

海选(通常用10+分钟)

  1. title √[1]
  2. abstract √[2]
  3. intro
  4. method √(5)
  5. exp √(4)
  6. conclusion √[3]

先标题,再摘要; 摘要可能有1、2个问题没说清楚, 看结论里的答案,比如数字、实际的结论; 感兴趣那么稍微看下实验部分的关键图表, 再稍微看一下方法里的图表。

其中 [] 必选, () 可选。

在这里插入图片描述

3. 标题

Attention Is All You Need

标题分成两部分:

  1. attention: 注意力

  2. all you need: 你只需要

意思是说, attention 是有用的, 并且你不需要用其他方法了, 就只用 attention 方法就足够了。

4. 摘要

以下是翻译, 括号里是个人粗浅想法的记录:

The dominant sequence transduction models are based on complex recurrent or
convolutional neural networks that include an encoder and a decoder.
The best performing models also connect the encoder and decoder through an attention
mechanism.

主流的序列转换模型,是基于复杂的 RNN 或 CNN, 包括一个 encoder 和一个 decoder。 性能最佳的模型还通过 注意力机制(attention mechanism) 连接编码器和解码器。
(以前的序列转换模型里, 既用 RNN, 也用 CNN, 并且也有人用了注意力机制。 encoder 是啥? decoder 又是啥?)

We propose a new simple network architecture, the Transformer,
based solely on attention mechanisms, dispensing with recurrence and convolutions
entirely.

我们提出了一种新的简单网络架构, 即 Transformer, 它完全基于注意力机制, 彻底摈弃了 RNN 和 CNN。
(本文作者提出的网络架构, 完全是基于 attention。 对, 只用 attention。 这和标题呼应了: 不用 RNN, 也不用 CNN。 那么, encoder 和 decoder 是可以不用 RNN、 不用 CNN 实现的? 还是说连 encoder 和 decoder 都不用了?)。

Experiments on two machine translation tasks show these models to
be superior in quality while being more parallelizable and requiring significantly
less time to train.

在两个机器翻译任务上的实验显示, 这些模型在质量上更为优越, 同时具有更好的并行性, 并且所需要的训练时间显著减少。
(实验结果挺好的, transformer 的精度高、 训练快。 并行性是什么鬼? 是因为更好的并行性, 才让训练变快的吗? 那么并行性是怎么做到的? )

Our model achieves 28.4 BLEU on the WMT 2014 Englishto-German
translation task, improving over the existing best results, including
ensembles, by over 2 BLEU.

我们的模型在 WMT 2014 英语到德语翻译任务上达到了 28.4 BLEU, 比现有的最佳结果 (包括集成模型) 提高了2个以上的 BLEU。
(这是提到的第一个机器翻译任务, 英语-德语 的翻译。 2个 BLEU, 看起来确实明显好于以前的结果。 虽然不知道 BLEU 的意思)

On the WMT 2014 English-to-French translation task,
our model establishes a new single-model state-of-the-art BLEU score of 41.8 after
training for 3.5 days on eight GPUs, a small fraction of the training costs of the
best models from the literature.

在 WMT 2014 英语到法语翻译任务上, 我们的模型在使用8个GPU训练3.5天之后, 以 41.8 的 BLEU 分数建立了新的单模型最先进水平, 这只是文献中最佳模型训练成本的一小部分。
(第二个任务, 英语-法语 翻译, 精度也是世界最高, 41.8 的 BLEU。 这么高的得分, 对应的训练时间是 8个GPU连续训练 3.5 天, 这个训练耗时, 比我们当前(2017年)在论文里找到的的最佳性能模型的训练时间相比, 是非常少的了)

We show that the Transformer generalizes well to
other tasks by applying it successfully to English constituency parsing both with
large and limited training data.

我们展示了 transformer 在其他任务上有良好的泛化能力, 通过将其成功应用于英语成分句法分析, 无论是在大量还是有限的数据训练上都取得了成功。
(这里是摘要, 没有详细说其他任务, 只说用到了方法, 是把 transformer 用于句法分析。 说明泛化性挺好的。 不管数据多还是少, 都能训练出来。 说明适合的场景挺多的。)

3. 结论

直接跳到结论, 看一些和摘要里相呼应、 但是摘要里没有给出量化描述的结论等。 以下是翻译, 中文括号里是个人粗浅的理解。

In this work, we presented the Transformer, the first sequence transduction model based entirely on
attention, replacing the recurrent layers most commonly used in encoder-decoder architectures with
multi-headed self-attention.

在这项工作中, 我们介绍了 transformer, 这是第一个完全基于 attention 的序列转换模型。 它使用多头注意力机制替换了在 encoder-decoder 架构中最常用的循环层。
(开创性的: 第一个, 完全用 attention, 在序列转换模型方面。 完全: 是说替换掉了 encode-decoder 架构中的循环层, 使用 attention 连接 encoder-decoder? 使用 attention 的时候, 作者是使用了 multi-headed self-attention 多头自注意力。 这个貌似就是后世称为 MHA (multi-head attention) 的结构?)
(这里的疑问: encoder-decoder 架构是啥? transformer 里还在用吗? 怎样体现 multi-head 而不是 single-head 的 attention? )

For translation tasks, the Transformer can be trained significantly faster than architectures based
on recurrent or convolutional layers. On both WMT 2014 English-to-German and WMT 2014
English-to-French translation tasks, we achieve a new state of the art. In the former task our best
model outperforms even all previously reported ensembles.

对于翻译任务来说, Transformer 的训练速度显著快于基于 RNN 或 CNN 的架构。 在 WMT 2014 英语到德语和 WMT 2014 英语到法语翻译任务上, 我们都达到了新的最先进水平。 在前者任务中, 我们最好的模型甚至超过了之前报告的所有集成模型。
(在机器翻译任务上, transformer 训练速度快。 在 WMT 翻译任务上, transformer 精度高。 快和高, 都是明显好于以往的。)

We are excited about the future of attention-based models and plan to apply them to other tasks. We
plan to extend the Transformer to problems involving input and output modalities other than text and
to investigate local, restricted attention mechanisms to efficiently handle large inputs and outputs
such as images, audio and video. Making generation less sequential is another research goals of ours.

我们对基于注意力的模型的未来感到兴奋, 并计划将它们应用到其他任务上。 我们计划将 transformer 扩展到涉及输入和输出模态不仅仅是文本的问题,
并且要研究局部的、 受限的注意力机制, 以高效处理大型输入和输出, 如图像、 音频和视频。 使生成过程变得不那么顺序, 是我们的另一个研究目标。
(论文作者们展望了一下未来基于 transformer 的研究: 一个是任务扩展, 一个是让生成过程不那么序列化。 任务扩展, 考虑的是输入可以不仅仅是文本, 要包括图像、音频和视频; 考虑的是 attention 是局部的、 受限情况下的处理。)

The code we used to train and evaluate our models is available at https://github.com/
tensorflow/tensor2tensor.

我们用来训练和评估我们模型的代码可以在 https://github.com/tensorflow/tensor2tensor 上找到。

结论的总结

方法新颖: 第一个完全用 attention 做序列转换的模型, 替换了 RNN。
已有成果: 应用 transformer 到了机器翻译任务上。
展望: 提到了多模态输入, 局部和受限的 attention。

4. 稍微看一下实验的图表

略。 不太看的懂。

5. 稍微看一下方法里的图表

在这里插入图片描述

图1: transformer 的模型结构。

图2: 左图是 dot-product attention。 右图是 multi-head attention。

dot-product attention 是 multi-head attention 的组成部分。

multi-head attention 是 transformer 的组成部分。

在这里插入图片描述

从图上看起来,一些猜测:

  • Scaled Dot-Product 是最简单的 Attention
  • MatMul 是矩阵乘法
  • Scaled Dot-Poroduct Attention 里带有了 softmax, 而 softmax 以前我在 CNN 里只在网络最后一层看到过

这里的疑问是:

  • Q, K, V 是什么?
  • Position Encoding 是在干啥
  • Feed Forward 是在干啥
  • Add & Norm 是在干啥
  • Nx 是啥意思?
  • Masked MHA 和 MHA 有啥区别?

Reference

  • Transformer论文逐段精读【论文精读】

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

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

相关文章

MUTAN readme文件(翻译)

/!\ VQA的新版本PyTorch代码现已提供,链接在这里: 代码链接 这个仓库是由Remi Cadene(LIP6)和Hedi Ben-Younes(LIP6-Heuritech)创建的,他们是在UPMC-LIP6从事VQA研究的两名博士生,以及他们的导…

【python】英语单词文本处理

文章目录 前言一、环境实验所需的库终端指令 二、实现过程Version 1 起源Version 2 listVersion 3 arrayVersion 4 结构化数组Version 5 区分单元且打乱顺序Version 6 可视化 三、txt文件 前言 缘起自懒得考小孩儿单词,最终效果如图: 本文记录了英语单词…

flutter开发实战-Camera自定义相机拍照功能实现

flutter开发实战-Camera自定义相机拍照功能实现 一、前言 在项目中使用image_picker插件时候,在android设备上使用无法默认设置前置摄像头(暂时不清楚什么原因),由于项目默认需要使用前置摄像头,所以最终采用自定义…

面试经典150题 -- 区间(总结)

总的链接 : 面试经典 150 题 - 学习计划 - 力扣(LeetCode)全球极客挚爱的技术成长平台最经典 150 题,掌握面试所有知识点https://leetcode.cn/studyplan/top-interview-150/ 228 汇总区间 直接用双指针模拟即可 ; class Solution { public…

Linux 指令

Linux 指令 1 登入/登出1.1 关机1.2 重启1.3 切用户 2 文件和目录管理2.1 目录操作2.2 文件操作2.3 文件内容操作2.4 归档及压缩 3 文本编辑器 vim3.1 命令模式3.2 输入模式3.3 末行模式 4 用户和组管理4.1 用户和组帐号概述4.1.1 用户帐号4.1.2 UID和GID 4.2 用户管理 5 组管理…

拥抱个人成长与社会进步:自我认知与开放心态的相互影响

拥抱个人成长与社会进步:自我认知与开放心态的相互影响 Embracing Personal Growth and Societal Progress: The Interplay of Self-Awareness and Open-mindedness 一、引言 I. Introduction 在当今急速发展的时代,个人成长与社会进步交织在一起&…

[每周一更]-(第86期):NLP-实战操作-文本分类

NLP文本分类的应用场景 医疗领域 - 病历自动摘要: 应用: 利用NLP技术从医疗文档中自动生成病历摘要,以帮助医生更快速地了解患者的状况。 法律领域 - 法律文件分类: 应用: 使用文本分类技术自动分类法律文件&#xf…

后端软件三层架构

一、三层架构简介 三层架构是软件开发中广泛采用的一种经典架构模式,其核心价值在于通过清晰的任务划分来提高代码的可维护性和重用性。具体来说,三层架构主要包括以下三个层次: 持久层(DAO层):这一层主要…

提升 Web 请求效率:Axios request 封装技巧

在开发中,为了提高效率,通常对 Axios 进行封装,简化了请求的发送和对响应的处理。同时,统一错误处理机制有助于维护代码的清晰和一致性。本文介绍了一些高效封装 Axios 请求的方法。 封装理念 通过创建一个请求函数,我…

2024Node.js零基础教程(小白友好型),nodejs新手到高手,(四)NodeJS入门——网络基础概念

041_网络基础概念_IP的介绍 hello,大家好,我们来一起认识一下IP。 在开始介绍 IP 之前,我们首先来介绍一个场景,方便大家去理解 IP 这个概念。比如这会儿强哥正在成都,然后还有另外一个小伙伴,谁呢&#x…

互补滤波算法介绍+SCL源代码(收放卷线速度处理)

工程上对测量信号进行处理,我们可以利用低通滤波器,还可以利用滑动平均值滤波等,关于低通滤波器和滑动平均值滤波器,可以参考专栏相关文章,常用链接如下: 博途PLC一阶滞后低通滤波器(支持采样频率设置) https://rxxw-control.blog.csdn.net/article/details/132972093h…

带着问题读源码——Spring MVC是怎么找到接口实现类的?

引言 我们的产品主打金融服务领域,以B端客户为我们的核心合作伙伴,然而,我们的服务最终将惠及C端消费者。在技术实现上,我们采用了公司自主研发的微服务框架,该框架基于SpringBoot,旨在提供高效、可靠的服…

MyBatis笔记梳理

文章目录 什么是 MyBatis?前期准备依赖配置文件mapper利用注解 增、删、改、查查增改删#{} 和 ${} 的区别类型别名 动态sqlwhere ifforeachsql引用不常用标签 多表查询多对一(一对一)一对多多对多多表查询 个人理解 延迟加载概念使用场景延迟…

Qt/C++音视频开发66-音频变速不变调/重采样/提高音量/变速变调/倍速播放/sonic库使用

一、前言 之前在做倍速这个功能的时候,发现快速播放会有滴滴滴的破音出现,正常1倍速没有这个问题,尽管这个破音间隔很短,要放大音量才能听到,但是总归是不完美的,后面发现,通过修改qaudiooutpu…

2024年美赛数学建模E题思路分析 - 财产保险的可持续性

# 1 赛题 问题E:财产保险的可持续性 极端天气事件正成为财产所有者和保险公司面临的危机。“近年来,世界已经遭受了1000多起极端天气事件造成的超过1万亿美元的损失”。[1]2022年,保险业的自然灾害索赔人数“比30年的平均水平增加了115%”。…

[Java]JDK 安装后运行环境的配置

这篇文章用于介绍jdk.exe安装之后的运行环境配置,以及如何检查是否安装成功 检查自己是否安装jdk环境,记住这个安装的改的路径: (应该要安装2个,一个是jdk,一个是jre) 安装后的在文件夹的样子(路径自定义,在java下面): 参考如下…

【Springcloud篇】学习笔记二(四至六章):Eureka、Zookeeper、Consul

第四章_Eureka服务注册与发现 1.Eureka基础知识 1.1Eureka工作流程-服务注册 1.2Eureka两大组件 2.单机Eureka构建步骤 IDEA生成EurekaServer端服务注册中心,类似于物业公司 EurekaClient端cloud-provider-payment8081将注册进EurekaServer成为服务提供者provide…

Pytest框架测试

Pytest 是什么? pytest 能够支持简单的单元测试和复杂的功能测试;pytest 可以结合 Requests 实现接口测试; 结合 Selenium、Appium 实现自动化功能测试;使用 pytest 结合 Allure 集成到 Jenkins 中可以实现持续集成。pytest 支持 315 种以上的插件;为什么要选择 Pytest 丰…

VUE项目导出excel

导出excel主要可分为以下两种: 1. 后端主导实现 流程:前端调用到导出excel接口 -> 后端返回excel文件流 -> 浏览器会识别并自动下载 场景:大部分场景都有后端来做 2. 前端主导实现 流程:前端获取要导出的数据 -> 把常规数…

跨平台开发:浅析uni-app及其他主流APP开发方式

随着智能手机的普及,移动应用程序(APP)的需求不断增长。开发一款优秀的APP,不仅需要考虑功能和用户体验,还需要选择一种适合的开发方式。随着技术的发展,目前有多种主流的APP开发方式可供选择,其…