首页 > 其他分享 >transformer模型的历史

transformer模型的历史

时间:2023-08-21 12:55:08浏览次数:28  
标签:BERT 历史 NLP 模型 attention transformer Transformer

Transformer 模型在深度学习领域,尤其是自然语言处理(NLP)中,起到了革命性的作用。以下是其发展历程的简要概述:

  1. 背景

    • 在 Transformer 出现之前,循环神经网络(RNN)及其更先进的版本,如长短时记忆网络(LSTM)和门控循环单元(GRU)是处理序列任务的主流架构,例如机器翻译和文本生成。
    • 这些模型逐步处理序列,因此其本质是序列化的,这限制了它们的并行化能力。
  2. 注意力机制

    • Transformer 模型的起源可以追溯到注意力机制的引入。注意力机制最初被提出来用于改善序列到序列的任务,它使模型在产生输出时能够关注输入数据的不同部分。本质上,它使网络能够根据它们的重要性“关注”输入的不同部分。
    • 对于长序列,注意力机制极大地提高了 NLP 任务的性能,因为它比 RNN 更有效地捕获了长距离依赖。
  3. Transformer 模型 (2017)

    • Transformer 架构首次在 2017 年的开创性论文 "Attention Is All You Need" 中由 Vaswani 等人提出。
    • 它完全放弃了循环层,仅依赖于注意力机制,特别是一种名为“多头自注意力”的新型变体。这使得 Transformer 高度并行化,导致了训练速度的提升。
    • 该论文还引入了位置编码的概念,这使模型可以考虑序列中单词的位置,因为架构本身是排列不变的。
    • Transformer 很快在各种 NLP 基准测试中成为了新的标杆。
  4. BERT 和其变体 (2018 年及以后)

    • 2018 年,Google 推出了 BERT(双向编码器表示从 Transformers),将 Transformer 架构提升到了一个新的水平。BERT 革命性地通过在大型语料库上预训练一个大型 Transformer 模型,然后在特定任务上进行微调。
    • 在 BERT 之后,提出了许多基于 Transformer 架构的变体和模型,如 GPT (Generative Pre-trained Transformer),T5 (Text-to-Text Transfer Transformer),RoBERTa,XLNet 等。
    • 这些模型在各种 NLP 基准测试中都设定了新的标准。
  5. 超出 NLP 的应用

    • 虽然最初是为 NLP 任务设计的,但 Transformer 架构已被适应用于其他领域,如计算机视觉(例如 Vision Transformer)甚至蛋白质结构预测(例如 DeepMind 的 AlphaFold)。
  6. 优化和发展

    • 随着 Transformer 的广泛应用,研究者开始专注于其优化,以解决计算成本、模型大小和培训效率等问题。这导致了诸如知识蒸馏、修剪和量化等技术的发展,以创建适合边缘设备的较小 Transformer 模型。
    • 为了处理更长的序列并减少内存需求,提出了架构的变化,如稀疏注意模式和可逆层。
  7. 挑战和持续的研究

    • 尽管它们功能强大并已证明其有效性,但 Transformer 还是面临着挑战。它们有很多参数,因此需要很多资源。自注意力中关于序列长度的二次复杂性可能是非常长序列的一个限制因素。
    • 在我最后一次的训练截止日期(2021 年 9 月)之前,研究仍在进行中,旨在解决这些挑战并进一步提高 Transformer 的能力。

总之,自 2017 年引入以来,Transformer 模型从根本上重塑了深度学习的格局,并在一系列应用中推动了显著的进展。

英文版

The history of the transformer model is a story of a foundational shift in the world of deep learning, particularly for natural language processing (NLP). Let's break it down step by step:

  1. Background:

    • Before transformers, recurrent neural networks (RNNs) and their more advanced versions like long short-term memory (LSTM) and gated recurrent units (GRU) were the dominant architectures for sequence processing tasks such as machine translation and text generation.
    • These models processed sequences step-by-step, making them inherently sequential and limiting parallelization.
  2. Attention Mechanism:

    • The roots of the transformer model can be traced back to the introduction of the attention mechanism. Initially proposed for improving sequence-to-sequence tasks, attention allows a model to focus on different parts of the input data when producing an output. Essentially, it enabled the network to "attend" to different parts of the input based on their importance.
    • The attention mechanism greatly improved the performance of NLP tasks, especially for long sequences, by capturing long-range dependencies more effectively than RNNs.
  3. The Transformer Model (2017):

    • The transformer architecture was introduced in the seminal paper "Attention Is All You Need" by Vaswani et al. in 2017.
    • It completely eschewed the recurrent layers and relied solely on attention mechanisms, specifically a novel variant called "multi-head self-attention". This made transformers highly parallelizable, leading to speedups in training.
    • The paper also introduced the concept of positional encodings, which allow the model to consider the position of words in a sequence since the architecture itself is permutation-invariant.
    • The transformer quickly became the new state-of-the-art on various NLP benchmarks, particularly machine translation.
  4. BERT and Variants (2018 onwards):

    • The transformer architecture was taken to the next level with the introduction of BERT (Bidirectional Encoder Representations from Transformers) by Google in 2018. BERT revolutionized the NLP field by pre-training a large transformer model on a vast corpus and then fine-tuning it on specific tasks.
    • Following BERT, numerous variants and models inspired by the transformer architecture were proposed, such as GPT (Generative Pre-trained Transformer), T5 (Text-to-Text Transfer Transformer), RoBERTa, XLNet, and many more.
    • These models set new standards on a wide variety of NLP benchmarks.
  5. Adoption beyond NLP:

    • Although initially designed for NLP tasks, the transformer architecture has been adapted for other domains, such as computer vision (e.g., Vision Transformer) and even protein structure prediction (e.g., AlphaFold by DeepMind).
  6. Optimizations and Evolution:

    • With the widespread adoption of the transformer, researchers began focusing on its optimization to address concerns like computational costs, model size, and training efficiency. This led to the development of techniques like knowledge distillation, pruning, and quantization to create smaller transformer models suitable for edge devices.
    • Variations in architecture, such as sparse attention patterns and reversible layers, were proposed to handle longer sequences and reduce memory requirements.
  7. Challenges and Ongoing Research:

    • Despite their power and efficacy, transformers come with challenges. They have a large number of parameters, making them resource-intensive. Their quadratic complexity concerning sequence length in self-attention can be a limiting factor for very long sequences.
    • As of my last training cut-off in September 2021, research was ongoing to address these challenges and push the capabilities of transformers even further.

