书生浦语多模态简述——学习笔记

多模态学习概念

多模态它是研究异构且相互连接数据的科学。它涵盖了从原始的器官信号到抽象概念的多种模态。

比如说我们语音和语言是我们理解人类交流的关键模态,而情感和图像就为我们提供了对环境和对象的感知,通过分析这些模态,我们就可以更好地理解人类是如何通过不同的方式感知和表达信息的。

这里列举了一些多模态行为和信号的具体的例子,比如说这里展示了语言、视觉、触觉和生理等多个维度,从词汇、手势到身体语言,再到生理反应,比如说皮肤、电脑和心电图,这些都是我们理解和分析人类行为的重要信号。比如通过分析语言的语调或者是面部表情,我们就可以更为准确的解读说话者的情感和意图。

多模态的研究,它已经经历了几个重要的发展阶段,特别是最近五年我们深度学习技术发展,它极大的推动了多模态研究的进展,是我们能够进入深入的探索和理解不同模态它之间的复杂关系,而又在近两年因为大模型的蓬勃发展,它又多模态又迎来了新一轮的一个发展,就是我们能够深入的探索不同模态之间它是怎么交互,和它们之间是怎么复杂的连接的。

多模态学习六大挑战

第一个挑战 representation 表示学习

表示学习的目标他人学习能够反映不同模态它之间交叉交互的表示。

这包括了融合、协调和分裂等子挑战。

  1. 融合它是指将不同的模态信息结合在一起。
  2. 协调它是确保不同模态之间它的信息能够协同工作。
  3. 分裂它就是将结合的信息重新拆分,然后更便于我们的分析和理解。

这些子挑战它共同就形成了多模态表示学习的核心。就比如说现在的 Transformer 架构,它就是把一个文本和图像的信息都表示成了token,它就是一个表示学习。

第二个挑战 alignment 对齐

它就涉及识别和建模多个模态元素,它之间的交叉模态连接。然后把这些从数据结构中构建起来,包括了连接、对齐、表示、分割等子挑战,以及显示和隐式对齐个体元素的粒度问题。

对齐它就是多模态学习中至关重要的一步,因为你要把文本和图像它之间的不同模态,他怎么对其能够更好地理解他其中的信息,他就确保了不同模态的信息能够被正确的关联和理解。 

第三个挑战 reasoning 推理

多模态的推理它是一个复杂的过程,它结合了知识,然后通常又通过多个的推理步骤,利用多模态问它的对齐和问题结构。

而推理挑战它就包括了结构、中间概念、外部范式以及知识建模等子挑战。这个挑战它就要求我们不仅要理解单个模态的信息,还要理解它们如何相互作用和影响整体的决策过程,然后来进行对它进行内部的信息的推理,然后最终得到一个结果。

第四个挑战 generation 生成

他关注的是学习一个生成的过程,然后产生反应交叉模态、交互结构和一致性的原始模态。

它就包括了摘要、翻译,还有创造等子挑战,还有关于它的信息减少、维持和扩展。这个挑战他就要求我们不仅要理解现有的输入信息,比如文本和图像,他就输进去的信息还要能够创造性的理解,以及到最后生成一些新的一致性的信息。

第五个挑战 transference 迁移

它涉及在模态之间转换知识,这个转换知识它就通常是为了帮助目标模态,这些模态可能是嘈杂的,它或者是资源有限的。而迁移包括了通过表示和生成的共同学习等词挑战这个学习,它主要的目的就是用一个模态的知识来增强另一个模态,然后以此来提高另一个模态它的一个性能或者是鲁棒性。

第六个挑战 quantification 量化

它就是对多模态学习的实证和理论研究,以此来更好地理解异构叉、模态交互以及多模态学习的过程。

我们第一节就讲了关于多模态学习的一个概念,然后也就是说其中的一个异构性,它是为了更好的理解它,还包括了异构、意志互和学习等词挑战。量化挑战,他就要求我们不仅要定性的角度学理解那个多模态学习,还要能够量化和评估不同模态它之间的交互和整体的一个学习效果。

刚刚我们总结了一些多模态学习的核心挑战,就是表示生成、推理、量化、对齐和牵引,而这些挑战他们共同构成了一个多模态学习的基础,值得我们在这个领域继续研究和实践。而这些挑战它们之间相辅相成,或者是某个挑战作为另一个挑战的前置条件。我们理解和解决了这些挑战,我们就能开发出更加智能和有效的多模态系统,服务更多的场景。

