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.hqwc.cn/news/537520.html

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

相关文章

Nuxt3: useFetch使用过程常见一种报错

一、问题描述 先看一段代码&#xff1a; <script setup> const fetchData async () > {const { data, error } await useFetch(https://api.publicapis.org/entries);const { data: data2, error: error2 } await useFetch(https://api.publicapis.org/entries);…

Socket通信Demo(Unity客户端和C#)

Socket通信基本流程 首先要启动服务器创建Socket&#xff0c;然后要绑定服务器的一个端口这样客户端通过服务器IP端口号就能连接到服务器了服务器接下来会设置监听队列&#xff0c;监听并等待要连接到它的客户端客户端在服务器启动之后也建立自己的Socket&#xff0c;然后使用…

Oracle 主从切换脚本

一、 切换前预检查 1. dg_precheck_main_v1.4.sh #!/bin/bash#********************************************************************************** # Author: Hehuyi_In # Date: 2022年06月16日 # FileName: dg_precheck_main_v1.4.sh # # For sys user, execute the sc…

【嵌入式学习】C++day0313

一、思维导图 二、习题 #include <iostream>using namespace std;class Per { private:string name;int age;float * high;float * weight; public://有参构造函数Per(string n,int a,float h,float w):name(n),age(a),high(new float (h)),weight(new float (w)){}//析…

ubuntu安装并使用Anaconda

0、说明 对应着 Python 有 2.x 版本和 3.x 版本&#xff0c;Anaconda 也有 Anaconda2 以及 Anaconda 3 两个版本&#xff0c;考虑其流行度&#xff0c;一般谈及 Anaconda 时&#xff0c;默认为 Anaconda3。本人使用的ubuntu20.04。 1、Anaconda 简介 Anaconda 是一个用于科学…

可视化搭建一个智慧零售订单平台

前言 智慧零售行业是在数字化浪潮中快速发展的一个领域&#xff0c;它利用先进的信息技术和大数据分析来提升零售业务的效率和顾客体验。智慧零售订单平台&#xff0c;具有跨平台、数据智能清洗和建模&#xff0c;以及更加丰富的数据展示形式等优势。智慧零售订单平台可以以文…

Day31:安全开发-JS应用WebPack打包器第三方库JQuery安装使用安全检测

目录 打包器-WebPack-使用&安全 第三方库-JQuery-使用&安全 思维导图 JS知识点&#xff1a; 功能&#xff1a;登录验证&#xff0c;文件操作&#xff0c;SQL操作&#xff0c;云应用接入&#xff0c;框架开发&#xff0c;打包器使用等 技术&#xff1a;原生开发&…

Jeff Bezos的投资正开始见效

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

3_springboot_shiro_jwt_多端认证鉴权_Redis缓存管理器.md

1. 什么是Shiro缓存管理器 上一章节分析完了Realm是怎么运作的&#xff0c;自定义的Realm该如何写&#xff0c;需要注意什么。本章来关注Realm中的一个话题&#xff0c;缓存。再看看 AuthorizingRealm 类继承关系 其中抽象类 CachingRealm &#xff0c;表示这个Realm是带缓存…

吴恩达CNN之卷积初学习---二维卷积

1、卷积的实现 从左到右的矩阵可以看作&#xff1a;一幅图像、过滤器filter&#xff08;核&#xff09;、另一幅图像 编程中卷积的实现&#xff1a;支持卷积的深度学习框架都会有一些函数实现这个卷积运算 python&#xff1a;conv_forward函数 TensorFlow&#xff1a;tf.nn.…

28-Java业务代表模式(Business Delegate Pattern)

Java业务代表模式 实现范例 业务代表模式&#xff08;Business Delegate Pattern&#xff09;用于对表示层和业务层解耦业务代表模式用来减少通信或对表示层代码中的业务层代码的远程查询功能在业务层中我们有以下实体: 客户端&#xff08;Client&#xff09; - 表示层代码可以…

Kubernetes(k8s第四部分之servers)

1&#xff0c;为什么不使用round-robin DNS&#xff1f; 因为DNS有缓存&#xff0c;不会清理&#xff0c;无法负载均衡 ipvs代理模式&#xff0c;这种模式&#xff0c;kube-proxy会监视Kubernetes Service 对象和Endpoints&#xff0c;调用netlink接口以相应地创建ipvs规则并…