多模态和多模态大模型

多模态简介 多模式深度学习是一个子领域,旨在训练人工智能模型来处理和发现不同类型数据(模式)之间的关系——通常是图像、视频、音频和文本。通过结合不同的模态,深度学习模型可以更普遍地理解其环境,因为某些线索仅存在于某些模态中。想象一下情绪识别的任务。它不仅仅是看一张人脸(视觉模态)。一个人的声音(音频模态)的音调和音高编码了大量关于他们情绪状态的信息,这些信息可能无法通过他们的面部表情看到,即使他们经常是同步的。 阅读详情
AI摘要

本文探讨了多模态大模型(LMMs)的发展,聚焦于图像和文本处理,介绍了CLIP和Flamingo等关键技术,展望了融合丰富数据类型、智能指令响应和高效训练的趋势。

以前,我们的机器学习模型一般都只处理一种类型的数据,比如只处理文本(翻译、语言建模)、图像(对象检测、图像分类)或音频(语音识别)。但是,想想我们人类的大脑。我们不仅仅读写文字,还可以看图、看视频,听音乐,还能够辨识各种不同的声音。所以,为了让AI更接近真实世界,处理多种类型的数据显得非常重要。

OpenAI 在他们的 GPT-4V 系统简介 中提到:

有人认为,把其他数据类型(比如图像输入)融入到大语言模型中,是AI研究与发展的新方向。

这种融合的方法就是将大语言模型 (LLMs) 扩展到多种数据类型,从而得到所谓的多模态大模型 (LMMs)。去年,几乎每周都有研究团队推出自己的LMM,比如 DeepMind 的 Flamingo、Salesforce 的 BLIP、微软的 KOSMOS-1、Google 的 PaLM-E,还有腾讯的 Macaw-LLM。甚至像 ChatGPT 和 Gemini 这样的聊天机器人也采用了这种技术。

当然,不是所有的多数据系统都是 LMMs。有些模型,如 Midjourney、Stable Diffusion 和 Dall-E,虽然可以处理多种数据,但并没有集成语言模型。简单说,多模态可能意味着以下一项或多项:

  1. 输入和输出数据不同(如,从文本生成图像,或从图像生成文本)
  2. 同时处理多种输入数据(如,处理文本和图像)
  3. 能够生成多种类型的输出(如,生成文本和图像)

这篇文章主要介绍了多模态系统,特别是 LMMs,并且内容分为三部分。

  • 第一部分涵盖了多模态的背景,包括为什么要使用多模态、不同的数据模态以及多模态任务的类型。
  • 第二部分深入探讨了多模态系统的神奇之处。通过 CLIP 这个例子,我们可以看到它如何为未来的系统铺平了道路;而 Flamingo 的出色表现,则为 LMMs 这类技术带来了新的启示。
  • 第三部分带我们走进 LMMs 的研究前沿,看看如何生成多模态的结果,以及如何更高效地进行多模态训练。当然,还会介绍一些新晋的多模态技术,例如 BLIP-2、LLaVA、LLaMA-Adapter V2 和 LAVIN。

虽然这篇文章篇幅较长,但你可以直接跳到你最关心的那部分。

⚠ 注意: 术语可能会引起误解 ⚠

多模态数据有时指的是不同的数据分布方式,例如所谓的“双峰分布”。但这和我们这篇文章中谈到的多模态数据是两码事。

01

第1部分:深入理解“多模态”

为何“多模态”如此重要

很多应用场景如果没有多模态技术支持几乎难以实现,尤其是在需要处理多种类型数据的领域,例如医疗、机器人、电商、零售、游戏等。

图片

医疗领域如何运用多模态技术的例子。图片摘自:多模态生物医学人工智能研究 (Acosta 等,Nature Medicine 2022)

更重要的是,综合使用多种数据模式的信息,可以显著提升模型的性能。比如,一个能够同时处理文本和图片的模型,其效果不是应该比只能处理文本或只能处理图片的模型更出色吗?

多模态技术使得我们与系统交互更加灵活多样,可以根据自己的喜好或场合选择交互方式,比如键盘输入、语音对话或者拍照识别。

其中一个让我非常兴奋的应用是,借助多模态技术,视力受损的人也能轻松浏览网络,甚至在真实世界中进行导航。

图片

GPT-4V 展示的多模态应用亮点

数据的多种模式

我们接触到的数据有多种形式,例如:文本、图片、音频、数据表格等。这些数据的一种形式有时可以转换或 模拟 成另一种形式。例如:

  • 音频可以转化为图像形式,如音谱图。
  • 语音内容可以转写为文字,但这样做可能会丢失某些信息,如声音的响度、语调和停顿等。
  • 图像可以转化为向量,并进一步被转换为一串文本词元(Token)序列。
  • 视频实际上是一系列的图片加上音频。但现在,很多机器学习模型只把视频看作是图片的连续播放。这真的大大限制了它们的能力,因为研究表明,声音在视频中起到的作用与画面一样重要。比如,88% 的 TikTok 用户表示,在 TikTok 上,声音是不可或缺的。
  • 其实,只要你为一段文字拍张照,它就能被视为一张图片。
  • 你知道吗,数据表格也可以变成图表,也就是我们常说的图像。

那么,还有其他的数据类型吗?

事实上,任何数字化的数据都可以用0和1的组合来表示。如果有一个模型能够很好地从这些0和1的组合中学习,那它就能处理各种数据了!

