小紅書 NoteLLM-2:用于推薦的多模態(tài)表征
一、背景
本文中我們繼續(xù)介紹小紅書用于多模態(tài)場景筆記推薦的 NoteLLM-2。
對應(yīng)的論文為:[2405.16789] NoteLLM-2: Multimodal Large Representation Models for Recommendation [1]
二、摘要
LLM 在文本理解方面展現(xiàn)了卓越能力,現(xiàn)有研究也已探討了其在文本 Embedding 任務(wù)中的應(yīng)用,然而,利用 LLM 輔助多模態(tài)表征任務(wù)的研究尚不多見。本文作者旨在探索 LLM 在多模態(tài) Item-to-Item(I2I)推薦中增強(qiáng)多模態(tài)表征的潛力。
如下圖 Figure 1 所示,一種可行的方法是將多模態(tài)大模型(MLLM)遷移至表征任務(wù)中(Figure 1 下部分)。然而,預(yù)訓(xùn)練 MLLM 通常需要收集高質(zhì)量、大規(guī)模的多模態(tài)數(shù)據(jù),導(dǎo)致訓(xùn)練過程復(fù)雜且成本高昂。這使得社區(qū)高度依賴開源 MLLM,阻礙了針對特定表征場景的定制化訓(xùn)練。
因此,作者設(shè)計了一種端到端的訓(xùn)練方法(Figure 1 上部分),能夠整合任何現(xiàn)有的 LLM 與 Vision Encoder,以構(gòu)建高效的多模態(tài)表征模型(Multimodal Large Representation Model,MLRM)。
初步實驗表明,采用端到端方法微調(diào)的 LLM 往往會忽視圖像內(nèi)容。為克服這一挑戰(zhàn),作者提出 NoteLLM-2,專為多模態(tài)表征設(shè)計。作者提出了兩種增強(qiáng)視覺信息關(guān)注度的方法:
- 第一種基于 Prompt 視角,將多模態(tài)內(nèi)容分離為視覺內(nèi)容與文本內(nèi)容,采用多模態(tài) In-Content Learning(ICL)方法,指導(dǎo) LLM 同時關(guān)注兩種模態(tài)并聚合關(guān)鍵信息。
- 第二種方法從模型架構(gòu)出發(fā),利用 Late Fusion 機(jī)制直接將視覺信息融入文本信息。
大量實驗已證實提出方法的有效性。
三、引言
3.1 問題定義
與針對文本場景的 NoteLLM 類似,NoteLLM-2 主要用于多模態(tài) I2I Note 推薦任務(wù)。Note Pool 為 N={n1, n2, …, nm},其中 m 表示 Note 數(shù)量。每條 Note 包含:標(biāo)題(Title)、主題(Topic)、文本內(nèi)容(Content)和圖像(Image)。ni=(ti, tpi, cti, vi) 表示第 i 條 Note。該任務(wù)目標(biāo)是從 N 中選出與 Query Note 相似的前 k 條 Target Note。
3.2 數(shù)據(jù)集構(gòu)建
和 NoteLLM 類似,采用共現(xiàn)(co-occurrence)機(jī)制基于用戶行為構(gòu)建相關(guān) Note 對。該機(jī)制基于一個假設(shè):經(jīng)常一起閱讀的 Note 可能是相關(guān)的。具體來說,作者統(tǒng)計了用戶查看 Note nA 后點(diǎn)擊 Note nB 的次數(shù)。同時,為了區(qū)分不同用戶共現(xiàn)的貢獻(xiàn),為不同的點(diǎn)擊分配了不同的權(quán)重。具體的計算方式如下所示:
其中 SnA -> nB 表示從 Note nA 到 Note nB 的共現(xiàn)得分,Nu 表示用戶 u 點(diǎn)擊的 Note 集合的數(shù)量。歸一化可以防止活躍用戶可能的無差別點(diǎn)擊而導(dǎo)致的誤導(dǎo)。在計算完所有的 Note 對共現(xiàn)得分后,就可以構(gòu)成共現(xiàn)得分集合Sni:
隨后,從集合 Sni 中過濾掉得分超過上限 up 和低于下限 low 的異常 Note。最后,從過濾后的集合中選出共現(xiàn)得分最高的 t 條 Note,作為與 Note ni 的相關(guān) Note。
作者從平臺獲取了一個真實世界的多模態(tài) I2I 數(shù)據(jù)集。從兩周內(nèi)收集的用戶行為數(shù)據(jù)中隨機(jī)選取相關(guān) Note 對,用于構(gòu)建訓(xùn)練數(shù)據(jù)集。訓(xùn)練數(shù)據(jù)集中 10% Note 對用于驗證集。然后,從接下來一周的 Note 中隨機(jī)選取,形成測試集的 Note Pool,排除任何已存在于訓(xùn)練數(shù)據(jù)集中的 Note。訓(xùn)練集包含 150 萬條 Note 和 110 萬對 Note 對。測試數(shù)據(jù)集包含 50 萬條 Note 和 2.1 萬對 Note 對。如下圖 Table 6 為其詳細(xì)的統(tǒng)計信息:
為更準(zhǔn)確地評估 MLRM 的多模態(tài)表征能力,而非過度依賴文本模態(tài),作者在測試數(shù)據(jù)集中收集了包含簡短 Note 的配對數(shù)據(jù)。將 Token 長度少于 50 的 Note 定義為 Short Note,這類 Note 約占測試 Note 總數(shù)的 10%。并進(jìn)一步分類:
- 將包含短 Query Note 的對定義為Short Query Pair,數(shù)量為 5620 對。
- 將包含短 Target Note 的對定義為Short Target Pair,數(shù)量為 5582 對。
- PS:如果 Query 和 Target Note 都比較短,那么該 Note 對會同時位于兩個類別中?
3.3 Note 壓縮提示構(gòu)建
和 NoteLLM 類似,Note 壓縮 Prompt 如下圖所示,只不過多了 <IMG> placeholer,在實際使用時需要替換為對應(yīng)的 Vision Embedding:
四、方案
作者發(fā)現(xiàn)未經(jīng) Pretrain 而 End2End 訓(xùn)練的 MLRM 表現(xiàn)欠佳,主要原因在于 LLM 處理后容易忽略 Vision 信息。因此,作者的設(shè)計更加關(guān)注 Vision 信號,為此,作者提出 NoteLLM-2,該框架包含兩種從不同角度考量的方法:
- 第一種:從 Prompt 視角出發(fā),稱為mICL。此方法通過調(diào)整 Prompt 來改變對 Vision 信息的 Attention 模式。
- 第二種:從模型架構(gòu)角度出發(fā),將 Late Fusion 與 Vision Prompt 相結(jié)合。通過延遲 Vision 信息的融合,增強(qiáng) Vision 信息對最終 Representation 的影響。
改進(jìn)后的整體框架如下圖 Figure 2(b) 所示。具體而言,給定 Note ni,mICL 機(jī)制并不嘗試將多模態(tài)信息壓縮為一個單一 Token,而是將多模態(tài) Note 拆分為兩種模態(tài)。隨后,采用類似于 ICL 的方式來聚合多模態(tài)信息:
作者將 Note 壓縮 Prompt 重新表述成如下所示,其中 <IMG_EMB> 是一個特殊 Token:
在利用 LLM 處理多模態(tài) Embedding 后:
- 選擇相關(guān)的 Hidden State 來表示 Note,記作 nvi。由于 Decoder 的 Causal Attention 機(jī)制,nvi 僅包含 Note 的 Vision 信息。
- 同時選取最后一個 Token 的 Hidden State 作為多模態(tài) Note Representation,記作 nmi,包含 Vision 和文本信息。
Late Fusion 機(jī)制采用原始 Vision Embedding 來增強(qiáng) Note Embedding,這避免了因 LLM 空間導(dǎo)致的文本偏差,并融入更多原始 Vision 信息。其中的 Vis Emb 是通過 Vision Encoder 對整幅圖提取的視覺特征,比如 CLIP ViT-B 中 [CLS] Token 對應(yīng)的 Hidden State。隨后采用線性層將這些特征轉(zhuǎn)換到 LLM 空間,記作 v ? ?ht,采用相同的門控機(jī)制,將原始 Vision 信息融合進(jìn)兩個 Note Embedding 中:
其中 和
表示融合的 Note Embedding。[?,?] 表示連接操作,而 ?? 和 ?? 是可學(xué)習(xí)的參數(shù)?!?是逐元素乘積。
接下來,采用兩個融合的 Embedding 進(jìn)行對比學(xué)習(xí),如下所示:
其中是來自 Vision Note Embedding 的損失,而
是來自多模態(tài) Note Embedding 的損失。最終損失的計算方式如下:
其中 α 是超參數(shù)。在評估中,我們使用 作為 Note Embedding,其包含多模態(tài)信息。
五、實驗&結(jié)論
5.1 實驗配置
在構(gòu)建相關(guān) Note 對時,將共現(xiàn)分?jǐn)?shù)的上限 up 設(shè)定為 30,下限 low 設(shè)定為 0.01,并將 t 值設(shè)為 3。為了遵守 Contex 長度限制,對超過 20 個 Token 的標(biāo)題進(jìn)行截斷,對超過 80 個 Token 的內(nèi)容進(jìn)行截斷。在微調(diào)實驗中,為了公平比較,添加了一個線性 Projector,將 Note Embedding 的維度降至 64。Batch Size B 設(shè)置為 128(在 8 x 80GB A100 上訓(xùn)練,每個 GPU Batch Size 為 16),每 Batch 包含 256 條 Note。溫度參數(shù) ε 初始化為 3。更多訓(xùn)練超參數(shù)如下圖 Table 7 所示,訓(xùn)練中使用 DeepSpeed Zero-3 訓(xùn)練(由于 Qwen-VL-Chat 每個圖像有 256 個 Vision Embedding,因此在 32 x 80GB A100 訓(xùn)練,每個 GPU 的 Batch Size 為 4):
為了評估 MLRM 的表征能力,作者根據(jù) Query Note 的內(nèi)容對 Note Pool 中的所有 Note(不包括Query Note)進(jìn)行排序。并根據(jù) Target Note 在排序列表中的位置計算召回率。在測試數(shù)據(jù)集上報告 All Pair、Shore Query Pair 和 Short Target Pair 的 Recall@100、Recall@1k 和 Recall@10k。
5.2 微調(diào)的 MLRM 的多模態(tài)表征性能
使用幾個開源的 MLLM 進(jìn)行 zero-shot 實驗,如下圖 Table 10 所示,發(fā)現(xiàn) zero-shot 不足以使 MLLM 適應(yīng)表征任務(wù),其性能甚至比基線 BM25(The Probabilistic Relevance Framework: BM25 and Beyond Contents [2]) 還要差,因此有必要對 MLLM 進(jìn)行微調(diào)以用于表征任務(wù)。
作者設(shè)計了三種端到端的 MLRM 來檢驗表征訓(xùn)練方法:
- MTomato-Base:使用 Tomato(作者基于 LLaMA 2Continuous Pretraining 的 LLM,其缺乏視覺感知能力)作為 LLM,CLIP ViT-B作為 Vision Encoder,以及一個隨機(jī)初始化的Q-Former作為 Connector,以提高效率。
- MQwen-Base:使用Qwen-Chat替換 MTomato-Base 中的 Tomato。
- MQwen-bigG:使用ViT-bigG替換 MQwen-Base 中的 CLIP ViT-B。
如下圖 Table 9 所示為不同模型詳細(xì)的配置以及推理速度對比:
作者將這些模型的 Vision Embedding 長度設(shè)置為 16,以提高效率。為了進(jìn)行比較,選擇兩種預(yù)訓(xùn)練的 MLLM:BLIP-2 和 Qwen-VL-Chat 進(jìn)行對比。這些模型中的所有 Vision Encoder 都被凍結(jié)以支持更大的 Batch Size。
結(jié)果下圖 Table 1 所示, 可以觀察到:
- 首先,基于 LLM 的 MLRM 顯著優(yōu)于現(xiàn)有基線。All Pair 評估中,Qwen-VL-Chat 在 R@100 上相比傳統(tǒng)的 METER Co-attn 取得 10.78%(78.54/68.22) 的提升。
- 其次,端到端的訓(xùn)練表征方法可以增強(qiáng)模型的多模態(tài)表示能力。All Pair 評估中,MQwen-bigG 相比 Qwen-Chat 在 R@100 上提高 6.31%(77.64/73.03)。
- 然而,當(dāng) Vision Encoder 很小,例如 CLIP ViT-B 時,多模態(tài)感知的增強(qiáng)并不明顯(73.03 -> 74.02)。
- 最后,盡管使用相同的 Vision Encoder 和 LLM,MQwen-bigG 比 Qwen-VL-Chat 更有效率(上圖 Table 9 的11.5 ->35.2/36.8),但性仍然存在差距(下圖最后兩行)。
5.3 性能評估
作者在三種 MLRM 上對 NoteLLM-2 的所有組件進(jìn)行實驗,以驗證方法的有效性。此外,還進(jìn)行了消融研究——僅采用 Late Fusion 策略,即僅通過 Late Fusion 整合圖像與文本信息,而不將圖像 Embedding 輸入至 LLM。
實驗結(jié)果如圖 Table 3 所示:
- 首先,Vision Encoder 相對較小時,NoteLLM-2顯著提升 MTomato-Base 和 MQwen-Base 的整體性能。
- 同時,NoteLLM-2主要增強(qiáng)了 MQwen-bigG 在 Short Pair上的表現(xiàn)。
- 其次,mICL 提升了所有模型的性能,而Late Fusion 在 Vision Encoder 較小的模型中效果更為顯著。
- 此外,僅采用Late Fusion是一種直接且高效的融合方式,但在 Vision Encoder 能力更強(qiáng)時可能成為限制,因為它可能無法充分有效地與 LLM 交互,導(dǎo)致性能下降。
- 最后,MQwen-bigG 結(jié)合 NoteLLM-2 的表現(xiàn)仍不及 Qwen-VL-Chat,特別是在 Short 對方面。作者認(rèn)為這歸因于MQwen-bigG(16 個 Vision Token)與Qwen-VL-Chat(256 個 Vision Token)在 Vision Token 個數(shù)上的顯著差異。
5.4 增強(qiáng)型 MLRM 的顯著性評分
為進(jìn)一步探究 NoteLLM-2 對 MLRM 的影響,作者展示了增強(qiáng)型 MLRM 在顯著性分?jǐn)?shù)上的差異。原始微調(diào)方法的顯著性分?jǐn)?shù)為 Sv、St 和 So,而增強(qiáng)微調(diào)方法的顯著性分?jǐn)?shù)為
、
和
。作者將視覺 Note 壓縮 Token 視為 Vision Embedding Ev 的一部分。
實驗結(jié)果如下圖 Figure 4 所示,所有增強(qiáng)型 MLRM 的表征均強(qiáng)化了對圖像的直接關(guān)注,同時在淺層減少了對 So 的重視,而 St 則基本保持不變。這一現(xiàn)象歸因于 mICL 采用相同的壓縮 Prompt 對兩種模態(tài)進(jìn)行壓縮,通過識別圖像信息中的相似壓縮模式,mICL 能夠增強(qiáng)多模態(tài)表征對圖像的集中度,這與 ICL 的作用機(jī)制相似。
5.5 超參分析
作者使用 MTomato-Base 進(jìn)行超參數(shù)分析實驗。
視覺 Token 長度的影響,如下圖 Table 4 所示。將長度從 16 縮減至 8,在 Short Pair 任務(wù)中性能有所下降,表明視覺 Token 長度與推理速度之間存在性能權(quán)衡。
文本與視覺損失比例的影響,如下圖 Table 5 所示。當(dāng)比例較小時,性能略有下降;但隨著比例增大,發(fā)現(xiàn)對文本與視覺損失比例的變化表現(xiàn)出不敏感性。
六、參考鏈接
- https://arxiv.org/abs/2405.16789
- https://www.staff.city.ac.uk/~sbrp622/papers/foundations_bm25_review.pdf
本文轉(zhuǎn)載自 ??AI閑談??,作者: AI閑談