To sum up, the transformer model, since its introduction in 2017, has fundamentally reshaped the landscape of deep learning, driving remarkable advances across a range of applications.

标签:BERT,历史,NLP,模型,attention,transformer,Transformer
From: https://www.cnblogs.com/litifeng/p/17645736.html

相关文章

  • Threejs用官方提供的编辑器做一个简单的模型
    Threejs有提供一个web端的编辑器制作3D模型,地址是https://threejs.org/editor/,这个打开就可以在线编辑,但是因为比较简陋,所以只能做一些简单的模型用于测试,实际开发中还是用blender这种标准的建模软件来建模,首先打开页面可以看到下面的画面,(是英文版本的,不过单词都比较简单,可以凑合看......
  • ChatGpt系列-模型介绍
    GPT4\GPT-3.5多模态模型,就是自然语言处理模型,可以理解文本,而且很像人,不是常见的指令型的假模型,是有人味的一个模型,主要接收文本输入并输出文本获得更好结果6项策略写下清晰的说明策略:要求模特采用角色(系统消息可用于指定模型在其回复中使用的角色,在我们落地应用时这个是必备......
  • 【pytorch】目标检测:一文搞懂如何利用kaggle训练yolov5模型
    笔者的运行环境:python3.8+pytorch2.0.1+pycharm+kaggle。yolov5对python和pytorch版本是有要求的,python>=3.8,pytorch>=1.6。yolov5共有5种类型n\s\l\m\x,参数量依次递增,对训练设备的要求也是递增。本文以yolov5_6s为切入点,探究yolov5如何在实战种运用。1.数据集的准备roboflow......
  • 大抄线段树历史值问题
    历史值问题历史值:在维护序列\(A\)的同时,在每次操作后,序列\(A\)会对序列\(B\)的对应位置产生贡献。历史版本和:每次操作后,\(B_i\leftarrowB_i+A_i\)。历史最大值:每次操作后,\(B_i=\max(B_i,A_i)\)。历史版本和:给定操作:①区间加。②查询区间和。③查询区间......
  • 浅谈软件产品质量模型与软件测试的关联关系
    为什么软件测试人员需要深入理解软件产品质量模型?软件测试人员在测试产品的过程中,就像一面镜子,需要照出系统的面貌,提供开发者修改代码的依据。而这个照镜子的过程就是对质量对评估的过程,测试人员需要对有效的质量评估负责,那就要求测试人员能充分的理解产品质量的概念,那么测试人......
  • 【人工智能】深度学习框架值TF入门-模型保存与加载
    资料:https://tensorflow.google.cn/tutorials/keras/save_and_load#选项Keras的方式Keras版本模型保存与加载函数保存模型权重:model.save_weights保存HDF5文件:model.save保存pb文件:tf.saved_modeltf.saved_model和model.save的区别在于,tf.saved_model格式的模型可以直接......
  • JVM内存模型深度剖析与优化
    JDK体系结构Java语言的跨平台特性JVM整体结构及内存模型 二、JVM内存参数设置 SpringBoot程序的JVM参数设置格式(Tomcat启动直接加在bin目录下catalina.sh文件里):java‐Xms2048M‐Xmx2048M‐Xmn1024M‐Xss512K‐XX:MetaspaceSize=256M‐XX:MaxMetaspaceSize=25......
  • 印刷电路板(PCB)的历史漫游:保罗·艾斯勒的奇思妙想
    引言在漫长的历史长河中,无数的奇思妙想汇集成了人类文明的千丝万缕。有时,一个小小的火花便足以照亮一片黑暗的时代。正如我所亲历的,印刷电路板(PrintedCircuitBoard,PCB)的诞生就是这样一道闪光。它并非源于豪华的实验室,而是来自一位名叫保罗·艾斯勒(PaulEisler)的奥地利工程师......
  • 微信小程序(8)搜索页以及历史记录管理
    1.效果1.逻辑界面初始化调接口获取两部分数据:1.搜索框默认的搜索placeholder:下面自由自在...2.热搜榜数据:前20条热搜数据3.获取本地存的历史搜索记录historyList搜索框输入文字事件:1.调用接口根据关键字搜索音乐2.判断搜索记录是否有对应关键字,如果有就将......
  • CSS笔记-盒子模型
    CSS笔记-盒子模型1.盒子模型css开发中,常常会提到一个词叫做“盒子”,这里的盒子专业名词叫“盒子模型(BoxModel)”,这一术语是从来设计和布局时使用的。通俗的讲,所有的HTML元素都可以看做是一个盒子;那么,将页面中所有的元素都设置成一个矩形的盒子后,对页面的布局就可以理解成把不......