当然,还有一些我们没提及的数据类型,比如图形数据和3D模型。此外,我们还没有涉及到代表气味和触觉的数据格式呢。

现在在机器学习领域,音频大多只被当作是语音的另一种形式。它大多用于把人声转化为文字,或是把文字转化为人声。而非语音的应用,比如创作音乐,还比较少见。不信你看,有人用技术合成了 Drake 和 Weeknd 的歌,你可以在 HuggingFace 的 MusicGen 模型里找到它。

而图片则可以说是最多用途的输入方式了,它不仅可以代表文字、数据表,还可以代表音频和部分视频。并且,我们每天都在产生大量的图片和视频数据,因为手机和摄像头无时无刻不在拍摄。

但当我们谈到输出时,文本就显得更有力量了。一个只能生成图片的模型其实用途有限,但如果一个模型能输出文本,它就能完成许多任务,如摘要、翻译、逻辑推理和问答等。

为简单起见,我们将重点关注两种模式:图像和文本。这些知识可以在某种程度上推广到其他模式。

多模态任务

要深入了解多模态的系统,我们最好看看它们是为了解决哪些问题而设计的。存在很多这样的任务,组织方法也五花八门。在很多学术文章中,我常看到把与视觉和语言相关的任务分为两类:生成 和 视觉语言理解(VLU)。VLU 通常指的是不涉及生成的所有任务。这两类之间并没有严格的分界,因为生成出答案也需要理解。

生成

对于生成任务,输出可以是单模态(例如只是文本、图像或3D图)或多模态结合。现在,单模态的输出已经很普遍,但多模态的输出还在发展中。文章最后会详细讨论这个。

从文字生成图像

这个任务就是直接通过文本生成对应的图像。比如:Dall-E、Stable Diffusion 和 Midjourney 这些技术都做得很好。

文字生成

一个常见的任务是视觉问题回答。这意味着,除了提供文字信息外,还可以为模型提供图片。比如,你可以随时拍摄任何东西,并提出问题:“我的车怎么不动了,是怎么回事?”、“这道菜怎么做?”或“这个梗是什么意思?”。

另一个应用场景是图片的描述,这也可以帮助搜索特定的图片。想象一个大公司,他们可能有上百万甚至十亿的图片:产品照片、统计图、设计稿、团队合影、宣传海报等等。AI 能够自动为这些图片生成描述和相关信息,这样你就可以轻松地找到你需要的图片了。

视觉语言理解

我们重点讨论两个任务:图像分类和基于文字的图像检索。

图像分类

图像分类模型只会将图像归入一些预设的类别。当我们只关心有限的几种结果时,这种模型很实用。比如,OCR(光学字符识别)系统就是来判断某个图像上的字符是不是我们已知的字符,如数字或字母。

额外说明:OCR 主要是对单个字符进行分析。但当它和一个能够理解全文背景的系统结合时,效果会更好,比如它能让我们“与”任何教科书、合同、汇编指令等“交谈”。

图片

上图显示了 GPT-4V 在处理文档时的情况,其中的错误用红色标出。

与图像分类相似的另一任务是 图像到文本检索:也就是根据给定的图像,从一堆文字中找出最匹配的描述。这种技术在搜索商品图片时特别有用,可以从图片中找出相关的商品评论。

基于文本的图像检索(图像搜索)

图像搜索不仅对搜索引擎有意义,对于企业内部查找文档和图片也同样重要。有些人也称它为“文本到图像检索”。

关于这种基于文本的图像搜索,大体上有两种方法:

  1. 为每张图片添加描述或标签,可以是手动添加,也可以是自动识别(比如在 文本生成 中提到的自动图像描述技术)。然后根据输入的文本,找出与之匹配的图片。
  2. 训练图像和文本的联合向量空间。给定一个文本查询,生成该查询的向量,并找到向量最接近该向量的所有图像。

第二种方法更加灵活,相信会得到更广泛的应用。简单说,这就是需要一个能够同时处理图像和文本的“联合向量空间”,例如 OpenAI 的 CLIP 就做到了这一点。

02

第2部分:多模态训练是什么?

当今,我们有很多高效的多模态系统。那么,我应该重点介绍哪些呢?我选择了两个:CLIP (2021) 和 Flamingo (2022),它们在科学界都很有影响力,而且公众可以轻易获取关于它们的详细资料。

  • CLIP 是第一个可以通过零样本和少样本学习推广到多个图像分类任务的模型。
  • 虽然 Flamingo 不是第一个能够“自由聊天”的多模态大脑(Salesforce 的 BLIP 比它早3个月),然而,Flamingo 的强劲表现促使一些人将其视为多模式领域的 GPT-3 时刻。

尽管这两个模型较旧,但它们使用的许多技术在今天仍然适用。希望它们能帮助我们更好地理解那些新兴的模型。现在,这个领域正在飞速进步,新的想法层出不穷。接下来,在第3部分,我们会探讨一些最新的研究模型。

要了解多模态系统,我们可以从以下几个关键部分开始:

  1. 一个编码器,它可以把各种类型的数据转化为数字向量。
  2. 一种将不同模态的向量对齐到同一多模态向量空间的方法。
  3. [仅限生成模型] 用于生成文本结果的语言模型。由于输入可以包含文本和视觉效果,因此需要开发新技术,使语言模型不仅可以根据文本,还可以根据视觉效果来调节其生成结果。

在理想的情况下,很多这类工具或组件都应该经过预训练,可以在多个场景下重复使用。

CLIP:将语言和图像联系起来的魔法

