深度学习经典模型之T5

T5(Text-to-Text Transfer Transformer) 是继BERT之后Google的又外力作,它是一个文本到文本迁移的基于Transformer的NLP模型,通过将 所有任务统一视为一个输入文本并输出到文本(Text-to-Text)中,即将任务嵌入在输入文本中,用文本的方式解决各种NLP的任务。T5是由google的Raffel等人于2019年提出了新的预训练模型,其参数量高达110亿,完爆BertLarge模型,且在多项NLP任务中达到SOTA性能,在NLP兴起了“迁移学习技术”热潮,带来了一系列方法、模型和实距的创新。

本文从 基本信息、模型架构、多个官方模型以及其T5主要贡献与应用场景对T5做一个简要的介绍.

附录是相关的概念

模型架构

T5(Text-to-Text Transfer Transformer) 是基于Transformer结构的序列到序列(Seq2Seq)模型,其主要特点是将多种NLP任务(如翻译、摘要、问答等)转化为一个统一的框架下进行训练。即在不同的具体任务上有不同的prefix指导模型,对预训练目标进行大范围探索,最后得到一个很强的baseline。而我们之后做这方面实验就能参考它的一套参数。

三种模型对比

为了解决Text-to-Text问题,作者分别使用了三种结构作为实验Encoder-DecoderLanguage modelPrefix LM。Language model和Prefix LM比较适用于NLU类问题,但对于NLG,实验结果表明Encoder-Decoder效果更好。所以T5选择了Encoder-Decoder结构。如下图所示:

image.png

Encoder-Decoder: T5使用的就是Transformer标准的基本结构,分成 Encoder 和 Decoder 两部分,但有所区别:对于Encoder部分,是双向注意力,词与词之间互相可见,之后结果输给Decoder, Decoder部分当前时间步的词汇只能看到之前时间步的词汇。

Decoder-only: 在T5的自回归模型中当前时间步词汇只能看到之前时间步词汇。

GPT全系列及目前主流大模型均为 Decoder-only 结构。

Prefix LM: 通过巧妙的 Attention 设计实现双向注意力与单向注意力的结合,一部分如 Encoder 一样能看到全体信息,一部分如Decoder一样只能看到过去信息。

三种注意力机制对比

在同一种模型结构下,这三种架构依旧是通过注意力机制的 Mask 控制,下图表示不同注意掩码模式的矩阵。

image.png

上图中注意掩码模式的矩阵符号

  • 自我注意力机制的输入和输出分别表示为x和y。
  • 第i行和第j列的深色单元格表示允许自我注意机制在输出时间步i关注输入元素j。
  • 浅色单元格表示不允许自我注意机制关注相应的i和j组合。

上图中左中右的三个图示说明说明

  • 左图:一个完全可见的掩码允许自我注意力机制在每个输出时间步关注完整的输入。
  • 中间:因果掩码防止第i个输出元素依赖“未来”的任何输入元素。
  • 右图:带有前缀的因果掩码允许自我注意力机制对输入序列的一部分使用完全可见的掩蔽
  • 不同架构的一个主要区别因素是模型中不同注意力机制使用的“掩码”。
  • 同样运算复杂度的情况下,Encoder-decoder结构的参数量是其他结构的两倍左右。

实验路径

明确的基础结构之后,就开始考虑自监督的组织方式、掩码(方式、比例等)如何设计,下图是一个实验路径,最终探索最优结果:

!image.png

High-level approaches

高层次方法对比(左图)

  • Prefix LM: 即有条件文本生成,输入完整文本,输出从左到右预测
  • BERT-style: 就是像 BERT 一样将一部分给破坏掉,然后还原出来
  • Deshuffling: 就是将文本打乱,然后还原出来

Corrupted strategies

对文本一部分进行破坏时的策略(第二图)

  • Mask: 如现在大多模型的做法,将被破坏 token 换成特殊符如 [M];
  • Replace spans: 可以把它当作是把上面 Mask 法中相邻[M] 都合成了一个特殊符,每小段替换一个特殊符,提高计算效率;
  • Drop: 没有替换操作,直接随机丢弃一些字符;

