蘋果大模型MM1殺進場:300億參數、多模態、MoE架構,超半數作者是華人
今年以来,苹果显然已经加大了对生成式人工智能(GenAI)的重视和投入。在最近的苹果股东大会上,苹果 CEO 蒂姆・库克表示,公司计划在今年在 GenAI 领域取得重大进展。此外,苹果宣布放弃了长达10年的造车项目,这导致一部分原本从事造车的团队成员开始转向 GenAI 领域。
苹果通过这些举措向外界展示了他们在加强 GenAI 方面的决心。当前,多模态领域的 GenAI 技术和产品备受瞩目,特别是 OpenAI 的 Sora。苹果自然希望在这一领域取得突破。
在一份合著的研究论文《MM1: Methods, Analysis & Insights from Multimodal LLM Pre-training》中,苹果公司公开了他们基于多模态预训练的研究成果,推出了一个包含高达30B参数的多模态LLM系列模型。
论文地址:https://arxiv.org/pdf/2403.09611.pdf
在研究中,团队对于不同架构组件和数据选择的关键性进行了深入探讨。通过对图像编码器、视觉语言连接器和各种预训练数据的仔细选择,他们总结出了一些重要的设计准则。具体而言,该研究的主要贡献包括以下几个方面。
首先,研究者在模型架构决策和预训练数据选择上进行小规模消融实验,并发现了几个有趣的趋势。建模设计方面的重要性按以下顺序排列:图像分辨率、视觉编码器损失和容量以及视觉编码器预训练数据。
其次,研究者使用三种不同类型的预训练数据:图像字幕、交错图像文本和纯文本数据。他们发现,当涉及少样本和纯文本性能时,交错和纯文本训练数据非常重要,而对于零样本性能,字幕数据最重要。这些趋势在监督微调(SFT)之后仍然存在,这表明预训练期间呈现出的性能和建模决策在微调后得以保留。
最后,研究者构建了 MM1,一个参数最高可达 300 亿(其他为 30 亿、70 亿)的多模态模型系列, 它由密集模型和混合专家(MoE)变体组成,不仅在预训练指标中实现 SOTA,在一系列已有多模态基准上监督微调后也能保持有竞争力的性能。
预训练模型 MM1 在少样本情境下的字幕和问答任务上表现优越,胜过了 Emu2、Flamingo 和 IDEFICS。监督微调后的 MM1 在 12 个多模态基准上也展现出了很强的竞争力。
得益于大规模多模态预训练,MM1 在上下文预测、多图像和思维链推理等方面具有不错的表现。同样,MM1 在指令调优后展现出了强大的少样本学习能力。
方法概覽:建立MM1 的秘訣
建立高效能的MLLM(Multimodal Large Language Model,多模態大型語言模型) 是一項實踐性極高的工作。儘管高層次的架構設計和訓練過程是清晰的,但是具體的實現方法並不總是一目了然。在這項工作中,研究者詳細介紹了為建立高性能模型而進行的消融。他們探討了三個主要的設計決策方向:
- 架構:研究者研究了不同的預訓練影像編碼器,並探索了將LLM 與這些編碼器連接起來的各種方法。
- 資料:研究者考慮了不同類型的資料及其相對混合權重。
- 訓練程序:研究者探討如何訓練 MLLM,包括超參數以及在何時訓練模型的哪些部分。
消融設定
#由於訓練大型MLLM 會耗費大量資源,研究者採用了簡化的消融設定。消融的基本配置如下:
- 影像編碼器:在DFN-5B 和VeCap-300M 上使用CLIP loss 訓練的ViT-L/14 模型;影像大小為336 ×336。
- 視覺語言連接器:C-Abstractor ,含 144 個圖像 token。
- 預訓練資料:混合字幕影像(45%)、交錯影像文字文件(45%)和純文字(10%)資料。
- 語言模型:1.2B 變壓器解碼器語言模型。
為了評估不同的設計決策,研究者使用了零樣本和少樣本(4 個和8 個樣本)在多種VQA 和圖像描述任務上的表現:COCO Cap tioning 、NoCaps 、TextCaps 、VQAv2 、TextVQA 、VizWiz 、GQA 和OK-VQA。
模型架構消融測驗
#研究者分析了讓 LLM 能夠處理視覺資料的組件。具體來說,他們研究了(1)如何以最佳方式預訓練視覺編碼器,以及(2)如何將視覺特徵連接到 LLM 的空間(見圖 3 左)。
- 影像編碼器預訓練。在這過程中,研究者主要消融了影像解析度和影像編碼器預訓練目標的重要性。需要注意的是,與其他消融試驗不同的是,研究者本次使用了 2.9B LLM(而不是 1.2B),以確保有足夠的容量來使用一些較大的影像編碼器。
- 編碼器經驗:影像解析度的影響最大,其次是模型大小和訓練資料組成。如表 1 所示,將影像解析度從 224 提高到 336,所有架構的所有指標都提高了約 3%。將模型大小從 ViT-L 增加到 ViT-H,參數增加了一倍,但效能提升不大,通常不到 1%。最後,加入 VeCap-300M (一個合成字幕資料集)後,在少樣本場景中效能提升超過了 1%。
- 視覺語言連接器和影像解析度。此組件的目標是將視覺表徵轉化為 LLM 空間。由於影像編碼器是 ViT,因此其輸出要麼是單一的嵌入,要麼是一組與輸入影像片段相對應的網格排列嵌入。因此,需要將影像 token 的空間排列轉換為 LLM 的順序排列。同時,實際的圖像 token 表徵也要映射到詞嵌入空間。
- VL 連接器經驗:視覺 token 數量和影像解析度最重要,而 VL 連接器的類型影響不大。如圖 4 所示,隨著視覺 token 數量或 / 和影像解析度的增加,零樣本和少樣本的辨識率都會提高。
預訓練資料消融測驗
##通常,模型的訓練分為兩個階段:預訓練和指令調優。前一階段使用網路規模的數據,後一階段則使用特定任務規劃的數據。以下重點討論了本文的預訓練階段,並詳細說明研究者的資料選擇(圖 3 右)。
有兩類資料常用於訓練 MLLM:由圖像和文字對描述組成的字幕資料;以及來自網路的圖像 - 文字交錯文件。表 2 是資料集的完整清單:
#
- 資料經驗 1:交錯資料有助於提高少樣本和純文字效能,而字幕資料則能提高零樣本效能。圖 5a 展示了交錯資料和字幕資料不同組合的結果。
- 資料經驗 2:純文字資料有助於提高少樣本和純文字效能。如圖 5b 所示,將純文字資料和字幕資料結合在一起可提高少樣本效能。
- 資料經驗 3:謹慎混合圖像和文字資料可獲得最佳的多模態效能,並保留較強的文字效能。圖 5c 嘗試了圖像(標題和交錯)和純文字資料之間的幾種混合比例。
- 資料經驗 4:合成資料有助於少樣本學習。如圖 5d 所示,人工合成資料確實對少數幾次學習的表現有不小的提升,絕對值分別為 2.4% 和 4%。
最終模型和訓練方法
研究者收集了先前的消融結果,確定MM1 多模態預訓練的最終配方:
- 影像編碼器:考慮到影像解析度的重要性,研究者使用了解析度為378x378px 的ViT- H 模型,並在DFN-5B 上使用CLIP 目標進行預訓練;
- 視覺語言連接器:由於視覺token 的數量最為重要,研究者使用了一個有144 個token的VL 連接器。實際架構似乎不太重要,研究者選擇了C-Abstractor;
- 資料:為了保持零樣本和少樣本的效能,研究者使用了以下精心組合的資料:45 % 圖像- 文字交錯文件、45% 圖像- 文字對文件和10% 純文字文件。
為了提升模型的效能,研究者將 LLM 的大小擴大到 3B、7B 和 30B 個參數。所有模型都是在序列長度為 4096、每個序列最多 16 張影像、解析度為 378×378 的情況下,以 512 個序列的批次大小進行完全解凍預訓練的。所有模型均使用 AXLearn 框架進行訓練。
他們在小規模、9M、85M、302M 和1.2B 下對學習率進行網格搜索,使用對數空間的線性回歸來推斷從較小模型到較大模型的變化(見圖6),結果是在給定(非嵌入)參數數量N 的情況下,預測出最佳峰值學習率η:
透過專家混合(MoE)進行擴充。在實驗中,研究者進一步探索了透過在語言模型的 FFN 層中添加更多專家來擴展密集模型的方法。
要將密集模型轉換為 MoE,只需將密集語言解碼器替換為 MoE 語言解碼器。為了訓練 MoE,研究者採用了與密集骨幹 4 相同的訓練超參數和相同的訓練設置,包括訓練資料和訓練 token。
關於多模態預訓練結果,研究者透過適當的提示對預先訓練好的模型在上限和 VQA 任務上進行評估。表3 對零樣本和少樣本進行了評估:
#監督微調結果
最後,研究者介紹了預訓練模型之上訓練的監督微調(SFT)實驗。
他們遵循 LLaVA-1.5 和 LLaVA-NeXT,從不同的資料集中收集了大約 100 萬個 SFT 樣本。鑑於直觀上,更高的影像解析度會帶來更好的性能,研究者還採用了擴展到高解析度的 SFT 方法。
監督微調結果如下:
表4 展示了與SOTA 比較的情況,「-Chat」表示監督微調後的MM1 模型。
首先,平均而言,MM1-3B-Chat 和 MM1-7B-Chat 優於所有列出的相同規模的模型。 MM1-3B-Chat 和 MM1-7B-Chat 在 VQAv2、TextVQA、ScienceQA、MMBench 以及最近的基準測試(MMMU 和 MathVista)中表現尤為突出。
其次,研究者探討了兩種 MoE 模型:3B-MoE(64 位專家)和 6B-MoE(32 位專家)。在幾乎所有基準測試中,蘋果的 MoE 模型都比密集模型取得了更好的效能。這顯示了 MoE 進一步擴展的巨大潛力。
第三,對於 30B 大小的模型,MM1-30B-Chat 在 TextVQA、SEED 和 MMMU 上的表現優於 Emu2-Chat37B 和 CogVLM-30B。與 LLaVA-NeXT 相比,MM1 也取得了具有競爭力的全面性能。
不過,LLaVA-NeXT 不支援多重影像推理,也不支援少樣本提示,因為每張影像都表示為2880 個發送到LLM 的token,而MM1 的token 總數只有720 個。這就限制了某些涉及多個影像的應用。
圖7b 顯示,輸入影像解析度對SFT 評估指標平均表現的影響,圖7c 顯示,隨著預訓練資料的增加,模型的性能不斷提高。
影像解析度的影響。圖 7b 顯示了輸入影像解析度對 SFT 評估指標平均表現的影響。
預訓練的影響:圖 7c 顯示,隨著預訓練資料的增加,模型的效能不斷提高。
更多研究細節,可參考原文。
以上是蘋果大模型MM1殺進場:300億參數、多模態、MoE架構,超半數作者是華人的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