CLIP 最大的亮点就是它能够将不同模式、文本和图像的数据映射到共享向量空间。这种共享的多模态向量空间使文本到图像和图像到文本的任务变得更加容易。

训练这个多模态向量空间 CLIP 还产生了一个强大的图像编码器,让它在很多图像识别任务上都表现出色,甚至不需要额外的训练。这个编码器不仅可以帮助识别图像,还可以生成图像、回答与图像相关的问题,甚至搜索与文字描述相符的图像。Flamingo 和 LLaVa 使用 CLIP 作为图像编码器。而 DALL-E 则用 CLIP 来筛选生成的图像。目前,我们还不确定 GPT-4V 是否也使用了 CLIP。

图片

CLIP 如何进行图像分类

CLIP 的优势还在于它巧妙地利用了我们日常的语言知识,结合了一种叫做“对比学习”的技巧,这使得它可以处理更多的数据,并且训练得更加高效。接下来,我们会深入探讨这两种技术是怎么工作的。

CLIP 的内部构造图解

图片

简单来说,CLIP 的工作原理是训练两个“解码器”,使它们可以很好地配合。这个训练的目标是让正确的图片和文字组合尽可能地“相似”,而错误的组合尽可能地“不相似”。

在处理图像方面,研究团队试验了 ResNet 和 ViT 这两种方法,其中 ViT-L/14@336px 表现最好:

  • 它是一个大型的视觉 Transformer (ViT-L)
  • 它将每个图像分成 14 个小部分来处理
  • 可以处理 336x336 像素的图像输入

而在处理文本方面,CLIP 采用了与 GPT-2 类似但规模较小的 Transformer 模型。他们的基础模型只有 63M 个参数和 8 个注意力头。研究人员发现,CLIP 处理文本的能力并不太依赖于它的规模。

图片

提到 CLIP 向量,大家可能指的是这两种多模态向量,或者是由 CLIP 图像编码器产生的向量。

如何“教”机器看懂图片和文字?

很多年,人们都是手动给图片打上标签(如“这是一只猫”),然后用这些数据集(如 ImageNet、MS COCO)训练机器。但这种方法既慢又贵。

CLIP 团队发现,现有的数据集既不够大,也不够精准。所以他们创造了一个拥有 400M 图片-文字配对的超大数据集。方法是:

  1. 列出 500,000 个关键词,像是常见的词或者维基百科的热门文章标题。
  2. 在大量数据中找到与这些关键词匹配的图片。虽然具体搜寻方法是秘密,但很可能 OpenAI 使用了自家的大型数据库。
  3. 把每张图片与与它相关的文字(比如图片说明或评论)配对起来,但不是与关键词配对,因为单纯的关键词描述得太简单了。

为了保证数据的平衡性,他们确保了每个关键词最多只对应 20K 张图片。

一种新方法:对比学习

在 CLIP 出现之前,很多模型训练都是基于固定的分类或语言模型。而 CLIP 采用了“对比学习”,这种新技巧让它能应对更多种类的任务。

我们来揭示为什么在 CLIP 中,对比目标比其他方法更胜一筹。以图像描述为例:你有一张图片,怎样生成一个恰到好处的描述呢?

什么是分类器目标?

想象一个机器,它的工作就是从一堆预先设定的选项中,选择一个最合适的类别。但这种方法只在选项有限的情况下才行得通。之前的很多模型都受到这样的限制。比如,ILSVRC-2012 的模型只能在 1,000 个类别中选择,而 JFT-300M 的选择则为 18,291 个类别。

这种方法的缺陷是,模型可能会受到类别的限制而无法给出丰富的回答,还限制了其零样本学习的能力。比方说,如果训练它只认识 10 种类别,那么当出现 100 种类别时,它就不知所措了。

语言模型目标是怎样的?

与分类器只给出一个答案不同,语言模型可以输出一系列的答案。这里的每个答案,我们称之为“Token”。每个“Token”都来自语言模型的预定列表(词汇表)。

图片

分类器与语言模型目标

对比目标有何不同?

语言模型虽然输出更灵活,但 CLIP 的研究者们发现,它在训练过程中会遇到一些困难。因为它总是尝试精确地生成与图片相符的文字。但实际上,一张图片可以有很多不同的描述,比如图片的替代文字、标题或评论等。

拿 Flickr30K 数据集 为例,每张图片都有 5 种不同的描述,而且这些描述之间可能差异很大。

图片

为了解决这个问题,对比学习应运而生。它不再追求精确匹配,而是判断哪些文字更可能与图片匹配。

在处理每一组 N 个(图片和文本)的数据时,模型都会创建 N 个文本向量和 N 个图片向量。

  • 把V1,V2,…,Vn 想象成 N 张图片的向量。
  • 把 L1,L2,…,Ln 想象成 N 段文本的向量。

CLIP 会计算出所有 N2 中可能的图片与文本向量组合的相似度。它的目标是确保正确的图片-文本组合有最高的相似度,而不正确的组合相似度要尽量低。对 CLIP 来说,一次处理的数据量 N=32,768N=32,768。

图片

换个角度理解,每次 CLIP 的训练实际上是完成了两项分类工作:

图片

下面的伪代码展示了整个过程:

图片

CLIP 的研究者发现,使用这种对比法,模型的效率比传统的语言模型高出了 12 倍,并且还能生成更好的图片向量。

图片

CLIP 技术的日常应用

图像分类