Corrupted Rate

(第三图)文本的 Mask 比例,论文中挑了 4 个值,10%,15%,25%,50%,最后明确BERT 的 15% 是最最优选择

image.png

Corrupted Span length

(第四图) Replace spans 对多长的 span 进行破坏,选定了4个探索值: 2,3,5,10 这四个值,最后发现span平均长为3结果最好。

image.png

模型配置

模型参数

为了适应不同使用场景,T5有五个不同size。Small、Base、Large、3B 和 11B, 模型参数量分别为 6000 万、2.2 亿、7.7 亿、30 亿和 110 亿。

image.png

执行效果

image.png

最优总结

综上所述,作者发现,一个最优的预训练T5模型应该是这样的:

目标函数:Span-corruption,span的平均长度为3,corruption的概率为15%
更长的训练步数:采用C4数据集继续训练1M步(bs=2^11),总计约训练了1 万亿个token
模型大小

  • base版本:24层,隐层768维,12个注意力头,参数量为220M
  • small版本:12层,隐层 512维,8个注意力头,参数量约为60M
  • Large版本:48层,隐层1024维,16个注意力头,参数量约为770M
  • 3B和11B版本:48层,隐层1024维,分别为32/128个注意力头,参数量达到了 2.8B和11B
  • 多任务预训练:在非监督预训练时,混合有监督任务可以涨点。
  • 微调:在每个任务上微调
  • Beam Search:Beam size为4,长度惩罚为0.6

image.png

此段中文来自 zhuanlan.zhihu.com/p/580554368 ,但结论归属于T5论文作者,见上上图)

T5主要贡献

Text-to-Text Transfer

F5最大的创新在于给整个NLP预训练模型领域提供了一个通用框架,把所有任务都转化成一种文本。即将每个NLP任务,包括NLU和NLG,统一成了"text-to-text"的问题。如下图在翻译、问答、分类等四个不同任务上,添加不同的prefix在输入上,即可通过生成模型得到输出结果。

允许在不同的任务集合中使用相同的模型、损失函数、超参数等。

image.png

C4(Colossal Clean Crawled Corpus)

作者从Common Crawl里清出了750GB的训练数据,并取名为"Colossal Clean Crawled Corpus (超大型干净爬取数据)",简称 C4。

Common Crawl是一种公开可用的web存档,它通过从已删除的HTML文件删除标记和其他非文本内容来提供“web提取文本”, 该存档大约每月会新产生约20TB的抓取文本数据。但数据主要由诸如菜单、错误消息或重复文本之类的胡言乱语或锅炉板文本组成,且有大量删减的文本或冒犯性语言、占位符文本、源代码等等。

应用场景

在过去的几年中,随着深度学习技术的发展,NLP领域取得了突破性进展。在众多的NLP模型中,T5模型作为一种强大的语言生成模型,在自然摘要机器翻译智能问答文本分类等任务中表现出色,成为了该领域的研究热点之一。

附-文本中涉及的相关深度学习的基本概念

SOTA(State of the art) 是指在某一领域做的Performance里最好的modal, 一般是指在一些benchmark的数据集上跑分非常高的那些模型。

迁移学习 通俗来讲,就是运用已有的知识来学习新的知识,核心是找到已有知识和新知识之间的相似性,用成语来说就是举一反三。

涌现 模型规模达到一定阈值以上后,会在多步算术、大学考试、单词释义等场景的准确性显著提升,称为涌现。

思维链(Chain-of-Thought,CoT) 是指通过让大语言模型(LLM)将一个问题拆解为多个步骤,一步一步分析,逐步得出正确答案。需指出,针对复杂问题,LLM直接给出错误答案的概率比较高。思维链可以看成是一种指令微调。

NLU和NLG:是指NLP(自然语言处理)的两个主要核心任务。NLU是所有支持机器理解文本内容的方法模型或任务的总称,即能够进行常见的文本分类、序列标注、信息抽取等任务。NLG(自然语言生成) 将非语言格式的数据转换成人类可以理解的语言格式。


👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)
在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉如何学习AI大模型?👈

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

请添加图片描述

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

在这里插入图片描述

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
在这里插入图片描述

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

在这里插入图片描述

四、AI大模型商业化落地方案

在这里插入图片描述

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。
请添加图片描述

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

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

相关文章

机器学习(西瓜书)第 4 章 决策树

4.1 决策树基本流程 决策树模型 基本流程 在第⑵种情形下,我们把当前结点标记为叶结点,并将其类别设定为该结点所含样本最多的类别;在第⑶种情形下,同样把当前结点标记为叶结点,但将其类别设定为其父结点所含样本最多…

Maven私服Nexus安装及使用

前言 周末在家闲着无聊,不知道做点啥,就想着自己搭建一个Maven私服来玩玩。刚好使用自己之前在电脑上搭建的虚拟机服务器来操作体验了一把。搭建好私服后,以后自己写的一些小模块啊,工具包啥的就可以发布到自己的私服上了&#xf…

2024网络安全人才实战能力白皮书安全测试评估篇

9月10日,国内首个聚焦“安全测试评估”的白皮书——《网络安全人才实战能力白皮书-安全测试评估篇》(以下简称“白皮书”)在国家网络安全宣传周正式发布。 作为《网络安全人才实战能力白皮书》的第三篇章,本次白皮书聚焦“安全测…

上海市高等学校信息技术水平考试 C程序设计(2020D场)全解

C语言程序一定是从mian函数开始的;在主函数中,一次又一次调用了其他函数,但不代表程序是在代码行的最后一个函数结束;而是在主函数中,遇到了return 0 才会程序结束。 标识符:在编程语言中,标识符…

Ubuntu下安装最新版本Apache2文件服务器

文章目录 1.最新版本Apache2安装2. Apache2配置2.1 端口配置2.2 创建软连接,生成文件服务2.3 隐藏Apache2服务版本号2.4 添加用户,设置Apache2文件服务密码2.5 重启Apache2服务 3. 执行后效果 1.最新版本Apache2安装 注意:安装最新版本必须升级Ubuntu为2…

【鸿蒙】HarmonyOS NEXT星河入门到实战6-组件化开发-样式结构重用常见组件