图片3

多模态学习经典工作

图片4

第一个工作 VILT

它是一种新型的视觉语言预训练模型。

为什么说它是新型的呢?因为它简化了视觉输入处理,它摒弃了传统的 CNN 或者是区域监督的方法,因为之前的多模态中,它的视觉token它都设计得很重很大。

VILT 它就是把这个视觉token做得非常的轻量,做得十分的快,然后同时也保证它的一些性能不掉,或者是掉的很小。

它使用的架构是使用到 Transformer 模块,直接处理像素级的输入,然后与文本输入的线性嵌入方式它是一致的。这个方式也是在当时也算是一个创新性的,第一次使用 Transformer 来做多模态任务。

优点:

  1. 通过这个架构,它就显著提高了模型的效率和速度,因为 VILT 它主打的就是高效以及推理十分的快。从这里大家也可以看到,在视觉头这儿它相比之前的一些方法就速度提升的非常大,而这也是它的一个主要的卖点。它在输入,对于输入的它将图片分成多个patch,然后通过线性层可以直接转换为可以与文本序列兼容的嵌入表示。而这种设计它就减少了模型的计算量,也减少了模型的参数,所以让它在处理像 VQA 或者图像文本检索的任务时,能够与现有的模型或者之前的模型相媲美。
  2. 他们做的实验也表明它在多种任务,就是当时的一些多模态的任务,比如说 VKV 或者图像文本检索更高效,然后更简化,在当时也引起了一波那种轰动,因为与传统的模型相比,它就是简化了一个视觉token的输入,减少了对这些传统方法的依赖,因为之前的方法都是非常依赖于 CNN 这些backbone。但是因为对于这种 backbone 它又设计得非常的重,非常的慢,所以它就是一个非常高效的一个创新性的架构。

缺点:

虽然它在速度和效率上取得显著成果,但是它的性能相比当时的 SOTA 模型来说还是提升的比较少的,而作者说在某些任务它的性能还有提升的空间,对于当时来说,他的工作就可以集中在模型的扩展性,然后在一些像图像重建任务上引入,或者是数据增强策略上优化来进一步提高 VIOT 它的性能和应用的范围。

创新性:但是 VILT 它这篇工作很好的证明,即使没有在传统的 CNN 或者区域监督的方法,也能实现高效的视觉语言多么态的处理。它就为未来的一些研究工作在当时就提供了一个非常好的一个baseline,也就指明了后来的一个动态学习的方向。

第二个工作 CLIP

CLIP,来源于OpenAI。

当时他的这篇工作的方法提出它是非常的简单,但是效果又非常的好,然后这份工作直到现在都还在一些任务上有所应用。比如说像一些图像文本检索。

优点:

  1. 当时这篇工作里说他的这个迁移学习能力它是非常好的,然后这篇工作它主打的就是一个 Zero shot,就是说它这个模型一经预训练出来,它就能够直接应用在一个下游的任务上。在任何一个视觉分类的数据集上,不经训练、不经一个微调就能起到一个很好的效果,这是一个主要的卖点, Zero shot。
  2. 而且作者在这篇文章里也做了非常非常多的实验。这篇文章它的工作,它的提出的主要架构 CLIP 就是这样一个架构图片,首先经过这个 image encoder,这个 encoder 它可以是一个像传统的Resnet,也可以是一个 VIT 来得到一个图像的编码。文本这边它是经过一个 text encoder,然后得到一些文本特征,这个这里提取出来之后就得到一个图像文本。对,然后如果有,在每个训练的 Badcase 里面都可都会有 n 个这样的图像图片文本。
  3. 构建好了这样的图片文本,对,图片文本队的特征之后,然后 clip 就会在这上面进行一个对比学习。而这个对比学习在这边工作体现的也非常的好,因为对比学习它非常的灵活,它需要一个正负样本的定义,然后也需要一个非常多的一个数据集。而这次在这篇工作里面,它的对比学习它定义的一个正样本和负样本。对于正样本它就是描述了一个关于这个图片的一个东西,在这个里面体现的就是在这个对角线上它都是一个正样本。而这些就是文本和图片进行配对,配的好的就称为正样本,而其他的就都是负样本,这样的处理它就这样的处理方式,它就非常的好。为什么说呢?因为它就可以用这个直接去进行训练,然后不需要有其他任何的标注,这种是一些关于无监督的预训练方式
  4. 在这份工作里它又构建了一个非常大的一个数据集,它构建的数据集里有大概是一个这种样的图片文本。它也是经过了非常多的一个清洗和配对,然后这个数据的质量就非常高,也是天然的适合这个对比学习。而这样的模型它一经预训练出来,它就可以直接应用在下游的任务了。