使用C 中的chrono庫可以讓你更加精確地控制時間和時間間隔,讓我們來探討一下這個庫的魅力所在吧。 C 的chrono庫是標準庫的一部分,它提供了一種現代化的方式來處理時間和時間間隔。對於那些曾經飽受time.h和ctime折磨的程序員來說,chrono無疑是一個福音。它不僅提高了代碼的可讀性和可維護性,還提供了更高的精度和靈活性。讓我們從基礎開始,chrono庫主要包括以下幾個關鍵組件:std::chrono::system_clock:表示系統時鐘,用於獲取當前時間。 std::chron

DMA在C 中是指DirectMemoryAccess,直接內存訪問技術,允許硬件設備直接與內存進行數據傳輸,不需要CPU干預。 1)DMA操作高度依賴於硬件設備和驅動程序,實現方式因係統而異。 2)直接訪問內存可能帶來安全風險,需確保代碼的正確性和安全性。 3)DMA可提高性能,但使用不當可能導致系統性能下降。通過實踐和學習,可以掌握DMA的使用技巧,在高速數據傳輸和實時信號處理等場景中發揮其最大效能。

C 在實時操作系統(RTOS)編程中表現出色,提供了高效的執行效率和精確的時間管理。 1)C 通過直接操作硬件資源和高效的內存管理滿足RTOS的需求。 2)利用面向對象特性,C 可以設計靈活的任務調度系統。 3)C 支持高效的中斷處理,但需避免動態內存分配和異常處理以保證實時性。 4)模板編程和內聯函數有助於性能優化。 5)實際應用中,C 可用於實現高效的日誌系統。

