T5论文总结

2023-11-11 23:21
文章标签 总结 论文 t5

本文主要是介绍T5论文总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

最近一个项目中用到了Google的T5模型,之前只是有被“文本生成干所有”的理念小小惊艳到,但没有阅读过论文,趁此机会对这篇更像是大规模实验报告的论文进行总结。当然必备基础一定是对Transformer有足够的了解。

《Text-to-Text Transfer Transformer》https://arxiv.org/pdf/1910.10683.pdf

这是一篇实验报告而非创新性论文

这篇论文页数有60+,如果埋头读的话很容易在读完后迷茫这篇文章到底是讲了什么,其实这篇论文就是一系列与NLP Transfer Learning相关的方法的实验报告,有可能你会觉得在NLP领域提Transfer Learning还是挺别扭的(反正我对于这个短语第一印象是CV),但实际上这个NLP中的Transfer指的就是现在流行的预训练模型,所以说首先要了解,这是一篇对当下最流行的NLP预训练技术各个环节方法(模型架构、无监督预训练目标等)的对比实验报告

“文本生成干所有”不是邀功,而是源点

“With this unified approach, we can compare the effectiveness of different transfer learning objectives, unlabeled data sets, and other factors, while exploring the limits of transfer learning for NLP by scaling up models and data sets beyond what has previously been considered.”

虽然口号很霸气,但当你阅读论文时就会发现,其实它并非这篇论文的主要目标,而是:为了能够在实验中比较在各环节方法(哪个训练目标效果最好?哪种mask方式最好?如何fine-tune最好?等等)的效果,需要一个统一的任务,在这统一的任务上对各个方法进行对比实验评判。说白了就是控制变量,连任务都不同的话谈什么环节方法对比?所以先放到同一个任务上来,再在此任务上开展对比实验。

"We systematically study these contributions by taking a reasonable baseline (described in Section 3.1) and altering one aspect of the setup at a time. For example, in Section 3.3 we measure the performance of different unsupervised objectives while keeping the rest of our experimental pipeline fixed."

当然,通过将不同的NLP任务都统一成相同的任务使得模型可以直接用各种任务数据进行统一训练,这看上去似乎确实是一个优点,但是个人认为并不尽然:多任务学习带来提升有两种情况:①多个任务之间的共通关联有益于各任务自身,但这种情形在实际遇到的任务中少之又少;②某个任务数据太少,通过多任务中的其它任务进行“知识”的补充,那么又回到了第①种情况,“知识”的补充需要任务之间具有一定程度的“相关性”。并且,从直觉上讲,统一则需要个体的牺牲,所以一个什么任务都能干的方法比不过在某任务上进行精心优化的方法。

在谈了一大堆对“文本生成干所有”的认识后,就轮到介绍是怎么“干”的部分了,其实就是简单的输入处理(将任务以前缀prefix的方式加入到文本中),下面贴一张论文原图很清晰不赘述了。

 Data & Base Model

在开始实验之前还差model和data两个部分

这篇关于T5论文总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/393511

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

二分最大匹配总结

HDU 2444  黑白染色 ,二分图判定 const int maxn = 208 ;vector<int> g[maxn] ;int n ;bool vis[maxn] ;int match[maxn] ;;int color[maxn] ;int setcolor(int u , int c){color[u] = c ;for(vector<int>::iter

整数Hash散列总结

方法:    step1  :线性探测  step2 散列   当 h(k)位置已经存储有元素的时候,依次探查(h(k)+i) mod S, i=1,2,3…,直到找到空的存储单元为止。其中,S为 数组长度。 HDU 1496   a*x1^2+b*x2^2+c*x3^2+d*x4^2=0 。 x在 [-100,100] 解的个数  const int MaxN = 3000

状态dp总结

zoj 3631  N 个数中选若干数和(只能选一次)<=M 的最大值 const int Max_N = 38 ;int a[1<<16] , b[1<<16] , x[Max_N] , e[Max_N] ;void GetNum(int g[] , int n , int s[] , int &m){ int i , j , t ;m = 0 ;for(i = 0 ;

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

go基础知识归纳总结

无缓冲的 channel 和有缓冲的 channel 的区别? 在 Go 语言中,channel 是用来在 goroutines 之间传递数据的主要机制。它们有两种类型:无缓冲的 channel 和有缓冲的 channel。 无缓冲的 channel 行为:无缓冲的 channel 是一种同步的通信方式,发送和接收必须同时发生。如果一个 goroutine 试图通过无缓冲 channel