这个就是这篇文章,它主要提出了两个点,关于对比学习和它的一个高质量的数据集。而这篇文章一经提出来就是效果非常的好,直接就可以拿去用了。在各种下游任务,比如说像分类或者是检索一些任务。这篇文章也是推荐大家去看一看,它里面做了有大量的实验。

第三个工作 ALBEF

ALBEF和之前的VILT 他们都是认为不应该需要目标检测的模型。

VILT 文章就侧重于高效的推理,然后这篇文章它是主要关注的是在融合之前就进行对齐,进行一个视觉和文本特征它之间的一个对齐。

优点:

  1. 第一个就是关于对齐

在特征融合之前就进行一个对齐,而我们来看它的一个架构,可以看出这里的架构是像一个,也是一个传统的两个encoder。 然后当时的主流观点是认为在多模态的学习里面,视觉特征它是重要性要大于这个文本特征的。

所以要用一个更大、更强的一个视觉模型,然后也要强调两个模态之间的融合,所以对于融合模态,它的模型也要尽可能大。所以在这篇文章里他就提出了一个这样的架构,可以看到它的关于视觉这边,它是用的一个 12 层的一个encoder,比如 Transformer encoder 这样的结构来对图像进行特征提取。如在右边它其实是将一个 Transformer encoder 一个 12 层的,把它从中间给分开,分成了两个层,就一分别都是 6 层的encoder。其中一个 encoder 它就是对文本进行特征提取,提取之后它就把这个特征拿出来,和那边提取出来的视觉特征进行一个对比,进行一个对齐,然后经此之后再传入到另一个六层的 encoder 里面,对它进行一个特征的融合。所以这也就是为什么它的标题会这么写, align before fuse——在融合 之前就进行了一次对齐。而它的结果也表明了这种方式确实是有效的。 

这种方法也是改变了其中一个 loss 它的一个不足的地方,也就是说让它的训练更有效的能够学习到更多有效的内容。

可以看到这里面它适用的三个loss,第一个就是 ITC loss,就是 image text contrastive,就是关于一个对比学习的一个loss,它就是定义一个正负样本对,从这个正负样本对之间进行一个对比学习,然后使这两个特征的距离它尽可能的远。

这个过程其实就是一个对齐的一个过程,然后另外两个 loss 是在这儿,它是在模型融合。其中一个ITM,它是 invest text matching,它就是一个相当于是 offline 那种任务,就是给定一个图片,然后给定一个文本,再加一个分类头,就是去判断这个图片和文本是不是同一个队。

另一个就是MLM,它就是最先是在 Bert 里面的那个Musk,就是随机 Musk 告掉一些单词,然后对它进行重建。 burst 那篇文章也就揭示了这个 loss 是非常有用的,它能够从中学习到很多有用的信息。

lbuff 这篇文章就把这三个 loss 给综合起来,它这是学习一个目标函数。最后的结果也表明这种学习方式确实是有效的,能够学习到很多的特征。

 2. 然后第二个方面是提出了一个自训练方式的学习,就是采用动态蒸馏这样的自训练方法。 

它的动机实际上是因为从它的数据是从网上爬下来,一些数据就是像一些图片文本对,而它的一些图片文本对,有时候它就是非常的弱相关,或者是它都不是匹配的,就是图像和文本之间它们都不是匹配的,这种就称为一个噪声数据。

噪声数据它就会导致它在计算目标函数的时候会出现偏差,就比如说在计算这个 ITC时候就出现一些偏差,因为可能是某个负样本的文本。

但是它也能够描述图片中的很多信息,甚至比一个正样本对描述的很好,但是这个正样本和它图片又不是匹配的,所以这时候作为一个负样本,它就会对一个学习这个 loss 的学习造成很大的影响。