在当今的图像分类领域,CLIP 是一个备受推崇的“即插即用”工具,你既可以直接拿来使用,也可以根据需要进行微调。

图片

基于文本的图像检索

CLIP 的独特之处在于,它的训练方式与常见的“图片转文字”和“文字转图片”搜索方式相似。这使得 CLIP 在图像搜索任务上有着巨大的潜力。不过,与当前最顶尖的技术相比,CLIP 在这方面的表现还有些距离。

有些创新者已经尝试用 CLIP 来搜索图片。例如,clip-retrieval 这个工具就是这样做的:

  1. 将你的所有图片转化为 CLIP 的向量数据格式,并保存在专门的向量数据库中。
  2. 对你输入的文字进行转化,使其符合 CLIP 的向量数据格式。
  3. 在向量数据库中做相似度检索,找出与你输入的文字向量最接近的所有图像。

生成图像

CLIP 不仅仅可以搜索图片,还可以帮助生成图片。比如,你只需给 DALL-E (2021) 一个文字描述,它就可以创作出与之相关的多种图片。然后再通过 CLIP 来选择最佳的图片展示给用户。

2022 年,OpenAI 推出了一个升级版的技术—— unCLIP。这是一个先进的“文字到图片”的转化工具。它的工作方式分为两步:

  1. CLIP 经过训练并冻结。预训练的 CLIP 模型可以在同一向量空间中生成文本和图像的向量。
  2. 图像生成时发生两件事:
  • 使用 CLIP 生成此文本的向量。
  • 使用扩散解码器根据这个向量生成图像。

图片

文本生成:如何用文字描述图片?

CLIP 之前尝试过文本生成。他们有个实验版叫 LM RN50。虽然它能生成对应的文本,但和 CLIP 最好的版本比,差距大概有 10%。

虽然如今 CLIP 不直接用于文本生成,但它的图像处理部分却是很多能生成文本的多模态大语言模型的基石。

Flamingo:新一代的多模态大语言模型

与 CLIP 不同,Flamingo 可以生成文本回复。简单说,Flamingo 就像是 CLIP 加上了一个语言模型,使得它能够根据看到的图和文,生成相应的文本 Token。

图片

Flamingo 可以根据你给的文字和图片,给你相应的回复。

Flamingo 是怎么构建的?

简单来说,Flamingo 主要由两大部分组成:

  1. “看”的部分(视觉编码器):使用对比学习先训练一个和 CLIP 类似的模型。然后,把这个模型的文本编码器去掉,只保留视觉编码器。
  2. “说”的部分(语言模型):这部分基于一个叫 Chinchilla 的模型,让它学会了看图说话。除此之外,还加入了两种新技术:Perceiver Resampler 和 GATED XATTN-DENSE。这两个我们后面再详细聊。

图片

Flamingo 学习的资料

Flamingo 学习用了 4 套资料:2 套是图和文配对,1 套是视频和文配对,还有 1 套是图文交错的。

DatasetTypeSizeHowTraining weight
M3WInterleaved image and text dataset43M webpagesFor each webpage, they sample a random subsequence of 256 tokens and take up to the first 5 images included in the sampled sequence.1.0
ALIGN(Image, text) pairs1.8B pairsTexts are alt-texts, averaging 12 tokens/text.0.2
LTIP(Image, text) pairs312M pairsTexts are long descriptions, averaging 20.5 tokens/text.0.2
VTP(Video, text) pairs27M short videos~22 seconds/video on average0.03

图片

Flamingo 的视觉编码器

Flamingo 的“眼睛”(图像处理部分)是从头开始训练的,使用的是一种叫做对比学习的方法。而且,它用了两套图文配对的资料,总共有 2.1M 对。这个数量比 CLIP 用的还要多 5 倍呢。

  • Flamingo 在处理文本时选择了 BERT 技术,而不是常见的 GPT-2。
  • 而在处理图像方面,它选择使用了 NormalizerFree ResNet (NFNet) F6 这一模型。
  • 在整合文本和图像信息之前,Flamingo 会对这些信息进行平均处理。

Flamingo 语言模型的秘密

Flamingo 的背后有一个强大的语言模型叫做 Chinchilla。具体来说,它利用了 Chinchilla 的 9 层预训练技术。我们常见的语言模型是根据前面的文本 Token 来猜测下一个 Token 是什么,但Flamingo 进行了创新,它同时考虑了文字和图片,根据前面的文本和视觉 Token 预测下一个文本 Token。

图片

这种方法使得文本生成不仅仅依赖文字,还会考虑图像信息。这一点从 Chunyuan Li 在 CVPR 2023 上的教程中得到了很好的解释:它是如何构建大型的多模态模型的。

为了更好地结合文字和图像,Flamingo 引入了两个高级技术:Perceiver Resampler 和 GATED XATTN-DENSE。

Perceiver Resampler 的作用

视觉信息既包括图片也包括视频,因此处理这些信息时会产生不同数量的数据。而 Perceiver Resampler 的任务就是将这些不同的数据统一为 64 个标准输出。

有个有趣的细节是,在初始的图像处理中,Flamingo 使用了 288 x 288 的分辨率。但后来,这个分辨率被提高到了 320 × 320。为什么呢?研究发现,提高图像处理的分辨率能够提升模型的表现。

图片

GATED XATTN-DENSE 层的秘密

为了让语言模型在创作文本时更好地融入视觉信息,Flamingo 在原有的语言模型层之间加入了 GATED XATTN-DENSE 技术。但如果缺少这种技术,Flamingo 的性能会下滑,具体来说,整体得分会降低4.2%。

