自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

為什么多模態(tài)AI是下一個風(fēng)口?深度解讀新一代LLM 精華

發(fā)布于 2024-12-26 13:18
瀏覽
1收藏

本文旨在解釋多模態(tài)大語言模型的工作原理。此外,還將回顧并總結(jié)最近幾周發(fā)布的十幾篇多模態(tài)研究論文和模型(包括 Llama 3.2)的內(nèi)容,以比較它們的不同實現(xiàn)方式。

為什么多模態(tài)AI是下一個風(fēng)口?深度解讀新一代LLM-AI.x社區(qū)

一、多模態(tài)大語言模型是什么?

多模態(tài)大語言模型(Multimodal Large Language Models,簡稱Multimodal LLMs)是一種能夠理解和生成多種類型數(shù)據(jù)的模型,包括文本、圖片、音頻和視頻等。這些模型可以跨越不同的數(shù)據(jù)形式,進(jìn)行信息的交互與生成。例如,傳統(tǒng)語言模型只能處理文字,但多模態(tài)模型不僅能“讀”文字,還能“看”圖片、“聽”聲音,甚至“看”視頻,并用文字或其他形式將它們的理解表達(dá)出來。

一個典型的應(yīng)用場景是圖片描述。例如,你可以上傳一張圖片,模型可以用自然語言準(zhǔn)確地描述圖片中的內(nèi)容。它還能完成更復(fù)雜的任務(wù),比如提取PDF文件中的表格數(shù)據(jù),生成學(xué)術(shù)文檔所需的LaTeX格式等。不管是日常生活中的實用性,還是在專業(yè)領(lǐng)域的助力,多模態(tài)模型都展示了其廣泛的應(yīng)用潛力。

為什么多模態(tài)AI是下一個風(fēng)口?深度解讀新一代LLM-AI.x社區(qū)

二、構(gòu)建多模態(tài)大語言模型的常見方法

構(gòu)建多模態(tài)大語言模型(LLM)主要有兩種常見的方法:

  • 方法A:統(tǒng)一嵌入解碼架構(gòu)(Unified Embedding Decoder Architecture);
  • 方法B:跨模態(tài)注意力架構(gòu)(Cross-Modality Attention Architecture)。

為什么多模態(tài)AI是下一個風(fēng)口?深度解讀新一代LLM-AI.x社區(qū)

如上圖所示,統(tǒng)一嵌入解碼架構(gòu)(Unified Embedding-Decoder Architecture)使用單一解碼模型,其結(jié)構(gòu)類似于未修改的大語言模型架構(gòu),例如 GPT-2 或 Llama 3.2。在這種方法中,圖像被轉(zhuǎn)換為與原始文本標(biāo)記(Token)相同的嵌入大小,使得LLM能夠在文本和圖像輸入標(biāo)記合并后共同處理這些數(shù)據(jù)。

相比之下,跨模態(tài)注意力架構(gòu)(Cross-Modality Attention Architecture)通過跨注意力機(jī)制在注意力層中直接集成圖像和文本嵌入。

接下來的部分將從概念層面探索這些方法如何工作,并結(jié)合最近的多模態(tài)LLM研究論文,探討它們在實際應(yīng)用中的實現(xiàn)方式。

2.1 方法A:統(tǒng)一嵌入解碼架構(gòu)

讓我們先從統(tǒng)一嵌入解碼架構(gòu)開始,這種架構(gòu)如下面的圖示所示。

為什么多模態(tài)AI是下一個風(fēng)口?深度解讀新一代LLM-AI.x社區(qū)

統(tǒng)一嵌入解碼架構(gòu)的圖示,這一架構(gòu)基于未修改的解碼器風(fēng)格的大語言模型(如 GPT-2、Phi-3、Gemma 或 Llama 3.2),模型接收的輸入包括圖像標(biāo)記和文本標(biāo)記的嵌入。

在統(tǒng)一嵌入解碼架構(gòu)中,圖像被轉(zhuǎn)換為嵌入向量,其過程與標(biāo)準(zhǔn)文本語言模型處理文本時將輸入文本轉(zhuǎn)換為嵌入的方式類似。

對于一個典型的僅處理文本的LLM來說,文本輸入通常會經(jīng)過以下步驟:
a. **標(biāo)記化:**文本被分解為小的單位(如使用字節(jié)對編碼法,Byte-Pair Encoding);
b. **嵌入層處理:**這些標(biāo)記通過嵌入層轉(zhuǎn)換為嵌入向量。

為什么多模態(tài)AI是下一個風(fēng)口?深度解讀新一代LLM-AI.x社區(qū)

2.1.1 理解圖像編碼器