作者就提出了这样一个改进的方法,就是因为这个 loss 里面它是用了一个完后的形式来进行训练的,然后它就构建了一个这个模型,这个动态蒸馏的一个模型,然后让它去生成一个伪标签,然后把这个放在那个 one hold 里面。

它实际上就是一个score,然后放在那个 one hold 里面,这样它就让它不是成为一个 one hold label,然后经过这种方式生成了一个伪标签,然后再对它进行一个 ITC 学习,之后它就能弥补一些刚才说的这个关于 film 的一个和不匹配的一个问题。

这个伪标签它就是能够让他学习到更多的关于这种在不匹配的时候它的一个信息相当于是一个折中的一个方案,然后最终最终它是在一些任务上都取得了非常好的结果,比如说像图文检索、视觉蕴含或者 VQA视觉推理之类的,它都得到了很好的一个结果。

所以说明他作者提出的这两个方案它都是很有效的,特别是关于这个align,这个方法对于他的任务提升是非常大的,在论文里体现的是它在提升了有两个点甚至三个点这样,然后文中还做了其他的一些实验,也推荐大家去看一看这个,看一看这篇文章,它是关于对齐的 一个非常好的一个论文。

第四个工作 BLIP

BLIP的出现,它是解决了之前模型存在的两个问题。

从模型的角度来说,之前的方法大多是用一个 encoder 来做一个多模态的学习。而BLIP这篇文章它是创新性的提出了一个混合的编码解码器的结构,就是 MED 这个结构,然后引入了一个 d code 的结构,更好的解决了生成的一个问题。

在数据的层面,之前的模型他们都是在一些从网络上爬取来的图像文本对这样的一个数据来进行训练的。扩大数据集也能得到一个很大的提升,但是从网络上收集的毕竟有很多的噪声,所以这篇文章也提出了另一个方法,就是 Calf field 这个方法,然后来提高这样的数据质量,然后进行一个训练,然后达到一个非常好的效果。

下面这张图就是布利普这个模型的结构,可以看出一共有四个部分组成了一个 MED 这样的一个结构。左边这一个是一个视觉的一个模型,也是一个传统的 VIT 这样的模型,视觉用图片输入进去,然后对它进行 patch 操作,然后对它进行特征的提取。

而第二个是一个 encoder 的结构文本输入进去,这是像一个 Bert 这样的结构输入进去进行一个特殊的提取,提取出来之后跟刚才提取出来的视觉特征,然后进行一个 i t seed 学习,一个对比的学习。

再看这边是也是一个 encoder 的一个架构,但是它是为了做 ITM 这个学习任务。 your image graded text encoder 是这样的一个结构。文本输入进去,然后对它进行一个特征的提取,然后在中间还加了一层 cross attention,这样结构用于引入视觉的特征,然后进行更好的学习。目标函数就是 ITM 这个函数来进行一个 match 的一个学习,

最后这边是一个 decoder 的结构。 文本输入进去也是同样的,经过decoder,然后来进行LM,这个任务可以让他更好地学习到文本和图像的信息,然后来进行一个下游的像图片的描述,这样的一个任务就能更好的进行一个生成的任务,而弥补了之前模型在这方面的一个短缺。因为之前模型都是用encoder,它只能在文本理解上有更好的性能,但是在生成上却仍是一个短板,而BLIP 的出现就是很好的弥补了这一个缺陷。

在 MED 中,这里它有一个权重共享,就是在这两个部分,它除了 CF attention 层之外,它的所有的参数都是共享的。

可以看到这个 text 要经过这三个部分,就是要经过三次模型,这一整个就是有三个目标函数,就是ITC、 ITM 以及LM,这三个目标函数共同构成一个学习的目标函数。

再来看 Cafilt 的这个方法,这个架构它是为了能够顾虑到一些收集的噪声数据,然后对它进行一个质量的提高,以此来进行一个高质量数据的一个训练。

