Transformer家族

在《Transformer原理》中我们介绍了,现在很多大模型都是基于Transformer,其中最出名就是GPT和BERT模型,在GPT和BERT模型被提出来之后,NLP领域也出现了基于Transformer结构的模型,按照模型结构基本可以分为三类:

  • 纯Encoder模型(典型代表BERT,仅使用Transformer中的编码器),又称为自编码(auto-encoding)Transformer模型。

  • 纯Decoder模型(典型代表GPT,仅使用Transformer中的解码器),又称为自回归(auto-regressive)Transformer模型。

  • Encoder-Decoder模型(典型代表BART、T5),又称为Seq2Seq(sequence-to-sequence)Transformer模型。


    414c4b44af050bb41c53784b32c96bf5.jpeg


1 纯Encoder分支

纯Encoder模型通常是通过遮掩句子中的任意词语,让模型进行预测,它通常比较适用于理解整个句子语的任务比如句子分类、命名实体识别、情感分析。在预测的时候是可以看到所有输入词。

887f8532ab3674289a8fadc654d89a8a.jpeg


ee458bc6ca74280f544b1b84f7a95f81.jpeg

2 纯Decoder分支

纯 Decoder 模型的预训练通常围绕着预测句子中下一个单词展开。纯 Decoder 模型适合处理那些只涉及文本生成的任务。在生成的下一个词的时候,只能看到当前以及前面的词。

eb33837bb29a0c1f01ad81bce86dacf1.jpeg

e8f33d34eed7dbec4212d4692a5e1c7f.jpeg

3 Encoder-Decoder 分支

Encoder 的注意力层都可以访问初始输入句子中的所有单词,而 Decoder 的注意力层则只能访问输入中给定词语之前的词语。


模型可以使用 Encoder 或 Decoder 模型的目标来完成预训练,但通常会包含一些更复杂的任务。例如,T5 通过随机遮盖掉输入中的文本片段进行预训练,训练目标则是预测出被遮盖掉的文本。Encoder-Decoder 模型适合处理那些需要根据给定输入来生成新文本的任务,例如自动摘要、翻译、生成式问答。

57f33a2d6a2b9ffd8e5f3540af9786a7.jpeg

4 Transformers

上面表格中的模型只是冰山一角,在最新的2023年《Transformer models: an introduction and catalog》论文有提到更多关于Transformer家族成员,并且提供了相关发布时间以及说明,有兴趣大家可以下载去看看。

f05b42670b56ed18ce5b56c89ef622cc.jpeg



是不是被这么多模型吓坏了?幸运的是,Hugging Face开发了Transformers 库, 是当下最热、最常用的自然语言处理工具包。 实现了大量的基于Transformer架构的主流训练模型, 不仅仅是自然语言处理模型,包括图像、音视频以及多模态模型。就像java做web应用一样,学会spring boot框架,上手事半功倍。 作为一个大模型小白想要实操,这个库是必学的。


5 Transformers及相关库作用

  • Transformers: 核心库,模型加载、模型训练、流水线等.

  • Tokenizer: 分词器,对数据进行预处理,文本到token序列相互转换。

  • Datasets: 数据集库,提供了数据集的加载和处理等方法。

  • Evaluate: 评估函数,提供各种评价指标的计算函数。

  • PEFT: 高效微调模型库, 提供了几种高效微调的方法。

  • Accelerate:分布式训练,提供分布式训练解决方法, 包括大模型加载与推理解决方案。

  • Optimum: 优化加速库,支持多种,如Onnxruntime、OpenVino等。

  • Gradio:可视化部署库,几行代码快速实现基于web交互的算法演示系统。

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

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

相关文章

MyBatis3源码深度解析(十)MyBatis常用工具类(三)MetaObjectMetaClass

文章目录 3.4 MetaObject3.5 MetaClass 3.4 MetaObject MetaObject是MyBatis提供的反射工具类,可以方便地获取和设置对象的属性值。 该工具类在MyBatis源码中出现的概率非常高。 假设有两个实体类:用户信息User和订单信息Order,一个用户可…

HCIA-Datacom题库(自己整理分类的)_50_路由判断【11道题】

1.以下两条配置命令可以实现路由器RTA去往同一目的地10.1.1.0的路由主备备份。√ [RTA]ip route-static 10.1.1.0 24 12.1.1.1 Permanent [RTA]ip route-static 10.1.1.0 24 13.1.1.1 2.动态路由协议能自动适应网络拓扑的变化。√ 3.如图,只需要在AR1上配置静态…

嵌入式中要能看懂这50个电路分享

大家好,今天主要给大家分享一下,嵌入式工程师常见的硬件电路。 单片机 电源 声音模块 收音机 485 蓝牙 光耦 can 光敏电阻 单片机 矩阵 单片机电路 时钟 ADC 接口电路 红外发射 显示模块 红外接收 蜂鸣器驱动 流水灯 usb供电 烧录电路 数码管 EEPROM LCD…

为何读了这么多书,依然不知道怎么过好一生?

我们从小到大都在不断学习,读书,工作,生活,却仍然困惑如何过好这一生?那是因为知识和智慧之间有很大的差别。 第一、实践是知识转化为智慧的关键 首先,学习不仅仅是汲取知识的过程,更重要的是…