類似于文本的標(biāo)記化和嵌入生成,圖像嵌入是通過一個圖像編碼器模塊生成的(而不是通過標(biāo)記器生成),如下圖所示。

為什么多模態(tài)AI是下一個風(fēng)口?深度解讀新一代LLM-AI.x社區(qū)

圖像編碼器的內(nèi)部如何工作?如圖所示,為了處理一張圖像,我們首先將圖像分割成小塊,就像在標(biāo)記化過程中將單詞分解為子詞一樣。這些小塊隨后由一個預(yù)訓(xùn)練的**視覺Transformer(Vision Transformer,簡稱ViT)**進(jìn)行編碼,具體過程如下面的圖示所示。

為什么多模態(tài)AI是下一個風(fēng)口?深度解讀新一代LLM-AI.x社區(qū)

該圖示展示了經(jīng)典ViT模型的設(shè)置,與論文《An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale》(2020年)中提出的模型類似。
需要注意的是,ViT通常用于分類任務(wù),因此上圖中包含了一個分類頭(classification head)。然而,在這里我們只需要使用圖像編碼器部分。

2.1.2 線性投影模塊的作用

前一圖示中的“線性投影”(linear projection)由一個單獨(dú)的線性層(即全連接層)組成。其作用是將經(jīng)過展平的圖像塊投影為一個與Transformer編碼器兼容的嵌入尺寸。如下圖所示,這一線性投影的過程展示了如何將一個展平的圖像塊從256維向量投影為768維向量。

為什么多模態(tài)AI是下一個風(fēng)口?深度解讀新一代LLM-AI.x社區(qū)

上圖展示了線性投影層如何將展平的圖像塊從256維嵌入空間映射到768維嵌入空間。如果更傾向于通過代碼示例理解,我們可以用以下PyTorch代碼實現(xiàn)對圖像塊的線性投影:

ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
import torch




class PatchProjectionLayer(torch.nn.Module):


    def __init__(self, patch_size, num_channels, embedding_dim):
        super().__init__()
        self.patch_size = patch_size
        self.num_channels = num_channels
        self.embedding_dim = embedding_dim
        self.projection = torch.nn.Linear(
            patch_size * patch_size * num_channels, embedding_dim
        )


    def forward(self, x):


        batch_size, num_patches, channels, height, width = x.size()
        x = x.view(batch_size, num_patches, -1)  # Flatten each patch
        x = self.projection(x)  # Project each flattened patch
        return x




# Example Usage:
batch_size = 1
num_patches = 9  # Total patches per image
patch_size = 16  # 16x16 pixels per patch
num_channels = 3  # RGB image
embedding_dim = 768  # Size of the embedding vector


projection_layer = PatchProjectionLayer(patch_size, num_channels, embedding_dim)


patches = torch.rand(
    batch_size, num_patches, num_channels, patch_size, patch_size
)


projected_embeddings = projection_layer(patches)
print(projected_embeddings.shape)


# This prints
# torch.Size([1, 9, 768])

如果你閱讀過機(jī)器學(xué)習(xí)問與答》(Machine Learning Q and AI)一書,你可能知道,可以用卷積操作來替代線性層,并實現(xiàn)數(shù)學(xué)上的等價性。在這里,這種方法尤其實用,因為我們可以通過卷積操作同時完成圖像塊的創(chuàng)建和投影,僅需兩行代碼:

ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
layer = torch.nn.Conv2d(3, 768, kernel_size=(16, 16), stride=(16, 16))


image = torch.rand(batch_size, 3, 48, 48)
projected_patches = layer(image)


print(projected_patches.flatten(-2).transpose(-1, -2).shape)
# This prints
# torch.Size([1, 9, 768])

2.1.3 圖像與文本的標(biāo)記化對比

在簡單討論了圖像編碼器(及其包含的線性投影)的作用后,讓我們回到之前提到的文本標(biāo)記化類比,進(jìn)一步比較圖像和文本標(biāo)記化與嵌入的過程,如下圖所示。

為什么多模態(tài)AI是下一個風(fēng)口?深度解讀新一代LLM-AI.x社區(qū)

上圖展示了圖像和文本標(biāo)記化過程的并排對比??梢钥吹?,在圖像編碼器之后,我添加了一個額外的投影模塊(projector)。這一模塊通常是一個線性投影層,與前面提到的類似,其目的是將圖像編碼器的輸出投影到與文本標(biāo)記嵌入相匹配的維度,如下圖所示。(需要注意的是,這個模塊有時也被稱為適配器、連接器或轉(zhuǎn)換器。)

為什么多模態(tài)AI是下一個風(fēng)口?深度解讀新一代LLM-AI.x社區(qū)