目录 1、Swiper轮播组件 1.1 Swiper基本用法 1.2 Swiper的常见属性 1.3 Swiper的样式自定义 1.3.1 基本语法 1.3.2 案例小米有品 2、样式&结构重用 2.1 Extend:扩展组件(样式、事件) 2.2 Styles:抽取通用属性、事件 2.3 Builder:自定义构建函数(结构、样式、事…

CentOS 7停更官方yum源无法使用,更换阿里源

CentOS 7官方源已经停止维护,导致无法使用yum更新软件。通过尝试使用阿里云、清华大学等第三方源解决,现以阿里云第三方源进行配置: 1、备份原有的yum源配置文件 # cp -a /etc/yum.repos.d /etc/yum.repos.d.bak 2、删除原有的yum源配置文…

基于鸿蒙API10的RTSP播放器(五:拖动底部视频滑轨实现跳转)

拖动前播放位置: 拖动后播放位置: 在Slider组件中,添加onChange方法进行监听,当视频轨道拖放结束时,触发this.seekTo()函数,其中seekTo函数需要传递一个视频已播放时长作为参数 Slider({ value: this.p…

基于Neo4j知识图谱的构建及可视化

基于Neo4j知识图谱的构建及可视化 前言 手把手教你基于Neo4j构建知识图谱可视化系统。有任何疑问或者需要提供帮助都可以私信我。 一、环境搭建 1.1 安装JDK 下载和安装Neo4j之前,首先必须 安装Java JDK,因为Neo4j是基于Java的图形数据库&#xff0c…

Model for OpenAI gym‘s Lunar Lander not converging

题意:OpenAI Gym 的 Lunar Lander 模型未收敛 问题背景: I am trying to use deep reinforcement learning with keras to train an agent to learn how to play the Lunar Lander OpenAI gym environment. The problem is that my model is not conver…

内网穿透的应用-Deepin系统安装x11vnc实现任意设备无公网IP远程连接Deepin桌面

文章目录 前言1. 安装x11vnc2. 本地远程连接测试3. Deepin安装Cpolar4. 配置公网远程地址5. 公网远程连接Deepin桌面6. 固定连接公网地址7. 固定公网地址连接测试 前言 本文主要介绍在Deepin系统中安装x11vnc工具,并结合Cpolar内网穿透工具实现任意设备无公网IP也可…

HTML深度探索 :img应用与实践

HTML深度探索 &#xff1a;img应用与实践 1、定义和用法2、图像格式3、常用属性4、预加载和懒加载4.1 预加载4.2 懒加载 1、定义和用法 HTML 元素 <img>将一张图像嵌入文档。 从技术上讲&#xff0c;实际上并没有将图像插入到网页中&#xff0c;而是将图像链接到了网页。…

Maven从入门到精通(三)

一、Settings 配置 settings.xml 用来配置 maven 项目中的各种参数文件&#xff0c;包括本地仓库、远程仓库、私服、认证等信息。 全局 settings、用户 setting、pom 的区别&#xff1a; 全局 settings.xml 是 maven 的全局配置文件&#xff0c;一般位于 ${maven.home}/conf…

API数据接口:开启智能应用的钥匙

在当今数字化时代&#xff0c;数据已成为企业的核心资产。API&#xff08;应用程序编程接口&#xff09;数据接口作为连接不同软件和服务的桥梁&#xff0c;正变得越来越重要。本文将为您详细介绍API数据接口的概念、优势、使用场景以及如何高效利用API接口&#xff0c;以期帮助…

初学51单片机之IO口上下拉电阻相关

本案本来是描述一下I2C总线的&#xff0c;在此之前推荐一下B站一个UP关于时序图的讲解 I2C入门第一节-I2C的基本工作原理_哔哩哔哩_bilibili 不过在描述I2C前先简单的探讨下51单片机IO口下拉电阻的基本情况&#xff0c;事实上这个问题困扰笔者很长时间了&#xff0c;这次也是一…

Llama Factory :百种以上语言模型的统一高效微调框架

人工智能咨询培训老师叶梓 转载标明出处 大模型适应到特定下游任务时&#xff0c;传统的全参数微调方法成本高昂&#xff0c;因此&#xff0c;研究者们一直在探索更高效的微调技术。由北京航空航天大学和北京大学的研究团队提出了一个名为Llama Factory的统一框架&#xff0c;…

QT天气预报

json 理论 什么是JSON? 规则 被大括号包括的是JSON对象,被中括号包括的是JSON数组. JSON数组JSON对象 实验 构建JSON 用代码实现如下json内容: //构建JSON void WirteJson() {QJsonObject rootObject;//1.插入name字段rootObject.insert("name","china&quo…

威胁建模STRIDE框架

威胁建模STRIDE框架 1.威胁建模框架概述2.STRIDE威胁建模框架欺骗 - 冒充某人或某物篡改 - 未经授权更改数据否认性 - 不宣称对执行的操作负责信息泄露 - 查看不应查看的数据拒绝服务 - 系统繁忙权限提升 - 拥有本不应该拥有的权限 3.后续的威胁发现 1.威胁建模框架概述 威胁建…

vxe-table之复选框 设置父子节点不互相关联

通过 checkStrictly 设置父子节点不互相关联&#xff0c;默认不显示头部复选框&#xff0c;可以通过 checkbox-config{showHeader} 设置 <template><div><vxe-table:column-config"{resizable: true}":data"tableData":tree-config"{…

sharding-jdbc metadata load优化(4.1.1版本)

背景 系统启动时&#xff0c;会注意sharding-jdbc提示加载metadata 于是想看看里面做了什么事情 问题追踪 debug后可以观察走到了该类 org.apache.shardingsphere.shardingjdbc.jdbc.core.context.ShardingRuntimeContext#loadSchemaMetaData 先看这个shardingRuntimeConte…