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

被作者刪庫的Llama 3-V原文再現(xiàn)!效果匹敵GPT4-V,區(qū)區(qū)不到500 美元,如何做到的 原創(chuàng)

發(fā)布于 2024-6-4 13:05
瀏覽
0收藏

編譯 | 言征

作者 | Aksh Garg

備注:發(fā)稿前作者已經(jīng)刪掉原文

出品 | 51CTO技術(shù)棧(微信號:blog51cto)

近日,一款Llama3V最近被“先紅后黑”的出了圈。作為全球頂尖研究學(xué)府的團(tuán)隊,身陷“抄襲”中國大模型的泥潭后,火速刪稿刪庫,實屬LLM史上一大“軼事”。

那么這款“Llama3V”究竟長什么樣子,實際基準(zhǔn)效果究竟如何?

不得不說,看完作者對于該模型的介紹,大家對于如何訓(xùn)練出堪比GPT4-o的多模態(tài)大模型,心中會多一些干貨?!颈酒恼碌淖髡逜ksh Garg,是斯坦福大學(xué)、Point72 和 Jump 的機器學(xué)習(xí)研究員。曾就職于特斯拉、SpaceX、DE Shaw?!?/p>

1.Llama3V:成本只有500美元效果堪比100倍閉源大模型

Llama3 風(fēng)靡全球,在幾乎所有基準(zhǔn)測試中都優(yōu)于 GPT3.5,在多個基準(zhǔn)測試中也優(yōu)于 GPT4。隨后,GPT4o 應(yīng)運而生,憑借其多模態(tài)精細(xì)度奪回王位。今天,我們發(fā)布了一些可以改變這一現(xiàn)狀的東西:Llama3-V,這是有史以來第一個基于 Llama3 構(gòu)建的多模態(tài)模型。作為獎勵,我們的所有訓(xùn)練費用不到 500 美元。

你可能會問基準(zhǔn)如何?我們讓表格說明一切。與 Llava(當(dāng)前 SOTA 和最受歡迎的多模態(tài)理解模型)相比,我們的模型提升了 10-20%。此外,除了 MMMU 之外,我們在所有指標(biāo)上的表現(xiàn)都與大小為其 100 倍的閉源模型非常相似。

被作者刪庫的Llama 3-V原文再現(xiàn)!效果匹敵GPT4-V,區(qū)區(qū)不到500 美元,如何做到的-AI.x社區(qū)圖片

請查看地址:

???:https://huggingface.co/mustafaaljadery/llama3v/

?Github:https://github.com/mustafaaljadery/llama3v

【當(dāng)然,作者已經(jīng)刪庫了】

被作者刪庫的Llama 3-V原文再現(xiàn)!效果匹敵GPT4-V,區(qū)區(qū)不到500 美元,如何做到的-AI.x社區(qū)

2.模型架構(gòu)及工作原理

我們的大部分工程工作都是為了使 Llama3 理解視覺信息。為此,我們使用 SigLIP 模型獲取輸入圖像并將其嵌入到一系列塊嵌入中。然后,這些嵌入通過投影塊與文本標(biāo)記對齊,投影塊應(yīng)用兩個自注意力塊將文本和視覺嵌入放在同一平面上。最后,將投影塊中的視覺標(biāo)記添加到文本標(biāo)記前面,并將聯(lián)合表示傳遞到 Llama3,就像通常一樣。

被作者刪庫的Llama 3-V原文再現(xiàn)!效果匹敵GPT4-V,區(qū)區(qū)不到500 美元,如何做到的-AI.x社區(qū)圖片

Llama3-V 架構(gòu):我們使用 SigLIP 將輸入圖像嵌入到補丁中。然后我們用兩個自注意力塊訓(xùn)練一個投影塊,以對齊我們的文本和視覺標(biāo)記。

上圖從高層次說明了一切的工作原理。現(xiàn)在,讓我們詳細(xì)了解每個階段。

SigLIP:SigLIP(用于語言圖像預(yù)訓(xùn)練的 Sigmoid 損失)是一種與 CLIP 類似的圖像嵌入模型,如下圖所示。但是,與使用對比損失和 softmax 正則化的 CLIP 不同,SigLIP 采用成對 Sigmoid 損失,這允許模型獨立地對每個圖像-文本對進(jìn)行操作,而無需對批次中的所有對進(jìn)行全局查看。在高層次上,SigLIP 的視覺編碼器將圖像分割成一系列不重疊的圖像塊,并將它們投影到低維線性嵌入空間中,從而產(chǎn)生一系列塊嵌入。然后,這些塊嵌入經(jīng)過視覺編碼器,該編碼器應(yīng)用自注意力來捕獲長距離依賴關(guān)系并提取更高級的視覺特征。為了我們的目的,我們直接使用由 Google DeepMind 訓(xùn)練的原始 SigLIP 模型。