Cafilt,它引入了两个模块,一个是为网络图片生成标题的一个字母器,也另一个是一个去噪的一个过滤器,而这两个模型都是从同一个预训练的 MED 模型的初始化,然后在其他的数据集上,比如说像 Coco 这样的数据集上进行分别进行微调之后,然后来进行一个质量的一个提取,一个增强。最后将过滤后的图像文本对和人工标注的配对结合起来,就形成了一个新的数据集。而这个方法它被证实,最后被证实是一个非常有效的方法,经过微调后的一个 MED 能够很好的从原始数据里面进行一个标题的生成,然后就相当于是一个 grandchoose 这样的一个标题,然后同时 filter 也可以对里面的噪声数据进行一个很好的过滤,经过 Caffield 这样的一个操作之后,就能得到一个非常高质量的一个数据,而在这个数据集上继续进行一个训练,然后就可以应用到一个下游的任务。

这篇文章它是做了很多的一些下游任务,比如说像图文检索、像字母生成 caption 或者是VQA,然后还有一个自然语言视觉的推理这样一个这些任务,然后这篇文章证实都是有非常好的效果的,也推荐大家去看一看,它提出了两个方向,而在后续它也是很快的推出了 LLAVA,也达到了一个更好的一个效果。

第五个工作 LLAVA

LLAVA 是去年提出的一个开源的多模态大模型,从去年开始多模态学习的领域就开始用大模型来进行文本特征提取,然后来进行一些一系列的任务。

LLAVA 这个模型,它的架构是这样的,实际上架构也很简单

一个vision coder对视觉这边进行特征提取

文本这边是一个 large language model,也就是大模型来对它对一个输入的 prompt 来进行一个特征提取

还有一个 projection 用于将图像这边的特征,然后映射到一个像文本这样的特征的一个对齐。

这边它的主要部分就是由这三个部分组成,一个vision coder、 projection 以及一个 large language model。

然后这篇文章的贡献还在于,它是首次尝试用纯语言的 GPT 4,它生成多模态语言图像指令遵循数据,然后在这个数据集上,然后进行一系的指令微调,达到一个非常好的效果。

因为它的数据都是用 GPT 4 来进行协助的生成的。而之前的一些数据它都是像一些从网上爬取下来,或者是构成这样的一个问答对的一个数据,但是之前构造的数据都是缺乏多样性以及深入的推理。

LLAVA 这篇文章就是弥补了这个缺点,他把视觉的内容编码送进GP4,后来提高指令质量。

它是用了两类服务的表示

第一种是文字的说明,就是从一个非常详细的角度,从不同的角度来描述这个视觉场景。把这个场景里的内容尽可能把它描述的清楚,描述的很丰富,然后他还用了一个编辑框box。然后对场景中的物体来进行定位,然后对每一个边界框的你的物体的概念和空间位置来进行一个编码。

最后生成了一些关于就是图像文本,对,就是一个包括对话,然后细节描述和复杂推理这三个部分,然后在这个数据集上进行一个微调,可以达到一个非常好的效果。然后最后形成的就是一种这样的 human assistant 这样的一个形式

这里就是loss的部分,它是参与损失计算的部分,也就是说是 assistant 的这一部分参与损失,然后来进行一个学习。

作者在这篇文章里使用了两阶段的训练方式,

第一个阶段就是预训练,它的一个特征对齐的模块,也就是那个projection。

然后第二个阶段就是端到端的微调,就是 SFD 它的大语言模型加一个 projection 微调,这两部分作者训练出来之后发现在各个领域、各个评测集上都达到了一个很高的准确率,也同时在当时也是算一个比较先进的一个工作。而对后面的学习,后面的多模态研究也提供了一个很好的一个方向。

浦语灵笔简介

第一个是浦语灵笔2.0,这也是一个多模态大模型,它是在书生浦语 2.0 的基础上,它是通过图文扩展训练得来的,用了它的强大的语言建模能力和他来其中蕴藏的其他的文本创作的能力,然后使它的文图文理解和创作的能力得到了显著的提升。

它主要是在创作领域能够为用户提供一个很好的一个支持,然后但是它的 VL 这个模型在其他的一个评测中也得到了一个很好的水平,也可以说是达到了一个领先的水平,可以看到它是能够很准确的理解用户输了一个自然语言的指令,比如说是要让他创造一个什么东西,然后它就可以输出一个更为个性化、丰富以及专业的一个内容。