图片

损失函数

图片

训练细节

Chinchilla LM 的部分已经微调并锁定,而新增的部分则是从零开始在四个 Flamingo 数据集上训练的,每个数据集都有其独特的权重。选择正确的权重对于获得好的性能非常关键。每个数据集的具体权重可以在前文的 Training weight 列中找到。

尽管 VTP 的权重比其他数据集小很多(0.03 与 0.2 和 1 相比),但作者发现移除这个数据集会对所有与视频相关的任务产生不良影响。

虽然 Flamingo 没有正式开源,但有一些开源的 Flamingo 项目复刻。

  • IDEFICS (由 HuggingFace 提供)
  • mlfoundations/open_flamingo

一句话总结:CLIP 和 Flamingo 的对比

图片

03

第3部分:LMM 发展趋势

CLIP 已经发布 3 年了,而 Flamingo 也有将近 2 年。虽然他们的技术结构给了我们一个深入了解 LMM 构建方法的机会,但这个领域仍然在不断进化。

以下列举了我目前对几个领域的热切期待。这只是其中的一部分,因为一来,这篇文章写得太长了;二来,我自己还在对这个领域进行探索。如果你有什么好的建议或点子,请分享给我!

融合更丰富的数据类型

现在的多模态系统主要处理文本和图片,但随着时间的推移,我们可能需要处理视频、音乐甚至 3D 这样的内容。想象一下,如果所有这些不同的数据都能在一个统一的空间中表示,那该多好!

在这方面的代表性研究包括:

  • ULIP: 一种将语言、图片和三维点云统一表示的技术 (由 Xue 等人于 2022年12月发表)
  • ImageBind: 一个能将所有内容连接在一起的向量空间 (Girdhar 等人于 2023年5月发表)
  • Jeff Dean 在 2021年提出的 Pathways 项目,其目标是“创建一个同时涵盖视觉、听觉和语言理解的多模态模型”。

图片

更智能的指令响应系统

Flamingo 这个系统虽然能完成很多任务,但在对话和按指令执行方面还有待加强。如果你对这方面不太了解,我之前写了一篇文章 RLHF 可以供你参考。目前,很多研究者都在探索如何让机器更好地理解和执行人类的指令,例如:

  • MultiInstruct: 一个通过指导来优化多模态学习的技术 (由 Xu 等人于 2022年12月发表)
  • LLaVA: 针对视觉的指令优化技术 (Liu 等人于 2023年4月28日发表)
  • InstructBLIP: 一种结合视觉与语言的全能模型 (由 Salesforce 于 2023年5月11日发布)
  • LaVIN: Cheap and Quick: Efficient Vision-Language Instruction Tuning for Large Language Models (由 Luo 等人于 2023年5月24日发表)

图片

LaVIN 论文中对其输出与其他模型的对比。

为多模态训练提高效率的适配器技术

虽然 Flamingo 采用了 Chinchilla 的 9 个预先训练的固定层,但它还是得重新训练它的视觉编码器、Perceiver 重采样器和 GATED XATTN-DENSE 层。这种从头开始的方法可能非常消耗计算资源。因此,许多研究者都在探寻如何通过较少的基础训练更高效地启动多模态系统。

例如,BLIP-2 的表现在 VQA-v2 的零射击测试中超过了 Flamingo-80B 8.7%,但它的参数数量是后者的 1/54。

这个领域的相关研究有:

  • BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models
  • [LAVIN] Cheap and Quick: Efficient Vision-Language Instruction Tuning for Large Language Models
  • LLaMA-Adapter V2: Parameter-Efficient Visual Instruction Model

下图是 Chunyuan Li 在 CVPR 2023 上的 Large Multimodal Models 教程中的内容,这确实是一个值得一看的教程。

图片

图片

输出的多模态化

现在,越来越多的模型可以处理多种类型的输入数据,但在输出多种类型的结果方面,仍然有所欠缺。例如,如果我们询问 ChatGPT 来解释 RLHF,一个全面的答案可能不仅仅是文字,还需要图形、公式,甚至是简单动画来辅助解释。

为了产生多模态的输出结果,模型首先要生成一种“桥接”的中间产物。那么,这个中间产物长什么样呢?

一个选择是以文本形式出现。之后这些文本会被转化为其他形式。

举例来说,CM3(由 Aghajanyan 等人在 2022 年提出)会产生 HTML 代码,这些代码可以被转化为包括文字、格式、链接和图片的网页内容。而 GPT-4V 则能输出 Latex 代码,这些代码之后可以变为数据表格。

图片

这是 CM3 产生的示例

图片

GPT-4V 输出的 Latex 代码,能被变为数据表

另外一个选择是生成能代表不同内容的多模态 Token。Caiming Xiong 向我展示了这一方法,他和他在 Salesforce 的团队在这方面做了很多炫酷的研究。每个“Token”都有标签,用来区分是文字还是图片。图片 Token 可以被送入图像模型如 Diffusion 产生图片,而文字 Token 则进入语言模型转化为文本。

有一篇很酷的论文 用多模态语言模型生成图片(由 Koh 等人在 2023 年6月发布),展示了如何使用 LMMs 既生成文本又提取图片。具体如下。

图片

最后说两句

浏览这么多关于多模态的研究文章,与从事此领域的专家交流,真的是一次愉快的经历。虽然我可能还遗漏了一些细节,但我希望这篇总结能帮到你,让你了解这一领域的核心思想,并应用在自己的工作中。

