在sora的技术报告中提到将视觉数据转换为patches,这个不得不提及ViT这篇开创之作,它便是通过将图像划分为多个patch,然后映射成token序列,输入到transformer完成一些视觉任务,但是,在划分patch时通常需要将图像调整为固定的分辨率进行处理,这种方法在某种程度上是次优的。NaViT这篇论文就是解决不同分辨率输入的问题。Patch n’ Pack: NaViT, a Vision Transformer for any Aspect Ratio and Resolution,这篇论文是发表在NeuralPS2023上的一篇论文,Google DeepMind的工作,下面详细介绍NaViT工作原理。
Sora涉及的核心技术
鉴于OpenAI近期发布的视频生成模型Sora大火,紧跟前沿技术,赶紧学习了一下其官网公开的tech report中Sora涉及的一些技术,这里整理了一些核心的相关论文,接下来在工作之余会抽空学习一下。
图文多模态理解-BLIP系列
Prompt详解
近年来,在NLP领域热度最高的技术莫过于prompt engineering ,想了解一个方向最快速的方法就是看有关这个方向的survey的paper。本文的内容主要参考CMU刘鹏飞的这篇论文:Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing。这篇survey对于比较清晰的介绍了当前NLP中的范式发展,以及prompt的一些基础知识和prompt的设计方法。
参数高效微调方法-LoRA
和上一篇文章一样,本文依旧是介绍参数高效微调(Parameter-Efficient Fine-Tuning,PEFT) 方法:LoRA: Low-Rank Adaptation of Large Language Models,这篇论文是发表在ICLR2022上一篇论文,微软的工作,用于解决大模型finetune的问题。下面详细介绍LoRA工作原理。
参数高效微调方法-Adapter
在NLP任务中,在大模型上进行Fine-tuning是一种有效地迁移学习方法。尤其是,BERT、RoBERTa等模型的提出为NLP的下游任务的解决提供了极大的便利。但在大模型上对下游任务进行fine-tuning时,大模型参数动辄数十亿,存储和训练这种大模型是十分昂贵且耗时的。而且需要庞大计算资源。参数高效微调(Parameter-Efficient Fine-Tuning,PEFT) 方法旨在解决这两个问题,PEFT 方法仅微调少量 (额外) 模型参数,同时冻结预训练大模型 的大部分参数,从而大大降低了计算和存储成本。这也克服了灾难性遗忘 的问题, PEFT 方法在小数据集上也可以取得和全参数fine-tune一样的效果。下文详细介绍一下 参数高效微调方法中的Adapter以及Adapter Fusion。
让研究人员绞尽脑汁的Transformer位置编码[转载]
不同于RNN、CNN等模型,对于Transformer模型来说,位置编码的加入是必不可少的,因为纯粹的Attention模块是无法捕捉输入顺序的,即无法区分不同位置的Token。为此我们大体有两个选择:1、想办法将位置信息融入到输入中,这构成了绝对位置编码的一般做法;2、想办法微调一下Attention结构,使得它有能力分辨不同位置的Token,这构成了相对位置编码的一般做法。
虽然说起来主要就是绝对位置编码和相对位置编码两大类,但每一类其实又能衍生出各种各样的变种,为此研究人员可算是煞费苦心、绞尽脑汁了,此外还有一些不按套路出牌的位置编码。本文就让我们来欣赏一下研究人员为了更好地表达位置信息所构建出来的“八仙过海,各显神通”般的编码方案。
Rethinking Positional Encoding In Language Pre-Training
本文介绍一篇有关transformer中位置编码的论文,论文发表自ICLR2021,该论文主要探究了俩个问题:1)在transformer中,处理位置编码时,直接将word embedding和position embedding相加后送入multi-head attention是否合理;2)在序列分类任务中,通常会在句首附加[CLS] token用于捕捉全局信息是否合理;针对改俩个问题对position encoding和[cls]token进行改进和修正。
通用多模态预训练方法OFA
OFA是阿里达摩院发表在ICML2022上有关多模态预训练的工作,论文链接:OFA: Unifying Architectures, Tasks, and Modalities Through a Simple Sequence-to-Sequence Learning Framework。OFA是通用多模态预训练模型,使用简单的seq2seq的学习框架统一模态(跨模态、视觉、语言等模态)和任务(如图片生成、视觉定位、图片描述、图片分类、文本生成等),OFA通过任务指令即可执行pretrain/finetune,无需引入额外设计任务layer或head,OFA在一系列多模态任务上达到了sota结果。
最简单的多模态VLP模型ViLT
本文介绍一篇发表在ICML2021上有关多模态预训练相关的论文,ViLT: Vision-and-Language Transformer Without Convolution or Region Supervision,ViLT不需要使用预训练的ViT来初始化多模态交互的transformer,直接用用交互层来处理视觉特征,无需额外增加视觉encoder,比如提取region features的object detector。
Taxonomy of Vision-and-Language Models
在这篇论文中,作者依据:1)在参数或者计算上,俩种模态是否保持平衡;2)俩种模态是否是在深度网络中进行交互;将现有的VLP模型大致划分为以下四种:
其中每个圆角矩形的大小表示相对计算量大小,VE、TE和MI分别是visual embedding、text embedding和modality interaction的简写。