我们来看 的一个性能的表现,从这个图里可以看出它是在创作这方面是非常的好的。因为 它是一个多模态大模型,而单看它的一个语言大模型这边,它跟其他的一些比也是毫不逊色,甚至达到了逼近 GPT 4 它的一个水平,而 灵笔2 它的一个语言模型仅是一个 7B 的一个模型,而它也能和它也能在这些指标上能够和一个 GPT 4 达到一个接近的水平。

而再看多模态这边的测评,无论是和开源的一个模型,还是和闭源的模型,都能够打得有来有回。对于闭源的模型,像在这些一些常见的任务上,比如说什么 ChatGPT v 以及 MMI MU 或者是MME,这些任务上都已经与闭源的一些模型像是 GPT 4 v 或者 Mini Pro,或者是一些其他的一个先进的模型打得有来有回。

InternVL简介

好,最后我们来介绍一下InternVL1.5,这是一个开源的多模态大模型,这个模型一经提出就达到了开源大模型的领域一个 领先的性能。它在各大评测榜单上和 闭源的多模态大模型差距也大大的缩小了,而这个模型它不仅在一些评测榜单上达到了一个很好的性能,而实际体验下也和闭源的一些多模态大模型体验非常的相似,甚至说在部分领域能够超过闭源的多模态大模型。

比如说一些中文的理解场景来看这两个榜单它是可以说是在开源的多模态大模型已经达到了一个SOTA,而与预源的多模态大模型相比,差距也是大大的缩小了,看这里与它的差距就是十分的小,甚至在部分的领域能够超越,陷入了进一些闭源的多模态大模型,比如说 Mini Pro 1.5 或者是 GPT 4 v,然后看这些一些指标上也是能打过它的,可以说这是一个非常强的一个模型。而InternVL1.5 它的主要贡献有三个,分别是提出了一个强的视觉编码器,然后提出了一种动态分辨率策略这样的一个策略。以及它构建了一个很高质量的一个双语数据集,而关于它的架构也是一个很经典的一个 VIP 加上一个 projection 以及一个 large language model 这样的一个架构。这里 large language model 用的还是 interl M2 一个 20 B 的一个 chat 模型。

而在视觉模型这边是运用了一个新的6 b 的一个模型,这主要是通过为大规模的视觉基础模型 Intervit 6B。它是探索了一种持续学习的策略,然后增强了一个视觉理解的能力,让它能够在不同的环境中迁移和重用。而我们可以看到这个基础模型,它的参数量也是非常的大,它足足有6B,而他对于视觉的理解肯定也是非常的强。

而InternVL 1.5 它的训练策略也是分为两个阶段, Pre train 以及 finetuner阶段。

在 Pre train 阶段,它就是对于 VIP 和 MLP 这两个模块进行一个参数的一个调整,也是对这两个模块进行一个训练,而在一个翻 q 这样的阶段,是对这三个模块都进行了一个参数的调整。也就是说对 VIT 以及 MLP 以及垃圾 language model 这三个模块都进行了一个参数调整,对它进行训练,然后达到了一个最后的一个效果。 关于InternVL 1.5,它还有一个非常好的一个策略,就是动态分辨率这样的一个策略,它首先是预设了一些就是这样的一个比例,就是关于图像的一个比例预设,然后对于书的图像它就会去匹配到一个最佳的一个比例,然后把这个图像按照这个最佳的比例对它进行一个调整,对它进行一个分辨率的调整,然后调整之后再对一个,对它,对它进行一个分块,在一个进行一个分割成一个的tiles,这样以此来处理。

对它进行一个高分辨率图像的一个处理,这样的动态分辨率有什么好处呢?对于一些高分辨率的图像,它就必须要能够整块输入,然后对它进行一个比较好的理解。这样的高分辨的图像,如果你整个输入进去的话,它就会token,就会形成,就会很大,然后就会理解能力就会下降,而通过这样的一个匹配的策略就能够很好的预处理这样的一个高分辨图像,而如果是一些分辨率比较低的图像匹配的比较高的话,就会造成一个资源的浪费,就是推理速度会很慢,而对它进行分片之后,再加上一个整体的一个图像,就是整体的一个特征,以此来对它进行整个的一个输入,而这个这个策略它就是对一个图像的一个输入变得非常的灵活。而这个它不仅有助于利益详细的理解这个高负面图像以及那样的详细场景或者是文档,而对于一些常见的一个感知任务,它也能有很好的一个效果,特别是在一些 OCR 的场景。