如你所见,在这篇文章的第三部分提到,多模态系统还在刚起步的阶段(真的很新,我的一个朋友都在怀疑 LMM 这个缩写是否能够流行起来)。确实,在我众多的讨论中,我深信,多模态系统,尤其是 LMM,将比大语言模型有更深远的影响。但需要明白的是,LMMs 的出现,并不意味着 LLMs 就过时了。LMMs 其实是在 LLMs 的基础上发展出来的,所以 LMM 的表现在很大程度上依赖于 LLM。很多致力于研究多模态系统的实验室,同时也在对 LLM 进行深入研究。

提前阅读并提供反馈的人

在此,我想对以下几位早期为这篇文章提供了宝贵意见和建议的读者表示感谢:Han-chung Lee、Sam Reiswig 和 Luke Metz。

如你所见,在这篇文章的第三部分提到,多模态系统还在刚起步的阶段(真的很新,我的一个朋友都在怀疑 LMM 这个缩写是否能够流行起来)。确实,在我众多的讨论中,我深信,多模态系统,尤其是 LMM,将比大语言模型有更深远的影响。但需要明白的是,LMMs 的出现,并不意味着 LLMs 就过时了。LMMs 其实是在 LLMs 的基础上发展出来的,所以 LMM 的表现在很大程度上依赖于 LLM。很多致力于研究多模态系统的实验室,同时也在对 LLM 进行深入研究。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
  • …

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
  • …

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
  • …

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案
  • …

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】
多模态大模型:基础架构 多模态大型语言模型(MLLM)是人工智能领域的前沿创新,它结合了语言和视觉模型的功能,可以处理复杂的任务,如视觉问答和图像字幕。这些模型利用大规模预训练,集成了多种数据模态,以显著提高其在各种应用程序中的性能。 阅读详情

相关推荐

多模态模型:概述

多模态模型是一种机器学习模型,它可以同时处理多种不同类型的数据,例如文本、图像、声音或者视频。这种模型能够更好地捕捉多种数据之间的关系,并且有助于提高模型的准确性和效率。例如,可以使用多模态模型来建立一个情感分析系统,该系统可以同时处理文本和语音数据,从而更准确地识别用户的情绪。此外,也可以这么理解:模态是指不同的数据表示方式或不同的输入/输出模式。例如,文本、语音和图像都是不同的模态。一个多模态模型可以在不同的模态之间转换,从而能够从多种输入模式中学习信息,并在多种输出模式中输出信息。

u013250861的博客 4552

什么是多模态大模型?为什么需要多模态大模型?

简单来说,所谓的多模态大模型就是一种能够理解和处理多种类型的机器学习模型——而类型也被叫做模态,包括文本,图片,音频,视频等。这种模型可以融合多种不同模态的信息,执行更复杂和智能的任务;如视觉问答(AI面试官),图文生成,语音识别与合成等。‍‍‍‍‍‍‍‍‍。

2401_85373691的博客 2733

【数据挖掘】遗传算法原理浅析:什么是遗传算法?遗传算法的工作原理是什么?

遗传算法(Genetic Algorithm,GA),是进化算法的框架和核心。 各种进化算法有什么异同? - 及时物语的回答 - 知乎 https://www.zhihu.com/question/39152390/answer/901070749

纸羊同学的博客 4275

多模态大模型综述,零基础入门到精通,收藏这一篇就够了

多模态大型语言模型(Multimodal Large Language Models, MLLM)的出现是建立在大型语言模型(Large Language Models, LLM)和大型视觉模型(Large Vision Models, LVM)领域不断突破的基础上的。随着 LLM 在语言理解和推理能力上的逐步增强,指令微调、上下文学习和思维链工具的应用愈加广泛。然而,尽管 LLM 在处理语言任务时表现出色,但在感知和理解图像等视觉信息方面仍然存在明显的短板。

Python_0011的博客 3524

Vscode + QT + CMake:高效开发环境搭建全攻略

本文详细介绍了如何搭建Vscode+QT+CMake高效开发环境,涵盖环境安装、配置优化及项目创建全流程。通过整合Vscode的轻量化编辑、QT的跨平台GUI开发以及CMake的现代构建管理,该组合特别适合大型QT项目和跨平台开发团队,能显著提升开发效率。

weixin_30338481的博客 504

【全部更新】2025金地杯E题山西省大学生数学建模思路代码文章教学:高速铁路牵引供电系统能耗优化

问题四将列车的运行速度与发车时间同时作为优化变量,建立联合优化模型,目标是在考虑电价机制和调度均衡性的前提下,使牵引供电系统一天内的总电费支出最小。问题三在考虑分时电价机制的基础上,基于遗传算法优化列车速度组合,使牵引供电系统一天内的总电费支出最小。然而,在实际运营中,不同时段的电价差异显著,合理安排列车的运行时间与运行速度,可有效降低系统的总电费支出。本研究聚焦于高速铁路牵引供电系统的能耗与电费优化问题,针对列车运行速度、发车时间与分时电价的综合影响,提出一系列数学模型,以实现系统能耗与电费的最小化。

xb459149247的博客 5289

大模型应用-多模态和大模型是如何相互成就的

如果单纯的将大模型用来聊天,那就是low了。而多模态赋予了大模型更多的现实价值,大模型则助力多模态变得更强大。

python1234567_的博客 935

汽车级智能栅极驱动器深度解析 | 连载01:DRV871x-Q1系列产品架构与核心特性