現(xiàn)在,圖像塊嵌入的維度已經(jīng)與文本標(biāo)記嵌入的維度相同,因此我們可以將它們簡單地拼接在一起,作為輸入提供給大語言模型(LLM)。為了方便參考,以下再次展示了本節(jié)開頭的圖示。

為什么多模態(tài)AI是下一個風(fēng)口?深度解讀新一代LLM-AI.x社區(qū)

將圖像塊標(biāo)記投影到與文本標(biāo)記嵌入相同維度后,拼接為標(biāo)準(zhǔn)LLM的輸入。順便提一下,此部分討論的圖像編碼器通常是預(yù)訓(xùn)練的視覺Transformer(ViT)。一個常見的選擇是CLIP或OpenCLIP。

然而,方法A也有一些變體可以直接處理圖像塊,例如Fuyu模型,如下圖所示。

為什么多模態(tài)AI是下一個風(fēng)口?深度解讀新一代LLM-AI.x社區(qū)

如上圖所示,F(xiàn)uyu模型直接將輸入的圖像塊送入線性投影層(或嵌入層),通過自身學(xué)習(xí)圖像塊的嵌入,而不像其他模型和方法那樣依賴額外的預(yù)訓(xùn)練圖像編碼器。這種方法顯著簡化了架構(gòu)和訓(xùn)練流程。

2.2 方法B:跨模態(tài)注意力架構(gòu)

在討論了統(tǒng)一嵌入解碼架構(gòu)的方法并理解了圖像編碼的基本概念后,我們來探討另一種實現(xiàn)多模態(tài)LLM的方法:跨模態(tài)注意力架構(gòu),如下圖所示。

為什么多模態(tài)AI是下一個風(fēng)口?深度解讀新一代LLM-AI.x社區(qū)

在上圖所示的跨模態(tài)注意力架構(gòu)中,我們?nèi)匀皇褂们懊嬗懻摰膱D像編碼器設(shè)置。然而,不同的是,這種方法不是將圖像塊編碼作為LLM的輸入,而是通過多頭注意力層中的跨注意力機(jī)制將輸入圖像塊連接起來。

這一思想可以追溯到2017年提出的經(jīng)典Transformer架構(gòu)(Attention Is All You Need論文),如下圖所示。

為什么多模態(tài)AI是下一個風(fēng)口?深度解讀新一代LLM-AI.x社區(qū)

需要注意的是,上圖中原始的Attention Is All You Need Transformer最初是為語言翻譯開發(fā)的。因此,它由一個文本編碼器(圖的左側(cè))和一個文本解碼器(圖的右側(cè))組成,用于生成翻譯結(jié)果。在多模態(tài)LLM的背景下,編碼器部分被圖像編碼器取代,但核心思想保持一致。

跨注意力是如何工作的?我們來看一個概念圖,展示了常規(guī)自注意力機(jī)制內(nèi)部的運(yùn)行方式。

為什么多模態(tài)AI是下一個風(fēng)口?深度解讀新一代LLM-AI.x社區(qū)

在上圖中,輸入為 x,而 W_q 是生成查詢(Query, Q)的權(quán)重矩陣。同樣,K 表示鍵(Key),V 表示值(Value)。A 是注意力分?jǐn)?shù)矩陣,Z 則是輸入 x 轉(zhuǎn)換后的輸出上下文向量。

在跨注意力中,與自注意力不同,我們有兩個不同的輸入來源,如下圖所示。

為什么多模態(tài)AI是下一個風(fēng)口?深度解讀新一代LLM-AI.x社區(qū)

跨注意力的示意圖,在跨注意力中,可能存在兩個不同的輸入 x_1 和 x_2。如前兩幅圖所示,在自注意力中,我們處理的是同一個輸入序列。而在跨注意力中,我們混合或結(jié)合了兩個不同的輸入序列。

在經(jīng)典 Transformer 架構(gòu)(Attention Is All You Need 論文)中,兩個輸入 x_1 和 x_2 分別對應(yīng)于編碼器模塊輸出的序列(x_2)和解碼器部分正在處理的輸入序列(x_1)。在多模態(tài)LLM的上下文中,x_2 是圖像編碼器的輸出。(請注意,查詢通常來自解碼器,而鍵和值通常來自編碼器。)

值得注意的是,在跨注意力中,兩個輸入序列 x_1 和 x_2 的元素數(shù)量可以不同,但它們的嵌入維度必須匹配。如果我們設(shè)置 x_1 = x_2,那么這相當(dāng)于自注意力。

三、統(tǒng)一解碼器與跨注意力模型的訓(xùn)練

在討論了多模態(tài)設(shè)計的兩大主要選擇后,讓我們簡要談?wù)勀P陀?xùn)練中涉及的三個主要組件,它們在下圖中有所概述。