InternVL1.5 它表现的是一个非常的好的一个状态。而关于它为什么会有这么好的效果,其实它还和它的一个高质量的数据集分不开,它是分为两阶段,训练 Pre train 和 fine tuning 阶段。我们可以看到在 Pre train 阶段,它使用的是非常多的一个 OCR 的数据集,这也是为什么它在 OCR 能任务上能够表现得如此出色的一个原因之一。它是用了非常多的一个 OCR 数据集,同时它对于一个高分辨率的场景或者是文档它就有一个很好的理解。而在范畴阶段它也是运用了非常多的这样的一个数据集,而这些都是很高质量的一个数据集,就是一些图文问答对这样的一种形式。然后同时它不仅局限于中文,还有英文的一个数据,一个增强,它的数据集涵盖了有字幕、 caption 还以及检测 OCR 等任务,然后精选了一个微小数据集,最后得到强化多模态性能这样的一个作用。

而他在论文中也提出了一个数据的翻译的 pipeline 这样的应用,它就是能够拓展模型的多语言能力,因为它不仅能够在中文领域下表现的很好,同时也在英语或者是中英混合领域它都能表现出非常好的稳健性和适应性好,这就是InternVL 1.5 它的一个具体的工作。

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

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

相关文章

技术成神之路:设计模式(九)观察者模式

介绍 观察者模式(Observer Pattern)是一种行为设计模式。它允许一个对象(称为主题或可观察者)来监视并通知一组依赖于这个对象的其他对象(称为观察者),以便在主题状态发生变化时自动更新观察者的…

Python中高效处理大数据的几种方法

随着数据量的爆炸性增长,如何在Python中高效地处理大数据成为了许多开发者和数据科学家的关注焦点。Python以其简洁的语法和丰富的库支持,在数据处理领域占据了重要地位。本文将介绍几种在Python中高效处理大数据的常用方法。 目录 1. 使用Pandas进行数…

双向链表(C语言版)

1. 双向链表的结构 注意:这里的“带头”跟单链表的“头结点”是两个概念,实际上在单链表阶段称呼不太严谨,但是为了更好地理解就直接称为单链表的头结点。带头链表里的头结点,实际为“哨兵位”,哨兵位结点不存储任何有…

若依Vue前后端分离版如何部署(windows)(超详细)

一、项目环境准备 下面是项目所需要准备的环境 Node.js redis 1、Node.js下载 下面进入官网可以下载Node.js — 在任何地方运行 JavaScript (nodejs.org)https://nodejs.org/zh-cn 下载完成安装后,需要配置环境变量,首先复制以下nodejs的安…

【JavaScript】箭头函数

具体讲解 之前写 this 的指向时就提到过箭头函数,但是由于其比较复杂,还是单独开一篇来讲箭头函数。 箭头函数,箭头函数不能作为构造函数,没有原型 prototype,不能 new。 在箭头函数中,this 关键字指向的是…

代码随想录Day15|| 110平衡二叉树 257二叉树的所有路径 404左叶子之和 222完全二叉树的节点个数

110平衡二叉树 力扣题目链接 题目描述 给定一个二叉树,判断它是否是 平衡二叉树 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:true示例 2: 输入:root [1,2,2,3,3,null,null,4,4] 输出&#xff…

深入浅出WebRTC—GCC

GoogCcNetworkController 是 GCC 的控制中心,它由 RtpTransportControllerSend 通过定时器和 TransportFeedback 来驱动。GoogCcNetworkController 不断更新内部各个组件的状态,并协调组件之间相互配合,向外输出目标码率等重要参数&#xff0…

昇思25天学习打卡营第17天|计算机视觉

昇思25天学习打卡营第17天 文章目录 昇思25天学习打卡营第17天ShuffleNet图像分类ShuffleNet网络介绍模型架构Pointwise Group ConvolutionChannel ShuffleShuffleNet模块构建ShuffleNet网络 模型训练和评估训练集准备与加载模型训练模型评估模型预测 打卡记录 ShuffleNet图像分…

2023 N1CTF-n1proxy