集成度:单芯片集成多通道驱动器、电源管理、电流检测智能化:自适应控制算法,减少外部元件可靠性:多重保护机制,满足汽车级要求灵活性:SPI和硬件两种接口,适应不同应用需求。

VehSwHwDeveloper的博客 1153

《多模态大模型:技术原理和实战》揭露多模态大模型本质,大模型入门必看!

多模态大模型:技术原理与实战》详细介绍了大语言模型和多模态大模型的发展历史、技术原理和亮点、主要的开源框架、配套工具、部署细则和实战案例。为了让读者更好地进行大模型的应用实战,本书还详细介绍了使用大模型为商业赋能的3个应用案例。期望本书能够帮助读者打开通往大模型尤其是多模态大模型的学习、实战和商业成功之路。《多模态大模型:技术原理与实战》适用于从事人工智能工作的专业技术人员,比如算法工程师、研发工程师等,也适用于对多模态大模型感兴趣的各类从业者,比如产品经理、项目经理和各级管理人员等。彭勇。

python1234_的博客 1096

vue3 - 最新详细实现高德地图绘制动态热力图详细教程,在某区域或城市地图上做“热力图层“展示人流量、旅游人口密度、热量图、全国地区地理热力图,利用颜色的深浅表示密度或强度等场景(详细示例代码教程)

vue3,nuxt3,高德地图,热力图,绘制热力图层,人流量,vue3使用高德地图实现某个区域热力图,vue3高德地图api加载热力图及关闭,接收热力图数据并渲染热力图,关掉热力图,Vue使用高德API制作热力图,热力图加载不出来,电子围栏围住热力图,vue3中使用高德地图渲染热力图组件,高德地图使用热力图详细教程,报错,卡顿,出不来怎么办,无法关闭,怎么解决这个问题,出错,城市名称,城市某个街道,城区,省份,市区,县城,乡镇,村,各省份的热力图,交通流量,人口流量,密度,旅游出行,人口数量,颜色介绍,深浅

✅ 精选推荐文章 5205

成本中心(CO)和利润中心(PCA)是管理会计模块的核心组件

SAP中成本中心(CO)和利润中心(PCA)凭证处理存在差异:①外部交易(如费用支付、销售)会生成FI借贷凭证;②内部成本分摊和转移仅产生CO/PCA管理凭证,通过次级成本要素或利润中心转移科目记录,不涉及FI模块。核心区别在于是否涉及企业实际收支:实际收支触发FI凭证,内部核算仅生成管理会计凭证。系统通过这种机制实现财务会计与管理会计的集成与分离。

金牌架构师 1127

多模态大模型》多模态基础模型》多模态对齐、融合和表示

本文节选自陈敬雷《GPT多模态大模型与AI Agent智能体》一书,重点探讨多模态大模型的核心技术。文章详细解析了多模态基础模型的三大关键技术:对齐(建立跨模态数据关联)、融合(信息整合策略)和表示(数据编码方法),并介绍了CLIP等代表性模型。这些技术使AI系统能够协同处理文本、图像、视频等不同模态数据,实现更强大的理解和生成能力。书中还包含配套视频课程,通过理论解析和实战案例(如模型微调、RLHF等),帮助读者掌握大模型开发全流程。该书适合作为AI领域学习者的进阶教材,涵盖从技术原理到企业落地的完整知识

weixin_52610848的博客 906

一个超酷的开源uHand2.0机械手掌项目

uHand2.0是深圳乐幻索尔公司开源的一款机械手掌,它长下面这个样子:1、uHand2.0外观图之前在公众号就分享过视频:学习嵌入式可以带娃,不信你们看2、uHand2.0硬件原理图看...

Bruce.yang的嵌入式之旅 4460

【论文阅读】大模型和多模态大模型在医学中的应用综述

大模型和多模态大模型在医学中的应用综述

m0_61222152的博客 3919

【调优】OpenClaw调优之模型(tokens)篇

OpenClaw用户常遇四大痛点:规则被无视、API账单暴涨、低效模型选择、记忆丢失。通过/context list命令可解析上下文组成,包括工作区配置、引导参数限制、系统提示词等关键信息。重点需关注Token消耗来源,如核心配置文件、技能工具说明等,避免静默截断。建议精简非必要内容,优化记忆机制,平衡功能与成本。该分析帮助用户减少无效操作,合理控制API支出。

海兰 991

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

大语言模型和多模态大模型有什么区别?

多模态大语言模型技术解析:从文本到视觉与听觉的统一处理 本文探讨了将传统文本大语言模型扩展为多模态模型的关键技术。核心挑战在于如何让专注于文本处理的模型同时理解图像、音频等异构数据。解决方案采用"万物皆Token化"策略:将图像分割为视觉Token,音频转换为听觉Token,与文本Token共同输入Transformer架构处理。文章详细分析了多模态统一架构的设计要点,包括模态特定编码机制、序列构建流程和注意力机制适配方案,并介绍了包含104G学习资源的大模型全套学习礼包,涵盖从理论到实

m0_63171455的博客 1330

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

大模型 | 什么是多模态AI?如何融合和对齐?

多模态人工智能利用来自多个不同模态(如文本、图像、声音、视频等)的数据进行学习和推理。多模态人工智能强调不同模态数据之间的互补性和融合性,通过整合多种模态的数据,利用表征学习、模态融合与对齐等技术,实现跨模态的感知、理解和生成,推动智能应用的全面发展。接下来分三部分:_数据采集与表示、数据处理与融合、学习与推理,一起来科普下多模型的基本术语。多模态学习(Multimodal Learning)是一种利用来自不同感官或交互方式的数据进行学习的方法,这些数据模态可能包括文本、图像、音频、视频等。