Docker 搭建 Nacos 集群教程

随着微服务架构的流行,服务注册和发现成为了构建分布式系统的关键组成部分。Nacos 是阿里巴巴开源的服务发现、配置管理和服务管理平台,它提供了注册中心和配置中心的功能,能够轻松地管理微服务的注册与发现,以及动态配置的管理。…

lnmp环境部署-im

安装nginx 配置nginx源 vim /etc/yum.repos.d/nginx.repo [nginx-stable] namenginx stable repo baseurlhttp://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck1 enabled1 gpgkeyhttps://nginx.org/keys/nginx_signing.key module_hotfixestrue安装nginx yum …

宽带波束形成

上一篇介绍了窄带波束形成,当信号的带宽增加,窄带波束形成的性能会降低很多。 首先从窄带beamforming说起 阵列模式:M个阵元组成的线性阵列 当有个输入信号,,对应的信号的入射方向为,。第一个信号是感兴…

CentOS7下使用Dockers安装MinIO

CentOS7下使用Dockers安装MinIO 1、下载2、启动3、检查4、查看日志5、查看minio版本6、删除容器 1、下载 docker pull minio/minio2、启动 docker run -p 9000:9000 -p 9001:9001 --name minio -d --restartalways -e "MINIO_ACCESS_KEYminio" -e "MINIO_SECR…

【力扣】88. 合并两个有序数组

题目描述 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 **注意:**最终&#xf…

Uni-app开发入门:跨平台应用开发指南

1. 什么是Uni-app? Uni-app是一个基于Vue.js的跨平台应用开发框架,允许开发者使用一套代码同时构建iOS、Android、H5以及小程序等多个平台的应用。通过Uni-app,开发者可以大大提高开发效率,降低维护成本。 2. Uni-app的特点 跨…

再写树型列表

再写树型列表 HTML标签的选择th:block的使用 以前用jQuery写过一个树型列表,当时选择采用jQuery或者说javascript实现的原因是可以动态获取数据,实现无限层级。现在又要用到这个东西,发现一个问题:其实大多数时候数据并不多&#…

break和continue区别及使用

break和continue是跳转控制语句,本篇文章将详细说明这两个的概念及作用。 1、continue 这张图是2024年3月的日期图,列出了每日和每周。 假设上面是上班工作日期,一个月有三十天,但是每周只有七天。简单思考一下,每周的…

el-select下拉框无法显示 elementplus踩坑日常

在使用el-select的时候参考了官方文档&#xff0c;但下拉框无法显示 解决办法1&#xff1a;检查是否没有按需引入eloption只引入了elselect 解决办法2&#xff1a;在el-select里面加入:popper-append-to-body"false" <el-select:popper-append-to-body"fa…

Mybatis八股

Mybatis是什么 Mybatis是一个半ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;它内部封装了JDBC&#xff0c;加载驱动、创建连接、创建statement等繁杂的过程&#xff0c;开发者开发时只需要关注如何编写SQL语句&#xff0c;可以严格控制sql执行性能&#xff0c;灵…

运行springboot项目提示:java: 错误: 不支持发行版本 18、java: 错误: 无效的源发行版:18

java: 错误: 不支持发行版本 18 解决方法&#xff1a;修改字节码版本&#xff0c;可以多试几次。 java: 错误: 无效的源发行版&#xff1a;18 解决方法&#xff1a; 出现这些错误原因&#xff1a; spring版本与jdk版本不对应 我的spring boot版本是3.2.2&#xff0c;对应的j…

实体店新模式:线下正规实体门店的转型与升级策略

在当今竞争激烈的市场环境下&#xff0c;线下正规实体门店需要不断转型与升级&#xff0c;以适应消费者的需求和市场的变化。 作为一名开鲜奶吧5年的创业者&#xff0c;我见证了无数实体店的成功与失败&#xff0c;下面的文章我将通过具体案例&#xff0c;为大家分享一些实用的…

YOLOv9如何训练自己的数据集(NEU-DET为案列)

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文内容&#xff1a;教会你用自己数据集训练YOLOv9模型 YOLOv9魔术师专栏 ☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️ ☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️ 包含注意力机制魔…

【IVA】一个开源OPENIVAS智能分析系统的思考

一、框架选择 计划采用百度paddlepaddle的FastDeploy框架来进行推理&#xff0c;此套框架目前实现了多类硬件的支持&#xff0c;从cuda、openvino、npu、tpu、cpu等均能良好支持&#xff0c;而且支持快速部署。 二、硬件选择 硬件首选intel下 gpu、cpu&#xff0c;其次基于成…

C语言自学笔记5-----C 语言 if...else 语句

C 语言 if…else 语句 C 语言 if语句 ifC语言编程中该语句的语法为&#xff1a; 示例 if (test expression) { //测试表达式为真时,执行的语句 } if语句在括号()内评估测试表达式。 如果测试表达式的计算结果为true&#xff0c;则将if执行主体内部的语句。 如果测试表达式的计算…

CORS解决跨域

CORS解决跨域 后端服务器开启跨域支持&#xff1a; 方案一&#xff1a;在IndexController上添加**CrossOrigin**注解 RestController RequestMapping(value "/admin/system/index") CrossOrigin(allowCredentials "true" , originPatterns "*&q…