文章目录 参考rsa握手rust_proxy源码公匙交换和签名会话钥匙后续通信生命周期和裸指针代码审计漏洞点 libc-2.27.so大致思路(exp还有变化)调试exp泄露libc写free_hook执行命令exp 参考 https://github.com/Nu1LCTF/n1ctf-2023/tree/main/pwn/n1proxy ht…

JVM从1%到99%【精选】-运行时数据区

目录 1.运行时数据区概括 2.什么是内存溢出 3..程序计数器 4.Java虚拟机栈 5.本地方法栈 6.堆 7.方法区 8.直接内存 1.运行时数据区概括 Java虚拟机在运行Java程序过程中管理的内存区域,称之为运行时数据区。主要分为两大类:线程不共享、线程共享线程不共…

TypeScript中Interface接口的深度探索与实践

定义接口 在TypeScript中,interface是一个强有力的概念,它用于定义类型签名,特别是对象的结构。接口可以用来描述对象应该有哪些属性、方法,以及这些成员的类型。它们是实现类型系统中“鸭子类型”(duck typing&#…

【22】Android高级知识之Window(三) -WMS

一、概述 这次开始到了WindowManagerService(WMS),你可以把它看做一个WindowManager,只不过呢,属于系统服务进程(system_server)中的一员,和应用不在同一进程,所以涉及了…

CSS(二)——CSS 背景

CSS 背景 CSS 背景属性用于定义HTML元素的背景。 CSS 背景属性 Property描述background简写属性,作用是将背景属性设置在一个声明中。background-attachment背景图像是否固定或者随着页面的其余部分滚动。background-color设置元素的背景颜色。background-image把…

《程序猿学会 Vue · 基础与实战篇》

📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗 🌻 CSDN入驻不久,希望大家多多支持,后续会继续提升文章质量,绝不滥竽充数…

数据结构(二叉树-1)

文章目录 一、树 1.1 树的概念与结构 1.2 树的相关术语 1.3 树的表示 二、二叉树 2.1 二叉树的概念与结构 2.2特殊的二叉树 满二叉树 完全二叉树 2.3 二叉树的存储结构 三、实现顺序结构二叉树 3.1 堆的概念与结构 3.2 堆的实现 Heap.h Heap.c 默认初始化堆 堆的销毁 堆的插入 …

2024100读书笔记|《飞花令·夏》——鲜鲫银丝脍,香芹碧涧羹,人皆苦炎热,我爱夏日长

2024100读书笔记|《飞花令夏》——鲜鲫银丝脍,香芹碧涧羹,人皆苦炎热,我爱夏日长 《飞花令夏(中国文化古典诗词品鉴)》素心落雪 编著,飞花令得名于唐代诗人韩翃《寒食》中的名句“春城无处不飞花”&#xf…

matlab仿真 模拟调制(下)

(内容源自详解MATLAB/SIMULINK 通信系统建模与仿真 刘学勇编著第五章内容,有兴趣的读者请阅读原书) clear all ts0.001; t0:ts:10-ts; fs1/ts; dffs/length(t); msgrandi([-3 3],100,1); msg1msg*ones(1,fs/10); msg2reshape(ms…

Stable Diffusion 使用详解(1)---- 提示词及相关参数

目录 背景 提示词 内容提示词 人物及主体特征 场景 环境光照 画幅视角 注意事项及示例 标准化提示词 画质等级 风格与真实性 具体要求 背景处理 光线与色彩 负向提示词 小结 常用工具 另外几个相关参数 迭代步数 宽度与高度 提示词引导系数 图片数量 背景…

Unity | Shader基础知识(第十九集:顶点着色器的进一步理解-易错点讲解)

目录 一、前言 二、网格 三、方法UnityObjectToClipPos 四、顶点着色器和片元着色器的POSITION 五、作者的碎碎念 一、前言 之前我们简单讲解过顶点着色器,也简单讲解了表面着色器,并且一起做了一些案例,因为顶点着色器本身是更自由一些…

【Git多人协作开发】不同的分支下的多人协作开发模式

目录 0.前言背景 1.开发者1☞完成准备工作&协作开发 1.1查看分支情况 1.2创建本地分支feature-1 1.3三板斧 1.4push推本地分支feature-1到远程仓库 2.开发者2☞完成准备工作&协作开发 2.1创建本地分支feature-2 2.2三板斧 2.2push推送本地feature-2到远程仓库…