star_nwe的博客 4240

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

LLM 大模型学习:LLM和多模态

LLM 的推理流程:多模态的 LLM 的原理:代码演示:使用 ModelScope NoteBook 完成语言大模型,视觉大模型,音频大模型的推理环境配置与安装。

m0_65555479的博客 900

OCR识别和多模态大模型的区别及应用解析

OCR与多模态大模型技术对比分析 OCR是专注于图像文字识别的专业技术,通过预处理、检测、分割等步骤将文字转换为可编辑文本,在规范文档处理上精度高但适应性有限。多模态大模型则是通用AI系统,能处理文本、图像等多种信息,具备语义理解和复杂推理能力,但文字识别精度可能不如专业OCR。两者形成互补关系:OCR作为精准的"眼睛"提取文字,大模型作为智能"大脑"进行深度理解和信息处理。在实际应用中,结合OCR的高精度识别与大模型的语义分析能力,可构建更强大的文档处理解决方案,这

AI_OCR的博客 1611

SOTA多模态大模型!13个开源模型汇总,附论文和代码_开源多模态大模型

近年来,多模态大模型(Multimodal Large Language Models, MLLMs)在人工智能领域取得了显著的进展,特别是在自然语言处理、计算机视觉和多模态理解方面。这些模型能够理解和生成多种类型的数据,如文本、图像、音频和视频,为多模态学习和应用提供了强大的工具。今天给大家汇总了13个开源多模态大模型,这些模型在各自的领域中刷新了多个SOTA记录,每个模型都将附上相关的论文和代码,一起看看多模态大模型的最新研究成果吧!论文PDF和开源代码都整理好了😝有需要的小伙伴,可以保存图片到。

HUANGXIN9898的博客 3838

SOTA多模态大模型!13个开源模型汇总,附论文和代码

近年来,多模态大模型(Multimodal Large Language Models, MLLMs)在人工智能领域取得了显著的进展,特别是在自然语言处理、计算机视觉和多模态理解方面。这些模型能够理解和生成多种类型的数据,如文本、图像、音频和视频,为多模态学习和应用提供了强大的工具。今天给大家汇总了13个开源多模态大模型,这些模型在各自的领域中刷新了多个SOTA记录,每个模型都将附上相关的论文和代码,一起看看多模态大模型的最新研究成果吧!论文PDF和开源代码都整理好了😝有需要的小伙伴,可以保存图片到。

2301_82275412的博客 2万+

深入解析多模态大模型的主要技术和最新发展

刚刚看到一篇很不错的,关于多模态大模型的综述:“UnderstandingMultimodalLLMs”。在本文中,我旨在解释多模态LLM的工作原理。此外,我将回顾和总结最近几周发表的大约十几篇其他多模态论文和模型(包括Llama3.2)以比较它们的方法。多模态LLM的图示,它可以接受不同的输入模态(音频、文本、图像和视频)并返回文本作为输出模态。

m0_59235945的博客 1901

本地部署多模态大模型,结合Open-WebUI和Dify实现多模态对话、智能体!

今天,给大家介绍一下如何在个人电脑上通过Ollama和OpenWeb-UI搭建一个属于自己的多模态大模型,能够结合本地知识库进行智能问答、图像分析等,并结合Dify构建本地的智能体。支持Windows、macos、Linux。

2401_82469710的博客 4701

【UCAS智能计算系统】7.大模型-图像处理和多模态大模型

​ 图像处理大模型和多模态大模型。采用移动窗口划分,会改变窗口的数量和大小,如图所示,原来的 4 个窗口变成了 9 个窗口,且每个窗口的大小可能不同,这时无法将这些窗口作为一个批量(batch)进行计算。损失,使配对的图像与文本的表征相似度越来越高,不配对的图像与文本的表征相似度越来越低,从而实现图像表征和文本表征的对齐。是基于图像的文本解码器,它根据输入图像生成图像的新的文本描述,并替换掉原始的噪声文本,构成新的。结构,接收的输入序列是**[CLS]词元与文本**的连接,并将输入序列编码为文本的特征信息。

踏上取经路,比抵达灵山更重要🐱‍👤 1587

好书推荐 -《多模态大模型:技术原理和实战》揭露多模态大模型本质,大模型入门必看!看完我直接跪了

多模态大模型:技术原理与实战》详细介绍了大语言模型和多模态大模型的发展历史、技术原理和亮点、主要的开源框架、配套工具、部署细则和实战案例。为了让读者更好地进行大模型的应用实战,本书还详细介绍了使用大模型为商业赋能的3个应用案例。期望本书能够帮助读者打开通往大模型尤其是多模态大模型的学习、实战和商业成功之路。《多模态大模型:技术原理与实战》适用于从事人工智能工作的专业技术人员,比如算法工程师、研发工程师等,也适用于对多模态大模型感兴趣的各类从业者,比如产品经理、项目经理和各级管理人员等。彭勇。

lyy2017175913的博客 1116
上一篇: 港大字节提出多模态大模型新范式,模拟人类先感知后认知,精确定位图中物体
下一篇: 3B模型新SOTA!开源AI让日常调用不同大模型更简单
AI_小站
博客等级 码龄3年 6255粉丝 1152原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值