為什么多模態(tài)AI是下一個風(fēng)口?深度解讀新一代LLM-AI.x社區(qū)

多模態(tài)LLM的不同組件概覽,編號為1-3的組件可以在多模態(tài)訓(xùn)練過程中凍結(jié)或解凍。與傳統(tǒng)文本LLM的開發(fā)類似,多模態(tài)LLM的訓(xùn)練也分為兩個階段:預(yù)訓(xùn)練 和 指令微調(diào)。然而,與從零開始訓(xùn)練不同,多模態(tài)LLM通常以一個預(yù)訓(xùn)練且已進(jìn)行指令微調(diào)的文本LLM作為基礎(chǔ)模型開始訓(xùn)練。

對于圖像編碼器,通常使用 CLIP,并在整個訓(xùn)練過程中保持不變,盡管也有例外。

在預(yù)訓(xùn)練階段,通常將LLM部分凍結(jié),只訓(xùn)練投影器(通常是一個線性層或一個小型多層感知機(jī),MLP)。由于投影器的學(xué)習(xí)能力有限(通常僅包含一到兩層),LLM通常會在多模態(tài)指令微調(diào)階段(階段2)解凍,以實現(xiàn)更全面的更新。但在基于跨注意力的模型(方法B)中,跨注意力層在整個訓(xùn)練過程中都是解凍的。

在介紹了兩種主要方法(方法A:統(tǒng)一嵌入解碼架構(gòu)和方法B:跨模態(tài)注意力架構(gòu))后,可能會問哪種方法更有效。答案取決于具體的權(quán)衡。

  • 統(tǒng)一嵌入解碼架構(gòu)(方法A)通常更容易實現(xiàn),因為它不需要對LLM架構(gòu)本身進(jìn)行修改。
  • 跨模態(tài)注意力架構(gòu)(方法B)通常被認(rèn)為在計算效率上更優(yōu),因為它不會通過額外的圖像標(biāo)記超載輸入上下文,而是將它們稍后引入跨注意力層。

此外,如果在訓(xùn)練期間凍結(jié)LLM參數(shù),該方法還能保持原始文本LLM的性能。

四、最新的多模態(tài)模型與方法

在本文的剩余部分,將回顧關(guān)于多模態(tài)LLM的文獻(xiàn)。這并非多模態(tài)LLM的歷史性概覽或全面綜述。以下是這些論文的詳細(xì)內(nèi)容:

4.1 The Llama 3 Herd of Models

Meta AI 在 2024 年 7 月 31 日發(fā)布了 Llama 3 Herd of Models 論文,這標(biāo)志著 Llama 3 系列多模態(tài)模型的推出。雖然在論文發(fā)布時未正式發(fā)布模型,但 Llama 3.2 系列模型于 9 月 25 日正式宣布并開放使用。

Llama 3.2 系列包括 110 億和 900 億參數(shù)版本,采用此前描述的 基于跨注意力的方法(方法B),具體結(jié)構(gòu)如下圖所示。

為什么多模態(tài)AI是下一個風(fēng)口?深度解讀新一代LLM-AI.x社區(qū)