被作者刪庫的Llama 3-V原文再現(xiàn)!效果匹敵GPT4-V,區(qū)區(qū)不到500 美元,如何做到的-AI.x社區(qū)圖片

SigLIP 嵌入的工作原理說明。我們同時訓(xùn)練圖像和文本解碼器,但在我們的例子中,文本編碼模塊保持不變。與 CLIP 不同,我們最小化 Sigmoid 損失而不是 Softmax 損失,但大多數(shù)其他事情保持不變。

與文本嵌入對齊:為了節(jié)省計算資源,我們保持 SigLIP 不變。但是,為了將輸出圖像嵌入與 Llama3 中使用的文本嵌入對齊,我們使用了一個額外的投影模塊。與將單個線性層應(yīng)用于原始圖像嵌入的 Llava 不同,我們改為訓(xùn)練兩個自注意力塊以更好地捕獲輸入嵌入中的模式,從而生成最終的圖像嵌入向量。

前置圖像標(biāo)記:對于文本輸入,我們首先使用字節(jié)對編碼 (BPE) 詞匯表對文本進(jìn)行標(biāo)記,從而生成一系列文本標(biāo)記。我們通過將這些標(biāo)記括在特殊的 <text> 和 </text> 標(biāo)簽中來劃分這些標(biāo)記。對于來自投影塊的圖像嵌入,我們將每個向量視為單獨的“視覺標(biāo)記”,并使用 <image> 和 </image> 標(biāo)簽劃分它們。最后,我們將視覺標(biāo)記序列前置到文本標(biāo)記序列,形成傳遞到 Llama3 進(jìn)行處理的聯(lián)合輸入表示。

3.成本是如何打下來的?推理優(yōu)化

訓(xùn)練這些模型的成本很高。為了優(yōu)化計算資源,我們進(jìn)行了兩項重大優(yōu)化。第一項是簡單的緩存機制,第二項是在 MPS/MLX 前端。

緩存:SigLIP 模型比 Llama3 小得多。因此,如果我們按順序運行所有內(nèi)容,則在 SigLIP 運行時,GPU 利用率非常低。此外,我們無法通過增加 SigLIP 上的批處理大小來提高利用率,因為 Llama 會遇到 OOM 錯誤。相反,我們發(fā)現(xiàn)我們的 SigLIP 模型保持不變,而是預(yù)先計算圖像嵌入。然后,對于預(yù)訓(xùn)練和 SFT,我們直接傳入這些預(yù)先計算的圖像嵌入,而不是重新運行 SigLIP 模塊。這不僅使我們能夠增加批處理大小并最大限度地利用我們的 GPU 來運行 SigLIP 模塊,還為我們節(jié)省了訓(xùn)練/推理時間,因為管道的兩個部分可以單獨進(jìn)行。

MPS/MLX 優(yōu)化:我們的第二次優(yōu)化再次源于 SigLIP 相對于 Llama 的較小尺寸。具體來說,由于 SigLIP 適合我們的 Macbook,我們在 MPS 優(yōu)化的 SigLIP 模型上進(jìn)行了推理,這使我們能夠?qū)崿F(xiàn)每秒 32 張圖像的吞吐量 - 讓我們的緩存步驟相對快速地完成。

4.它是如何訓(xùn)練的

從 SigLIP 預(yù)計算嵌入:現(xiàn)在讓我們深入研究預(yù)訓(xùn)練過程的第一步:通過 SigLIP 預(yù)計算圖像嵌入。在此步驟中,我們的目標(biāo)是將圖像傳入 SigLIP 嵌入模型,以獲得圖像的矢量表示或嵌入。

一個技術(shù)細(xì)節(jié):由于分辨率較高,我們遵循 LLaVA-UHD 采用的方法并執(zhí)行圖像分割。圖像分割的目的是將圖像分成可變大小的塊或片段,以實現(xiàn)更高效的編碼。這些分割圖像會同時批量處理。

現(xiàn)在讓我們深入了解如何使用 SigLIP 嵌入。我們首先加載 SigLIP 模型和處理器/標(biāo)記器。然后我們使用處理器預(yù)處理提供的輸入圖像。然后我們將預(yù)處理后的圖像傳遞給模型。之后,模型輸出圖像-文本對的對數(shù)。我們現(xiàn)在繼續(xù)將 S 型激活函數(shù)應(yīng)用于對數(shù)以獲得概率。我們現(xiàn)在看到圖像嵌入包含在這些概率中。到目前為止,此嵌入捕獲了圖像中的視覺信息。

