赞
踩
原生多模特模型和多个单模型拼接
[原生多模态模型]意味着这些模型是从一开始的设计阶段,就是用于处理多种模态(包括文本、图像、音频、视频等)的数据。
把不同的单个模型拼接起来使得模型具备多模态能力这种做法也比较好理解,比如之前社区开源的Qwen-VL,它就是 Qwen-7B + Openclip ViT-bigG(2.54B)的结构,前者作为[LLM基础模型],后者作为视觉模型,因此Qwen-VL也支持图像、文本多模态输入。
在数据融合方面,来自不同模态的数据在模型内部被有效地融合,这样可以更好地理解数据间的关联和相互作用。而对于单个模型拼接,不同模态的处理通常是独立进行的,然后在某个阶段再把数据融合到一起。这种做法相对来说会使不同模态之间的信息融合不够紧密,协调性较差。
体现在模型能力上,原生多模态模型可以在整个模型中共享特征和学习策略,有助于捕获跨模态特征间的复杂关系。所以它们通常在执行跨模态任务时表现更好,例如图文匹配、视觉问答或多模态翻译。
但这是整体来说的,具体原生设计并训练的模型是否能产生一个在每个领域都具有强大能力的模型也是一个很难确定的问题。
Gemini 模型专为多模态应用而设计。Gemini 模型接受包含文本和图片等提示,然后返回文本响应。Gemini 还支持函数调用,让开发者可以传递函数的说明,然后模型会返回与说明最匹配的函数和参数。然后,开发者可以在外部 API 和服务中调用该函数。
即将推出针对 Gemini 的微调。
Gemini Pro 和 Gemini Pro Vision 可在亚洲和美国区域使用。
Vertex AI Gemini API 专为开发者和企业设计,用于扩缩部署。它提供企业安全性、数据驻留、性能和技术支持等功能。如果您已经是 Google Cloud 客户或部署了大中型应用,那您就来对地方了。
①人工智能/大模型学习路线
②AI产品经理入门指南
③大模型方向必读书籍PDF版
④超详细海量大模型实战项目
⑤LLM大模型系统学习教程
⑥640套-AI大模型报告合集
⑦从0-1入门大模型教程视频
⑧AGI大模型技术公开课名额
Gemini 适用于各种多模态应用场景,包括但不限于:
使用场景 | 说明 |
---|---|
信息挖掘 | 将世界知识与从图片和视频中提取的信息融合。 |
对象识别 | 回答与对图片和视频中的对象进行精细识别相关的问题。 |
数字内容理解 | 回答问题并从信息图、图表、图形、表格和网页等各种内容中提取信息。 |
结构化内容生成 | 根据提供的提示说明,以 HTML 和 JSON 等格式生成响应。 |
字幕/说明 | 生成具有不同细节级别的图片和视频说明。我们建议您从以下图片/视频提示开始,从此处迭代操作以获取更具体的说明。 |
- 图片:“您能编写关于图片的说明吗?” | |
- 视频:“您能编写这个视频所发生情况的说明吗?” | |
推断结果 | 根据位置推荐其他可看到的内容,在图片或视频之后/之前/之间可能发生的情况,并实现创造性用途,例如根据视觉输入编写故事。 |
虽然强大,但 Gemini 存在局限性。它在图片、长视频和复杂的指令等方面难以确定精确的对象位置。不适用于医疗用途或聊天机器人。
限制 | 说明 |
---|---|
空间推理 | 难以对图片进行精确的对象/文本定位。它对理解旋转图片的准确率可能较低。 |
计数 | 只能提供对象数量的粗略近似值,尤其是对于模糊的对象。 |
理解较长的视频 | 可支持视频作为单独的模态(与仅处理单张图片不同)。但是,模型从一组非连续的图片帧中接收信息,而不是从连续视频本身(不接收音频)接收。Gemini 也不会提取超过视频 2 分钟之外的任何信息。如需提升包含密集内容的视频的性能,请缩短视频,以便模型捕获更多视频内容。 |
按照复杂的说明操作 | 难以处理需要多个推理步骤的任务。可以考虑分解说明或提供镜头较少的示例,以获得更好的指导。 |
幻觉 | 有时,推断内容可能超出图片/视频中的实际位置,或生成不正确的内容以进行广泛文本解析。降低温度或要求缩短说明有助于缓解这种情况。 |
医疗用途 | 不适合解读医学图片(例如 X 光片和 CT 扫描),或不适合提供医学建议。 |
多轮(多模态)聊天 | 未经训练,无法使用聊天机器人功能或以聊天语气回答问题,并且在多轮对话中表现不佳。 |
这个技术是在 [Flamingo]中首先提出的,具体来说就是在文本序列中插入特殊的标记 来表示这个位置有一个图像/视频内容。直接输入到模型中的是包含这些特殊标记的文本序列,视觉信息则是通过交叉注意力机制来注入到模型中,并且通过mask来限制每段文本能感知到的视觉内容(一段文本对应一个图像/视频)。由于 Flamingo 没有开源代码,所以不知道官方的实现细节,但可以参考 [OpenFlamingo]的代码。 Flamingo 补充材料中的图 7 非常能说明这个细节,可以仔细的研读。
根据技术报告中的图2(上面也引了),Gemini 没有简单的采用 Flamingo 的方式,应该是把其他模态内容的 token 序列直接和文本的 token 序列交叉合并在一起输入到模型中而不是通过交叉注意力机制注入进去,我认为这种形式才算得上原生多模态,不仅设计简洁优雅,而且可能效果更好。
可以看出这种离散序列化技术在 Gemini 的原生多模态架构中起了重要作用,可以把文本之外的模态内容在形式上和文本统一起来。根据 “Gemini models build on top of Transformer decoders (Vaswani et al., 2017)”,Gemini 就是和 GPT、Llama一样直接采用了 Decoder only 架构,因此统一的多模态 token 序列可以直接用自回归方式进行训练,LVM 在纯视觉数据上已经证明了可行性。
根据以上这两点关键技术,我个人很自然地就把 Gemini 理解为 Flamingo + LVM + USM,其实这个框架我在很久之前读 Flamingo 以及在 Gemini 发布的前几天读到 LVM 的时候就设想过,不过也仅仅是设想,真的很佩服能把设想真正实现的大神们。
所以原生多模态能力实现的关键就在于输入输出都统一为交叉编排的多模态 token 序列,那它到底什么样呢?有了 Flamingo + LVM 的铺垫,它可能是下面这样:
其中 BOS 和 EOS 标记整个序列起始结束, 和 EOI 标记一个图像起始结束, 和 EOV 标记一个视频的起始结束, 和 EOA 标记一个音频的起始结束。
本文到此为止,粗浅地梳理出 Gemini 原生多模态的可能实现,以后有时间可以再继续梳理和讨论更多的可能的细节,包括 Tokenizer 的实现、为什么是离散序列化、位置编码等。
Gemini 将团队划分为约 10 个小组,分别负责预训练、数据、基础设施、模型微调、模型评估、代码库、多模态、强化学习、工具使用以及人工标注数据。
我们通过引入新的视觉接收器,包括与语言对齐的视觉编码器和位置感知适配器,增强了LLM 基础模型的视觉能力。
Qwen-VL的整体网络架构由三个组件构成,模型参数的详细信息在表1中展示:
大型语言模型:Qwen-VL采用了一个大型语言模型作为其基础组件。该模型初始化自预训练权重Qwen-7B(Qwen, 2023)。
视觉编码器:Qwen-VL的视觉编码器采用了Vision Transformer(ViT)(Dosovitskiy等人,2021)架构,并使用Openclip的预训练权重ViT-bigG(Ilharco等人,2021)进行初始化。在训练和推理阶段,输入图像会被调整至特定分辨率。视觉编码器通过以步长为14的方式将图像分割成多个块,生成一组图像特征。
位置感知视觉-语言适配器:为了解决由于图像特征序列过长导致的效率问题,Qwen-VL引入了一个视觉-语言适配器来压缩图像特征。这个适配器包含一个随机初始化的单层交叉注意力模块。该模块使用一组可训练向量(嵌入)作为查询向量,并将视觉编码器生成的图像特征作为交叉注意力操作中的键向量。这种机制将视觉特征序列压缩到固定的长度256。关于查询数量的消融实验在附录E.2中有详细介绍。此外,考虑到精确图像理解中位置信息的重要性,2D绝对位置编码被融入到交叉注意力机制的查询-键对中,以减轻压缩过程中可能损失的位置细节。经过压缩得到的长度为256的图像特征序列随后被输入到大型语言模型中。
输入与输出
图像输入: 图像通过视觉编码器和适配器处理后,产生固定长度的图像特征序列。为了区分图像特征输入和文本特征输入,在图像特征序列的开头和结尾分别添加两个特殊标记,分别表示图像内容的起始和结束。
边界框输入与输出: 为了提升模型对细粒度视觉理解和定位的能力,Qwen-VL在训练中涉及了区域描述、问题及检测数据。不同于涉及图像-文本描述或问题的传统任务,该任务要求模型精确地理解和生成指定格式的区域描述。对于任何给定的边界框,会应用一个归一化过程(范围在[0, 1000)内),然后将其转换为特定字符串格式:“(Xtopleft, Ytopleft),(Xbottomright, Ybottomright)”。这个字符串作为文本进行分词,并不需要额外的位置词汇表。为了区分检测字符串和常规文本字符串,在边界框字符串的开头和结尾添加了两个特殊标记()。此外,为了恰当关联边界框与其对应的描述性词语或句子,引入了另一组特殊标记( 和 ),用以标记由边界框所指代的内容。
在机器学习和深度学习的领域中,"open-ended scenario"通常指的是一个具有高度复杂性和不确定性的场景,这种场景下的问题没有固定的结束点,可能会有多种可能的解决方案和路径。
在open-ended scenario中,系统或模型需要能够处理未知的、新颖的或动态变化的情况,而不仅仅是根据预先定义的规则或者有限的训练数据集来做决定。这要求系统具备一定程度的创新能力、适应性和泛化能力。实际应用示例
- 自然语言处理(NLP):在开放式对话系统中,用户可以自由地输入任何形式的问题或评论,系统必须能够理解和生成合理的回答,而不是仅仅从预定义的回复中选择。
- 游戏AI:在某些策略游戏或模拟环境中,AI可能需要面对无法预测的玩家行为和持续变化的游戏状态,它必须实时地制定和调整策略。
- 机器人:在真实世界的机器人任务中,如搜救任务或家庭服务机器人,机器人可能会遇到各种预料之外的障碍和情况,它需要能够自主学习和适应环境。
解决Open-Ended Scenario的方法
在处理open-ended scenario时,研究人员和工程师会采取各种方法来提高模型的鲁棒性和灵活性:
- 强化学习:通过让模型在模拟环境中尝试和错误来学习最优策略。
- 迁移学习:使用在一个任务上训练好的模型来解决另一个相似的任务,从而快速适应新场景。
- 元学习:训练模型学习如何学习,以便它能够在面对新任务时快速适应。
- 多任务学习:同时训练模型在多个任务上工作,以提高其泛化能力。
- 生成对抗网络(GANs):在某些情况下,使用GANs生成新的训练样本来增强模型的泛化能力。
open-ended scenario是AI研究中的一个重要领域,因为它更接近人类的认知和解决问题的能力,同时对于开发真正智能的系统也是一个关键的挑战。
0-shot | 4-shot | 8-shot | 16-shot | 32-shot | |
---|---|---|---|---|---|
OpenFlamingo-9B* | 65.5 | 74.3 | 79.3 | 81.8 | 84.5 |
DeepMind Flamingo-9B | 79.4 | 93.1 | 99.0 | 102.2 | 106.3 |
VQAv2 (VQA accuracy)
0-shot | 4-shot | 8-shot | 16-shot | 32-shot | |
---|---|---|---|---|---|
OpenFlamingo-9B | 43.5 | 44.0 | 47.5 | 48.9 | 50.3 |
DeepMind Flamingo-9B | 51.8 | 56.3 | 58.0 | 59.4 | 60.4 |
* 声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/787366
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。