Llama 3.2 多模態(tài)模型架構(gòu)(圖注來自 Llama 3 論文:https://arxiv.org/abs/2407.21783)。

不同于多模態(tài)LLM開發(fā)中通常凍結(jié)圖像編碼器的做法,Llama 3.2 研究團(tuán)隊反其道而行之,他們選擇更新圖像編碼器的參數(shù),而保持語言模型的參數(shù)不變。這是為了保留文本模型的能力,使得 110 億和 900 億參數(shù)的多模態(tài)模型可以直接替代文本模型 Llama 3.1 8B 和 70B,用于純文本任務(wù)。訓(xùn)練過程:

  • 訓(xùn)練從 Llama 3.1 文本模型開始,添加圖像編碼器和投影器(在此稱為“適配器”)后,先在圖像-文本數(shù)據(jù)上進(jìn)行預(yù)訓(xùn)練。
  • 接著,進(jìn)行類似 Llama 3 僅文本模型的指令和偏好微調(diào)。

研究團(tuán)隊選擇不使用預(yù)訓(xùn)練的圖像編碼器(如 CLIP),而是從零開始訓(xùn)練一個視覺Transformer。具體來說,他們采用經(jīng)典 ViT 架構(gòu)中的 ViT-H/14(包含 6.3 億參數(shù)),并在 25 億圖像-文本對數(shù)據(jù)集上進(jìn)行了五輪訓(xùn)練,然后將其連接到 LLM。

此外,由于跨注意力層引入了大量參數(shù),這些層只添加到每四個 Transformer 塊中:

  • 對于 8B 模型,增加了 30 億參數(shù)。
  • 對于 70B 模型,增加了 200 億參數(shù)。

4.2 Molmo 和 PixMo:開源權(quán)重與數(shù)據(jù)的多模態(tài)模型

2024 年 9 月 25 日,Molmo 和 PixMo 論文提出了一種開源模式,承諾開放模型權(quán)重、數(shù)據(jù)集以及源碼。Molmo(Multimodal Open Language Model)是模型名稱,而 PixMo(Pixels for Molmo)是數(shù)據(jù)集的名稱。

為什么多模態(tài)AI是下一個風(fēng)口?深度解讀新一代LLM-AI.x社區(qū)

Molmo 解碼器僅方法(方法A)架構(gòu)(圖注來自論文:https://arxiv.org/abs/2409.17146)。
Molmo 使用現(xiàn)成的 CLIP 作為圖像編碼器,并通過“連接器”(即“投影器”)對齊圖像特征和語言模型。訓(xùn)練策略:

  • 采用簡化的訓(xùn)練流程,避免多個預(yù)訓(xùn)練階段。
  • 統(tǒng)一更新基礎(chǔ)LLM、連接器和圖像編碼器的參數(shù)。

Molmo 提供多種基礎(chǔ)LLM選項:

  • OLMo-7B-1024(完全開源的模型骨干);
  • OLMoE-1B-7B(專家混合架構(gòu),最為高效);
  • Qwen2 7B(性能優(yōu)于 OLMo-7B-1024 的開源權(quán)重模型);
  • Qwen2 72B(最佳性能的開源權(quán)重模型)。

4.3 NVLM:開放的前沿級多模態(tài)LLM

NVIDIA 于 2024 年 9 月 17 日發(fā)布了 NVLM: Open Frontier-Class Multimodal LLMs 論文,該研究探討了三種方法:

  • 方法A:統(tǒng)一嵌入解碼架構(gòu)(NVLM-D);
  • 方法B:跨模態(tài)注意力架構(gòu)(NVLM-X);
  • 混合方法:NVLM-H,將兩種方法的優(yōu)勢結(jié)合。

為什么多模態(tài)AI是下一個風(fēng)口?深度解讀新一代LLM-AI.x社區(qū)

NVLM 的三種多模態(tài)方法概覽(圖注來自論文:https://arxiv.org/abs/2409.11402)。

如下圖所總結(jié),NVLM-D 對應(yīng)方法 A,NVLM-X 對應(yīng)方法 B(如前文所述)?;旌夏P停∟VLM-H)的概念是結(jié)合兩種方法的優(yōu)勢:輸入一張圖像縮略圖后,通過跨注意力機(jī)制動態(tài)引入若干圖像塊,以捕捉更精細(xì)的高分辨率細(xì)節(jié)。

簡而言之,研究團(tuán)隊發(fā)現(xiàn)以下結(jié)論:

  • NVLM-X 在處理高分辨率圖像時展現(xiàn)出優(yōu)越的計算效率。
  • NVLM-D 在與 OCR 相關(guān)的任務(wù)中達(dá)到了更高的準(zhǔn)確性。
  • NVLM-H 結(jié)合了兩種方法的優(yōu)勢。

與 Molmo 及其他類似方法一樣,他們以僅文本的大語言模型(LLM)為基礎(chǔ)模型,而不是從零開始預(yù)訓(xùn)練多模態(tài)模型(這種方式通常效果更好)。此外,他們使用的是經(jīng)過指令微調(diào)的 LLM,而不是基礎(chǔ)模型。具體來說,其核心 LLM 是 Qwen2-72B-Instruct(據(jù)我所知,Molmo 使用的是 Qwen2-72B 的基礎(chǔ)版本)。

在 NVLM-D 方法中,他們訓(xùn)練了所有的 LLM 參數(shù);但對于 NVLM-X 方法,他們發(fā)現(xiàn)凍結(jié)原始 LLM 的參數(shù),僅在預(yù)訓(xùn)練和指令微調(diào)階段訓(xùn)練跨注意力層效果良好。

對于圖像編碼器,他們沒有使用常見的 CLIP 模型,而是使用 InternViT-6B,并在所有階段保持其參數(shù)凍結(jié)。

此外,投影器(projector)使用的是一個多層感知機(jī)(MLP),而非單一線性層。

4.4 Qwen2-VL:提升視覺-語言模型的感知能力

前面提到的兩篇論文和模型(Molmo 和 NVLM)都基于 Qwen2-72B LLM。而在這篇論文中,Qwen 研究團(tuán)隊正式發(fā)布了一種多模態(tài) LLM Qwen2-VL,全稱為 Enhancing Vision-Language Model’s Perception of the World at Any Resolution(提升視覺-語言模型對任意分辨率圖像的感知能力),發(fā)布時間為 2024 年 10 月 3 日。

這項工作的核心在于其所謂的“Naive Dynamic Resolution”(樸素動態(tài)分辨率)機(jī)制。這種機(jī)制允許模型處理不同分辨率的圖像,而無需簡單的降采樣,從而能夠輸入原始分辨率的圖像。

為什么多模態(tài)AI是下一個風(fēng)口?深度解讀新一代LLM-AI.x社區(qū)

Qwen 多模態(tài)模型概覽:Qwen2-VL 模型能夠原生地處理各種不同分辨率的輸入圖像。(圖注來自 Qwen2-VL 論文:https://arxiv.org/abs/2409.12191)。

這種原生分辨率輸入通過對 ViT(視覺 Transformer)進(jìn)行修改實現(xiàn),具體方法是移除原有的絕對位置嵌入(absolute position embeddings),并引入 2D-RoPE(二維旋轉(zhuǎn)位置嵌入)。

研究團(tuán)隊使用了一個經(jīng)典的視覺編碼器,其參數(shù)量為 6.75 億,并結(jié)合了不同大小的 LLM 骨干模型,具體如表所示。

為什么多模態(tài)AI是下一個風(fēng)口?深度解讀新一代LLM-AI.x社區(qū)

模型的訓(xùn)練分為以下三個階段:
1. 預(yù)訓(xùn)練階段:僅訓(xùn)練圖像編碼器。
2. 全參數(shù)解凍階段:解凍所有參數(shù)(包括 LLM),統(tǒng)一預(yù)訓(xùn)練。
3. 指令微調(diào)階段:凍結(jié)圖像編碼器,僅微調(diào) LLM。

4.5 Pixtral 12B

Pixtral 12B(2024 年 9 月 17 日發(fā)布)是 Mistral AI 推出的首個多模態(tài)模型,采用了 方法 A:統(tǒng)一嵌入解碼架構(gòu)。遺憾的是,目前尚未提供技術(shù)論文或報告,但 Mistral 團(tuán)隊在博客文章中分享了一些有趣的細(xì)節(jié)。

一個引人注目的決定是,他們沒有使用預(yù)訓(xùn)練的圖像編碼器,而是從零開始訓(xùn)練了一個具有 4 億參數(shù)的圖像編碼器。對于 LLM 的主干模型,他們選擇了 12 億參數(shù)的 Mistral NeMo 模型。

與 Qwen2-VL 類似,Pixtral 也原生支持可變圖像大小,如下圖所示。

通過這種設(shè)計,Pixtral 展現(xiàn)了其在多模態(tài)輸入處理上的靈活性,無需依賴固定分辨率或降采樣。此特點使其在處理多樣化的圖像輸入任務(wù)時具備顯著優(yōu)勢。

為什么多模態(tài)AI是下一個風(fēng)口?深度解讀新一代LLM-AI.x社區(qū)

Pixtral 支持不同圖像尺寸的處理(圖注來自 Pixtral 博客文章:https://mistral.ai/news/pixtral-12b/)。

4.6 MM1.5:多模態(tài) LLM 微調(diào)方法、分析與洞見

MM1.5: Methods, Analysis & Insights from Multimodal LLM Fine-tuning 論文(2024 年 9 月 30 日發(fā)布)提供了一些實用的微調(diào)技巧,并介紹了一種多模態(tài)的專家混合模型(Mixture-of-Experts,MoE)以及類似于 Molmo 的稠密模型。這些模型的參數(shù)規(guī)模從 10 億到 300 億不等,覆蓋了多種大小的模型需求。

該論文中的模型重點采用了 方法 A:統(tǒng)一嵌入 Transformer 架構(gòu),這一架構(gòu)能夠有效地結(jié)構(gòu)化輸入,優(yōu)化多模態(tài)學(xué)習(xí)的表現(xiàn)。

此外,論文還進(jìn)行了多項有趣的消融研究,探討了以下內(nèi)容:

  • 數(shù)據(jù)混合方式:不同數(shù)據(jù)類型的組合對模型性能的影響;
  • 坐標(biāo)標(biāo)記(coordinate tokens)的作用:在多模態(tài)模型中用于表示輸入邊界框等信息,研究其對學(xué)習(xí)能力和推理結(jié)果的影響。

這些研究不僅為多模態(tài) LLM 的設(shè)計提供了理論支持,還為模型開發(fā)者在微調(diào)過程中提供了實踐指導(dǎo)。

為什么多模態(tài)AI是下一個風(fēng)口?深度解讀新一代LLM-AI.x社區(qū)

MM1.5 方法示意圖MM1.5 方法中引入了額外的 坐標(biāo)標(biāo)記(coordinate tokens),用于表示輸入圖像中邊界框的位置信息。(圖注來自 MM1.5 論文:https://arxiv.org/abs/2409.20566。)

4.7 Aria: 開放的多模態(tài)原生專家混合模型

Aria: An Open Multimodal Native Mixture-of-Experts Model 論文(2024 年 10 月 8 日發(fā)布)提出了一種專家混合模型(Mixture-of-Experts, MoE)的方法,與 Molmo 和 MM1.5 系列中的變體類似。

Aria 模型的參數(shù)構(gòu)成:
? 模型總參數(shù)量:24.9 億。
? 分配給每個文本標(biāo)記的參數(shù):3.5 億。
? 圖像編碼器(SigLIP)的參數(shù)量:438 萬。

模型架構(gòu)

Aria 基于 跨模態(tài)注意力方法(Cross-Attention Approach),并采用以下整體訓(xùn)練流程:
1. 完全從零開始訓(xùn)練 LLM 骨干網(wǎng)絡(luò):與其他通常以預(yù)訓(xùn)練文本模型為基礎(chǔ)的方法不同,Aria 從頭開始構(gòu)建 LLM。
2. 預(yù)訓(xùn)練 LLM 骨干網(wǎng)絡(luò)和視覺編碼器:在早期階段同時對語言和圖像處理能力進(jìn)行優(yōu)化。

設(shè)計特點

Aria 模型充分利用跨模態(tài)注意力機(jī)制,能夠有效整合文本和圖像信息。其訓(xùn)練流程強(qiáng)調(diào)從零開始構(gòu)建,表明研究團(tuán)隊試圖通過精細(xì)控制訓(xùn)練過程來進(jìn)一步優(yōu)化模型性能。這種方法與其他基于預(yù)訓(xùn)練模型的方法形成了鮮明對比,為多模態(tài) LLM 的研究提供了另一種思路。

4.8 Baichuan-Omni

Baichuan-Omni 技術(shù)報告(2024 年 10 月 11 日發(fā)布)介紹了 Baichuan-Omni 模型,這是一種具有 70 億參數(shù)的多模態(tài) LLM,基于 方法 A:統(tǒng)一嵌入解碼架構(gòu),如圖所示。

為什么多模態(tài)AI是下一個風(fēng)口?深度解讀新一代LLM-AI.x社區(qū)

Baichuan-Omni 能夠處理多種輸入模態(tài)。(圖注來自 Baichuan-Omni 論文:??https://arxiv.org/abs/2410.08565)??

Baichuan-Omni 的訓(xùn)練采用三階段方法:
1. 投影器訓(xùn)練(Projector training):
? 初始階段,僅訓(xùn)練投影器模塊,同時凍結(jié)視覺編碼器和語言模型(LLM)。
2. 視覺編碼器訓(xùn)練(Vision encoder training):
? 解凍視覺編碼器并進(jìn)行訓(xùn)練,而 LLM 仍然保持凍結(jié)狀態(tài)。
3. 全模型訓(xùn)練(Full model training):
? 最后階段,解凍 LLM,允許整個模型進(jìn)行端到端訓(xùn)練。

模型特點:
? 使用 SigLIP 視覺編碼器。
? 集成了 AnyRes 模塊,通過下采樣技術(shù)處理高分辨率圖像。
? 雖然報告未明確說明 LLM 的骨干網(wǎng)絡(luò),但根據(jù)模型參數(shù)規(guī)模和命名規(guī)則,推測其基于 Baichuan 7B LLM。

Baichuan-Omni 的模塊化訓(xùn)練流程以及對高分辨率圖像的支持,使其在多模態(tài)任務(wù)中具有較強(qiáng)的適應(yīng)性和靈活性。

4.9 Emu3: Next-Token Prediction is All You Need

Emu3: Next-Token Prediction is All You Need 論文(2024 年 9 月 27 日發(fā)布)提出了一種替代擴(kuò)散模型的全新圖像生成方法,完全基于 Transformer 解碼器架構(gòu)。盡管從經(jīng)典意義上說,Emu3 并非嚴(yán)格意義上的多模態(tài) LLM(即更關(guān)注圖像生成而非圖像理解),但其研究非常有趣,展示了使用 Transformer 解碼器完成圖像生成的可能性,而這一任務(wù)傳統(tǒng)上由擴(kuò)散模型主導(dǎo)。(值得注意的是,此前也有類似的嘗試,例如 Autoregressive Model Beats Diffusion: Llama for Scalable Image Generation。)

模型特點:Emu3 專注于基于 Transformer 解碼器的圖像生成架構(gòu),展現(xiàn)了 Transformer 在擴(kuò)散模型主導(dǎo)任務(wù)中的潛在優(yōu)勢。這種方法為圖像生成任務(wù)開辟了新的路徑,挑戰(zhàn)了傳統(tǒng)方法的主導(dǎo)地位。

為什么多模態(tài)AI是下一個風(fēng)口?深度解讀新一代LLM-AI.x社區(qū)

Emu3 主要是一種用于圖像生成的大語言模型(LLM),是擴(kuò)散模型的替代方案。(來自 Emu3 論文的注釋圖:https://arxiv.org/abs/2409.18869)。

研究人員從零開始訓(xùn)練了 Emu3 模型,并通過直接偏好優(yōu)化(Direct Preference Optimization,DPO)將模型調(diào)整到符合人類偏好的方向。

該模型的架構(gòu)包含一個受 SBER-MoVQGAN 啟發(fā)的視覺分詞器,核心的大語言模型架構(gòu)基于 Llama 2,但完全從頭開始訓(xùn)練。

4.10 Janus:解耦視覺編碼實現(xiàn)統(tǒng)一的多模態(tài)理解與生成

此前我們主要關(guān)注用于圖像理解的多模態(tài)大語言模型,并以 Emu3 為例介紹了一個圖像生成的模型。現(xiàn)在,《Janus:解耦視覺編碼實現(xiàn)統(tǒng)一的多模態(tài)理解與生成》(2024年10月17日發(fā)表)引入了一個框架,在單一的大語言模型骨干中統(tǒng)一多模態(tài)理解和生成任務(wù)。

Janus 的一個關(guān)鍵特性是解耦視覺編碼路徑,以滿足理解任務(wù)和生成任務(wù)的不同需求。研究人員指出,圖像理解任務(wù)需要高維語義表示,而圖像生成任務(wù)則需要圖像的詳細(xì)局部信息和全局一致性。通過分離這些路徑,Janus 能夠有效管理兩者的差異化需求。

該模型采用 SigLIP 視覺編碼器(類似于 Baichuan-Omni 中的編碼器)處理視覺輸入。在圖像生成中,模型使用矢量量化(Vector Quantized,VQ)分詞器完成生成過程。Janus 的基礎(chǔ)大語言模型是 DeepSeek-LLM,擁有13億參數(shù)。

為什么多模態(tài)AI是下一個風(fēng)口?深度解讀新一代LLM-AI.x社區(qū)

Janus 的統(tǒng)一解碼器架構(gòu)概覽(來自 Janus 論文的注釋圖:https://arxiv.org/abs/2410.13848)

Janus 模型的訓(xùn)練過程分為三個階段,如下圖所示。

為什么多模態(tài)AI是下一個風(fēng)口?深度解讀新一代LLM-AI.x社區(qū)

Janus 模型的三階段訓(xùn)練過程示意圖(來自 Janus 論文的注釋圖:https://arxiv.org/abs/2410.13848)。

  • 第一階段:僅訓(xùn)練投影層和圖像輸出層,而 LLM、理解編碼器和生成編碼器保持凍結(jié)狀態(tài)。
  • 第二階段:解凍 LLM 主干和文本輸出層,允許在理解和生成任務(wù)上進(jìn)行統(tǒng)一的預(yù)訓(xùn)練。
  • 第三階段:解凍整個模型,包括 SigLIP 圖像編碼器,進(jìn)行監(jiān)督微調(diào),使模型能夠充分整合和優(yōu)化其多模態(tài)能力。

總結(jié)

在公共基準(zhǔn)上比較大語言模型(LLM)和多模態(tài)大語言模型的性能是一項具有挑戰(zhàn)性的任務(wù),因為普遍存在的數(shù)據(jù)污染問題,這意味著測試數(shù)據(jù)可能已包含在訓(xùn)練數(shù)據(jù)中。

此外,不同模型的架構(gòu)組件差異巨大,因此進(jìn)行公平的性能比較非常困難。不過,特別值得稱贊的是 NVIDIA 團(tuán)隊開發(fā)了不同版本的 NVLM 模型,這至少使得解碼器架構(gòu)和交叉注意力方法之間的比較成為可能。

無論如何,這篇文章的主要結(jié)論是:多模態(tài)大語言模型可以通過多種不同的方式成功構(gòu)建。 下圖總結(jié)了本文涉及的不同模型、其子組件以及訓(xùn)練方法的概覽。

為什么多模態(tài)AI是下一個風(fēng)口?深度解讀新一代LLM-AI.x社區(qū)

本文轉(zhuǎn)載自??芝士AI吃魚??,作者: 芝士AI吃魚 

標(biāo)簽
已于2024-12-26 14:28:23修改
收藏 1
回復(fù)
舉報
回復(fù)
相關(guān)推薦