通過 SigLIP 計算圖像嵌入之后,我們現(xiàn)在開始學(xué)習(xí)投影矩陣——你也可以將其視為投影層,它通常是線性或前饋層。如上文成分部分所述,投影層將視覺嵌入從其原始空間映射到聯(lián)合多模態(tài)嵌入空間。具體而言,投影層將學(xué)習(xí)到的權(quán)重矩陣 W_v 應(yīng)用于視覺嵌入 v 以獲得投影的多模態(tài)視覺嵌入 W_v * v。因此,在這個投影步驟之后,視覺和文本嵌入基本上被對齊到一個共同的多模態(tài)嵌入空間,允許它們的表示進(jìn)行交互并組合以用于多模態(tài)建模任務(wù),如視覺問答、圖像字幕等。更具體地說,投影層的結(jié)果是生成的“潛在信息”。

計算出潛在值后,我們將其作為圖像標(biāo)記添加到文本標(biāo)記之前。之所以添加在前面,是因為將圖像放在文本之前,可以讓模型在預(yù)訓(xùn)練期間更容易學(xué)習(xí)??梢詫⑵湎胂鬄榫哂斜硎緦嶋H圖像的標(biāo)記,然后具有表示文本中圖像內(nèi)容的標(biāo)記:幾乎就像與圖像配對的標(biāo)題。我們的架構(gòu)與 LLaVA-UHD 的架構(gòu)幾乎相同(他們選擇 CLIP-ViT,而我們使用 SigLIP,并且他們與 Vicuna-13B 配合使用),因此我們在下面提供了它們的圖示作為參考:

被作者刪庫的Llama 3-V原文再現(xiàn)!效果匹敵GPT4-V,區(qū)區(qū)不到500 美元,如何做到的-AI.x社區(qū)圖片

現(xiàn)在我們已經(jīng)確定了預(yù)訓(xùn)練所需的數(shù)據(jù),我們可以深入了解它實際上是什么樣子。在預(yù)訓(xùn)練中,我們使用 600,000 個將圖像添加到文本的示例。在此步驟中,我們保持 Llama-3 架構(gòu)的主要權(quán)重不變。

關(guān)鍵是我們只想更新投影矩陣的梯度。至關(guān)重要的是,我們保持其余權(quán)重不變。至此,我們完成了預(yù)訓(xùn)練步驟的流程。這里的關(guān)鍵是將嵌入圖像(潛在圖像)與其文本以聯(lián)合表示形式對齊,然后預(yù)訓(xùn)練 LLaMA-3 以專注于根據(jù)遇到的示例更新投影矩陣。

5.監(jiān)督微調(diào)

在預(yù)訓(xùn)練之后,我們進(jìn)行監(jiān)督微調(diào)以增強模型的性能。在此步驟中,我們將凍結(jié)計算出的嵌入(來自投影層),并將除視覺和投影矩陣之外的所有內(nèi)容保持凍結(jié)狀態(tài)。換句話說,如果您查看下圖,紅色組件未凍結(jié),而藍(lán)色組件凍結(jié)。這旨在用作“指令”微調(diào) - 換句話說,使模型更適合多模態(tài)文本輸出。在此階段,我們使用 1M 個示例(7M 個分割圖像)。

被作者刪庫的Llama 3-V原文再現(xiàn)!效果匹敵GPT4-V,區(qū)區(qū)不到500 美元,如何做到的-AI.x社區(qū)圖片

6.總結(jié)

  • 我們?yōu)?Llama3 8B 添加了視覺編碼器
  • 與當(dāng)前開源 SOTA 視覺語言模型 Llava 相比,我們的模型性能提高了 10-20%。
  • 我們提供與 GPT4v、Gemini Ultra 和 Claude Opus 等尺寸接近 100 倍* 的模型相當(dāng)?shù)囊曈X能力。
  • 我們描述了一種高效的流程,用于在不到 500 美元的時間內(nèi)對模型進(jìn)行預(yù)訓(xùn)練和指令微調(diào)。

【后記】距離ChatGPT發(fā)布,一年多已過去,大模型研究者們,再次身處于LLM浪潮的風(fēng)暴眼中,隨著開源大模型的出現(xiàn),我們開始看到前所未有的研究速度和成果涌現(xiàn),也開始看到在這個新領(lǐng)域中伴生著始料未及的“魔幻”劇情。

本文無意于探討開源AI模型的“套殼”、“抄襲”的界定,更多在于討論讓大模型從文本走向視覺多模態(tài),究竟需要哪些步驟、訓(xùn)練和推理成本都有哪些降低的技巧、需要怎樣的技術(shù)活?這些也許是大家更需要的。

本文轉(zhuǎn)載自??51CTO技術(shù)棧??,作者:言征

?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請注明出處,否則將追究法律責(zé)任
已于2024-6-4 13:13:49修改
收藏
回復(fù)
舉報
回復(fù)
相關(guān)推薦