企业网站系统那个好,网站推广的定义及方法,代还app开发公司,数字货币怎么推广赚钱写在前面
大语言模型的进展催生出了ChatGPT这样的应用#xff0c;让大家对“第四次工业革命”和“AGI”的来临有了一些期待#xff0c;也作为部分原因共同造就了美股2023年的繁荣。LLM和视觉的结合也越来越多#xff1a;比如把LLM作为一种通用的接口#xff0c;把视觉特征…写在前面
大语言模型的进展催生出了ChatGPT这样的应用让大家对“第四次工业革命”和“AGI”的来临有了一些期待也作为部分原因共同造就了美股2023年的繁荣。LLM和视觉的结合也越来越多比如把LLM作为一种通用的接口把视觉特征序列作为文本序列的PrefixToken一起作为LLM的输入得到图片或者视频的caption也有把LLM和图片生成模型、视频生成模型结合的工作以更好控制生成的内容。当然2023年比较热门的一个领域便是多模态大模型比如BLIP系列、LLaVA系列、LLaMA-Adapter系列和MiniGPT系列的工作。LLM的预训练范式也对视觉基础模型的预训练范式产生了一定的影响比如MAE、BEIT、iBOT、MaskFEAT等工作和BERT的Masked Language Modeling范式就很类似不过按照GPT系列的自回归方式预训练视觉大模型的工作感觉不是特别多。下面对最近视觉基础模型的生成式预训练的工作作一些简单的介绍。
LVM
《Sequential Modeling Enables Scalable Learning for Large Vision Models》是UC Berkely和Johns Hopkins University在2023提出的一个影响比较大的工作视觉三大中文会议也在头版头条做了报道知乎的讨论也比较热烈。 Sequential Modeling Enables Scalable Learning for Large Vision Modelshttps://arxiv.org/abs/2312.00785) https://github.com/ytongbai/LVM https://yutongbai.com/lvm.html
按照自回归的生成式训练模型的工作之前也有比如Image Transformer和Generative Pretraining from Pixels等不过无论是训练的数据量还是模型的参数量都比较小。LVM把训练数据统一表述成visual sentences的形式。对训练数据、模型参数量都做了Scaling并验证了Scaling的有效性和模型的In-context推理能力。
本文的一大贡献便是数据的收集和整理和训练LLM的文本数据一样规模的视觉数据在之前缺乏的因此从开源的各种数据源出发得到了 1.64billion 图片的数据集 UVDv1Unified Vision Dataset v1。文中对数据的来源以及将不同数据统一为visual sentences描述形式的方法做了详细的介绍Fig 1可以refer原文更多的细节。 Fig 1 Visual sentences 能够将不同的视觉数据格式化为统一的图像序列结构 Fig 2
模型的结构如图Fig 2所示主要包含三部分Tokenizer、Autoregressive Vision Model和DeTokenizer。
其中Tokenizer和DeTokenizer取自于VQ-GANcodebook大小为8192输入图片分辨率为下采样倍数为16因此一张输入图片对应的Token数目为这一个模块通过LAION 5B数据的1.5B的子集来训练。
这样对于一个visual sentence会得到一个Token的序列和目前的很多多模态大模型不一样这儿没有特殊的token用以指示视觉任务的类型作为Autoregressive Vision Model的输入通过causal attention机制预测下一个Token。文中的自回归视觉模型的结果和LLaMA的结构一样输入的token 序列的长度为4096个token16张图片同时在序列的开始和结束分别会放置[BOS](begin of sentence)和[EOS](end of sentence)代表序列的开始和结束。整个模型在UVD v1包含420 billion tokens数据上训练了一个epoch模型的大小包括四种300 million、600 million、1 billion和3 billion。 Fig 3
从Fig 3可以看出训练过程中模型的loss一直在下降而且模型参数量越大loss下降越快
更多的实验结果分析可以refer原文。
EMU
《Generative Pretraining in Multimodality》是BAAI、THU和PKU的工作提出了多模态大模型EMUEMU的输入是image-text interleaved的序列可以生成文本也可以桥接一些扩散模型的Decoder生成图片。 https://arxiv.org/abs/2307.05222 https://github.com/baaivision/Emu Fig 4
EMU的结构如图Fig 4所示包含四个部分Visual Encoder文中用的EVA-02-CLIP、Causal Transformer、Multimodal ModelingLLaMA和Visual DecoderStable Diffusion。
对于输入的 image-text-video interleaved的序列EVA-CLIP会提取图片的特征同时通过causal Transformer得到个visual embeddings 即。对于包含个frame的视频则会得到个视觉embedding。在每一张图片或者每一帧的特征序列的开始和结束分别有特殊的token即[IMG]和[/IMG]。
text通过文本的tokenizer得到文本特征序列和视觉信息对应特征序列连接并在序列的开始和结束处分别添加表述开始和结束的特殊token即[s]和[/s]。最后得到的多模态序列作为LLaMA的输入得到文本输出而LLaMA输出的视觉特征序列作为扩散模型的条件输入得到生成的图像。
Emu用Image-text pair的数据、Video-text pair的数据、Interleaved Image and Text的数据以及Interleaved Video and Text的数据进行预训练。对于预测的文本token来说损失函数为预测下一个token的cross entropy loss对于视觉token来说则是的回归损失。
对Emu预训练之后会对图片生成的Stable Diffusion的Decoder进行微调。微调的时候只有U-Net的参数会更新其他的参数固定不变。训练数据集为LAION-COCO和LAION-Aesthetics。每一个训练样本的文本特征序列的结尾处都会添加一个[IMG] token最后通过自回归的方式得到个视觉特征这些特征序列作为Decoder的输入得到生成的图片。
文中还对Emu进行多模态指令微调以对其human instructions。数据集包括来自于ShareGPT和Alpaca的文本指令、来自于LLaVA的图像-文本指令以及来自于VideoChat和Video-ChatGPT的video指令。微调的时候Emu的参数都会固定不变只有LoRA模块的参数更新。微调的指令跟随数据集格式如下
[USER]:[ASSISTANT]:。
[User]和[ASSISTANT]分别是单词“word”和“assistant”对应的embedding不同的任务下也有所不同。 Fig 5
Fig 5是Emu的In-context Learning推理的一个例子输入图片-描述以及query文本会得到对应的输出图片。
4M
《4M: Massively Multimodal Masked Modeling》是瑞士洛桑联邦理工和Apple发表在NeurIPS 2023的一个工作提出了一种对视觉模型做生成式预训练的范式4MMassively Multimodal Masked Modeling将多模态的输入信息编码为特征序列作为Transformer encoder-decoder的输入同时采用Masked Modeling的方式在大量的数据集上对模型进行了训练预训练可以实现多模态输入、多模态输出得到的transformer encoder也可以作为一些视觉任务的backbone网络提取图片特征。 4M: Massively Multimodal Masked Modeling(https://arxiv.org/abs/2312.06647) 4M: Massively Multimodal Masked Modeling(https://4m.epfl.ch/) Fig 6
模型的结构如图Fig 6所示不同模态的输入按照不同的方式编码为特征序列同时从特征序列中随机选择一部分作为context另外一部分作为需要预测的target模型基于context序列预测target序列。
文中对bounding box的Tokenization方式和Pix2Seq一样比如对于一个坐标为的框会按照1000的分辨率对这些坐标做编码即这些编码之后的坐标和文本一样通过WordPiece的text tokenizer得到对应的特征序列训练的时候通过cross entropy的方式计算重建的loss。
分割的掩码通过ViT-B结构的encoder得到对应的特征序列也通过ViT-B结构的decoder得到对应的重建结果然后通过损失计算重建损失。
RGB、normals或者depth图则是用VQ_VAE的的encoder得到特征序列同时用扩散模型的decoder得到重建结果损失不是扩散模型里面常用的噪声回归损失而是重建clean image的损失。 Fig 7
预训练之后的模型可以通过自回归的方式得到输出的特征序列这些特征序列可以通过对应的decoder解码得到输出的图片、文本等如图Fig7所示。训练之后encoder可以作为目标检测、语义分割等视觉任务的骨架网络。
针对所有自学遇到困难的同学们我帮大家系统梳理大模型学习脉络将这份 LLM大模型资料 分享出来包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 有需要的小伙伴可以 扫描下方二维码领取↓↓↓ [CSDN大礼包全网最全《LLM大模型入门进阶学习资源包》免费分享安全链接放心点击]() VL-GPT
《VL-GPT: A Generative Pre-trained Transformer for Vision and Language Understanding and Generation》是西交、腾讯和港大提出的一个工作。 VL-GPT: A Generative Pre-trained Transformer for Vision and Language Understanding and Generation(https://arxiv.org/abs/2312.09251) https://github.com/AILab-CVC/VL-GPT Fig 8
模型的结构如图Fig 8所示包含两个部分第一个部分是image tokenizer-detokenizer框架的训练第二个部分是VL-GPT模型的预训练和指令微调。输入模型的文本、图片分别通过Image Tokenizer和Text Tokenizer得到图像和文本特征序列连接之后得到imate-text interleaved的文本-图像特征序列作为LLM的输入通过自回归的方式得到输出的特征序列输出的特征序列通过Image和Text Detokenizer得到生成的图片和文本。
Image tokenizer-detokenizer包含一个tokenizer 将图片编码为连续的视觉特征序列。detokenizer 则是将视觉特征转换为图片输出。
文中的用了ViT结构得到输入图片的特征序列而detokenizer 则是用到了隐空间扩散模型包含一个transformer decoder用于基于估计扩散模型的条件特征可以作为扩散模型的decoder的条件得到生成的图片。训练的时候如图Fig 9所示用预训练的CLIP模型的图像encoder和文本encoder提取图像和文本特征作为监督信息损失函数为。 Fig 9
VL-GPT包含image tokenizer-detokenizer的tokenizer和detokenizer其组件分别为LLM 文中用到了LLaMA、图像encoder 、文本encoder 、图像detokenizer 和文本detokenizer 。输入image-text interleaved数据通过图像encoder和文本encoder得到多模态的特征序列作为的输入对下一个token进行预测。
预训练损失为其中对于文本输出的token来说损失为cross-entropy loss对于视觉token来说损失为。VL-GPT也用到了LLaVA、SVIT、InstructPixPix、Magicbrush和COCO Caption的数据进行指令微调。
更多的细节可以refer原文。
VILA
《VILA: On Pre-training for Visual Language Models》是NVIDIA和MIT提出的一个工作文中对视觉语言模型预训练的有效机制进行了一些总结并提出了一系列视觉语言的大模型VILAVisual Language。
https://arxiv.org/abs/2312.07533 Fig 10
模型的结构如图Fig 10左图所示和LLaVA系列差不多模型的训练包含三个阶段如图Fig 10所示。 LLM和ViT都是单独训练的连接LLM和ViT的projector是随机初始化的因此会首先对projector做训练。 这一个阶段对LLM和projector进行训练。 第二个阶段则是对预训练的模型进行视觉指令微调。
通过一系列的实验文中得到了下面的三个结论 LLM冻结与更新在预训练过程中冻结大型语言模型LLM可以实现不错的零样本zero-shot性能但缺乏上下文学习能力in-context learning capability。为了获得更好的上下文学习能力需要对LLM进行更新。实验表明更新LLM有助于在更深层次上对齐视觉和文本的潜在嵌入这对于继承LLM的上下文学习能力至关重要。 交错预训练数据交错的视觉语言数据如MMC4数据集对于预训练是有益的而仅使用图像-文本对如COYO数据集则不是最佳选择。交错数据结构有助于模型在保持文本能力的同时学习与图像相关的信息。 文本数据重混合在指令微调instruction fine-tuning阶段将文本指令数据重新混合到图像-文本数据中不仅能够修复LLM在文本任务的性能退化还能提高视觉语言任务的准确性。这种数据混合策略有助于模型在保持文本能力的同时提升对视觉语言任务的处理能力。
EMU2
《Generative Multimodal Models are In-Context Learners》是Emu的团队提出的另外一个工作文中提出的多模态大语言模型Emu2对Emu进行了一些结构和训练策略上的改进。 Generative Multimodal Models are In-Context Learners(https://arxiv.org/abs/2312.13286) https://github.com/baaivision/Emu https://baaivision.github.io/emu2/ Fig 11
模型的结构如图Fig 11所示包含三个部分Visual Encoder、Multimodal LLM和Visual Decoder文中分别用EVA-02-CLIP-E-plus、LLaMA-33B和SDXL对上述的三个模块进行参数初始化。和Emu相比少了Casual Transformer输入的图片通过mean pooling以及Visual Encoder提取图像特征之后通过线性映射连接Visual Encoder和Multimodal LLM。
在预训练阶段用到的训练数据包括image-text pair形式的数据LAION-2B、CapsFusion-120M、video-text pair形式的数据WebVid-10M、interleaved image-text形式的数据Multimodal-C4 MMC4、interleaved video-text形式的数据YT-Storyboard-1B、grounded image-text pair形式的数据GRIT-20M、CapsFusoion-grounded-100M同时为了保持模型的文本推理能力还在只有文本数据的Pile上对模型进行了训练。图片都会通过visual encoder得到大小为的图像特征序列。 模型首先在image-text和video-text形式的数据上做了训练损失函数只在text token上进行了计算。 接下来固定住Visual Encoder的参数对linear projection layer和Multimodal LLM的参数进行训练包括文本的分类损失这儿应该就是Cross Entropy以及图像回归损失针对图像特征的损失。训练的时候所有形式的数据都用来对模型进行了训练。 最后会对Visual Decoder进行训练文中用SDXL-base对Visual Decoder的参数进行初始化LLM输出的 大小为的图像特征序列会做为Decoder的条件引导图片或者视频的生成。用到的训练数据包括LAION-COCO和LAION-AestheticsSDXL里面的Visual Encoder和VAE的参数都会固定不变只有U-Net的参数会进行更新。
在指令微调阶段用不同类型的数据得到两个不同的指令微调模型分别为Emu2-Chat和Emu2-Gen。Emu2-Chat可以基于多模态的输入得到对应的输出Emu2-Gen则是接受文本、位置和图片的输入生成符合输入条件的图片。
在训练Emu2-Chat的时候用到了两种类型的数据分别为academic-task-oriented 数据和multi-modal chat数据。academic-task-oriented数据包括image caption数据比如COCO Caption和TextCaps、visual question-answering数据比如VQAv2、OKVQA、GQA、TextVQA以及多模态分类数据M3IT、RefCOCO、RecCOCO和RefCOCOg对应的system message为。multi-modal chat数据则是包括GPT辅助生成的数据LLaVA和LLaVaR里面的数据、来自于ShareGPT和Alpaca的语言指令数据和来自于VideoChat的视频指令数据对应的system message为 在训练Emu2-Gen的时候用到的数据包括CapsFusion-grounded-100M、Kosmos-2提到的GRIT、InstructPix2Pix里面数据、CapsFusion、LAION-Asthetics、SA-1B和LAION-High-Resolution文中还从其他付费渠道收集了数据比如Unsplash、Midjourney-V5和DALL-E-3生成的图片等。和其他多模态大模型不一样物体的坐标不是以文本的形式或者ROI特征向量的方式送入LLM而是直接在黑白图片上对应的坐标位置处绘制相应的框得到的图片通过Visual Encoder提取特征。整个序列如下A photo of
a manimage embedding of object localization image[IMG]image embedding of man[/IMG]sitting next to
a dogimage embedding of object localization image[IMG]image embedding of dog[/IMG][IMG]image embedding of the whole image[/IMG] Fig 12
生成的一些示例图片如图Fig 12所示。
DeLVM
《Data-efficient Large Vision Models through Sequential Autoregression》是华为诺亚实验室的一个工作是在LVM基础上提出的一个工作。 Data-efficient Large Vision Models through Sequential Autoregression(https://arxiv.org/abs/2402.04841) https://github.com/ggjy/DeLVM Fig 13
模型结构和LVM一直如图Fig 13 a 所示这篇文章主要在两个方面做了改进探索比如数据增强和蒸馏。数据增强主要是对存在长尾分布的数据中数量较少的这一类型的数据做重复的采样也提高这部分数据的数量。
AIM
《Scalable Pre-training of Large Autoregressive Image Models》是苹果提出的一个工作也是通过自回归的方式训练视觉基础模型也发现了和LVM类似的和数据、模型参数量有关的Scaling效果不过实现方式和LVM还是存在不小的差异。 Scalable Pre-training of Large Autoregressive Image Models(https://arxiv.org/abs/2401.08541) https://github.com/apple/ml-aim Fig 14
模型预训练时候的结构如图Fig 14所示输入图片划分为没有overlap且分辨率相同的patch 并通过步长和kernel size大小相同的卷积层得到patch的特征得到的图像特征序列通过Causal Transformer按照raster order预测下一个特征序列得到特征向量通过一个MLP层得到对应的pixel。和LVM不一样没有采用VQ-GAN里面的image tokenizer、detokenizer和codebook。
AIM在DFN数据集上进行了预训练训练的损失函数为标准的预测下一个元素的自回归损失即在具体实现的时候则是损失即输入的图片patch为预测的图片patch为损失和MAE一样都是pixel级别的损失即。文中也采用了和LVM类似的方式用到了VQ-GAN类似的tokenizer损失采用cross-entropy损失但是效果不如pixel-wise的损失。
视觉基础模型按照自回归、causal attention的方式进行预训练即其中
但是下游的任务一般是bidirectional attention为了弥补这种差异性文中把图像特征序列的前几个序列看作是prefix这部分序列在transformer里面按照bidirectional attention提取特征且不计算lossprefix的序列长度为这部分序列的attentiom只大于0即。如图Fig 15所示。 Fig 15
如图Fig 16AIM观察到了和LVM一样的Scaling现象即模型参数量越多训练的时候损失下降越快效果也更好。在图Fig 17中也可以看到训练的数据量越大在验证集上的损失下降就越低。 Fig 16 Fig 17
整体来说是非常solid的一个工作更多的细节可以refer原文。 读者福利如果大家对大模型感兴趣这套大模型学习资料一定对你有用
对于0基础小白入门 如果你是零基础小白想快速入门大模型是可以考虑的。 一方面是学习时间相对较短学习内容更全面更集中。 二方面是可以根据这些资料规划好学习计划和方向。 包括大模型学习线路汇总、学习阶段大模型实战案例大模型学习视频人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型
有需要的小伙伴可以保存图片到wx扫描二v码免费领取【保证100%免费】
AI大模型学习路线汇总
大模型学习路线图整体分为7个大的阶段全套教程文末领取哈 第一阶段 从大模型系统设计入手讲解大模型的主要方法
第二阶段 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用
第三阶段 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统
第四阶段 大模型知识库应用开发以LangChain框架为例构建物流行业咨询智能问答系统
第五阶段 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型
第六阶段 以SD多模态大模型为主搭建了文生图小程序案例
第七阶段 以大模型平台应用与开发为主通过星火大模型文心大模型等成熟大模型构建大模型行业应用。
大模型实战案例
光学理论是没用的要学会跟着一起做要动手实操才能将自己的所学运用到实际当中去这时候可以搞点实战案例来学习。 大模型视频和PDF合集
观看零基础学习书籍和视频看书籍和视频学习是最快捷也是最有效果的方式跟着视频中老师的思路从基础到深入还是很容易入门的。
学会后的收获
• 基于大模型全栈工程实现前端、后端、产品经理、设计、数据分析等通过这门课可获得不同能力
• 能够利用大模型解决相关实际项目需求 大数据时代越来越多的企业和机构需要处理海量数据利用大模型技术可以更好地处理这些数据提高数据分析和决策的准确性。因此掌握大模型应用开发技能可以让程序员更好地应对实际项目需求
• 基于大模型和企业数据AI应用开发实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能 学会Fine-tuning垂直训练大模型数据准备、数据蒸馏、大模型部署一站式掌握
• 能够完成时下热门大模型垂直领域模型训练能力提高程序员的编码能力 大模型应用开发需要掌握机器学习算法、深度学习框架等技术这些技术的掌握可以提高程序员的编码能力和分析能力让程序员更加熟练地编写高质量的代码。
获取方式
有需要的小伙伴可以保存图片到wx扫描二v码免费领取【保证100%免费】