C 中的ABI兼容性是指不同編譯器或版本生成的二進制代碼能否在不重新編譯的情況下兼容。 1.函數調用約定,2.名稱修飾,3.虛函數表佈局,4.結構體和類的佈局是主要涉及的方面。

在MySQL中,添加字段使用ALTERTABLEtable_nameADDCOLUMNnew_columnVARCHAR(255)AFTERexisting_column,刪除字段使用ALTERTABLEtable_nameDROPCOLUMNcolumn_to_drop。添加字段時,需指定位置以優化查詢性能和數據結構;刪除字段前需確認操作不可逆;使用在線DDL、備份數據、測試環境和低負載時間段修改表結構是性能優化和最佳實踐。

在C 中測量線程性能可以使用標準庫中的計時工具、性能分析工具和自定義計時器。 1.使用庫測量執行時間。 2.使用gprof進行性能分析,步驟包括編譯時添加-pg選項、運行程序生成gmon.out文件、生成性能報告。 3.使用Valgrind的Callgrind模塊進行更詳細的分析,步驟包括運行程序生成callgrind.out文件、使用kcachegrind查看結果。 4.自定義計時器可靈活測量特定代碼段的執行時間。這些方法幫助全面了解線程性能,並優化代碼。

交易所內置量化工具包括:1. Binance(幣安):提供Binance Futures量化模塊,低手續費,支持AI輔助交易。 2. OKX(歐易):支持多賬戶管理和智能訂單路由,提供機構級風控。獨立量化策略平台有:3. 3Commas:拖拽式策略生成器,適用於多平台對沖套利。 4. Quadency:專業級算法策略庫,支持自定義風險閾值。 5. Pionex:內置16 預設策略,低交易手續費。垂直領域工具包括:6. Cryptohopper:雲端量化平台,支持150 技術指標。 7. Bitsgap:

如何實現鼠標滾動事件穿透效果?在我們瀏覽網頁時,經常會遇到一些特別的交互設計。比如在deepseek官網上,�...
