開源的輕量化VLM-SmolVLM模型架構(gòu)、數(shù)據(jù)策略及其衍生物PDF解析模型SmolDocling
縮小視覺編碼器的尺寸,能夠有效的降低多模態(tài)大模型的參數(shù)量。再來(lái)看一個(gè)整體的工作,從視覺側(cè)和語(yǔ)言模型側(cè)綜合考量模型參數(shù)量的平衡模式,進(jìn)一步降低參數(shù)量,甚至最小達(dá)256M參數(shù)量,推理時(shí)顯存占用<1GB。下面來(lái)看看,僅供參考。
模型架構(gòu)
SmolVLM 架構(gòu)。圖像被分割成子圖像,從視頻中采樣幀,然后編碼成視覺特征。這些特征首先通過(guò)像素重排,然后通過(guò)MLP投影映射到LLM輸入空間作為視覺標(biāo)記。然后,視覺標(biāo)記與文本嵌入(橙色/紅色)連接/交錯(cuò)。這個(gè)組合序列被傳遞給LLM進(jìn)行文本輸出。
那么,如何設(shè)計(jì)一個(gè)高效的小型多模態(tài)模型架構(gòu)?
Q1: 如何在視覺和語(yǔ)言模型之間分配計(jì)算?
傳統(tǒng)大型VLMs(如Flamingo)將90%以上參數(shù)分配給語(yǔ)言模型(LM),但SmolVLM發(fā)現(xiàn):小規(guī)模LM需重新平衡視覺與語(yǔ)言的計(jì)算資源。
研究方法:將三種不同規(guī)模的SmolLM2變體(135M、360M和1.7B參數(shù))與兩種SigLIP編碼器(一個(gè)緊湊的93M SigLIP-B/16和一個(gè)較大的428M SigLIP-SO400M)進(jìn)行配對(duì)。
發(fā)現(xiàn):通常情況下,較大的VLM會(huì)不均衡地將參數(shù)分配給語(yǔ)言模型,但在小型模型中,這種分配方式不再適用。當(dāng)使用大型編碼器與最小的LM(135M)時(shí),性能顯著下降,表明這種配置效率低下。在中等規(guī)模的LM(360M)中,較大的編碼器可以提高性能,但會(huì)增加66%的參數(shù)。只有在最大的LM(1.7B)中,較大的編碼器僅增加10%的參數(shù)。
結(jié)論:緊湊的多模態(tài)模型受益于平衡的編碼器-LM參數(shù)分配,使得較小的視覺編碼器在效率上更具優(yōu)勢(shì)。即:模型越小,視覺編碼器應(yīng)更輕量,避免“頭重腳輕”。當(dāng)使用具有最小LM(135M)的大編碼器時(shí),性能顯著下降,突顯了編碼器-LM平衡效率低下。在中等LM規(guī)模(360M)時(shí),較大的編碼器將性能提高了11.6%,但這也伴隨著參數(shù)增加了66%,使得緊湊型編碼器更可取。只有在最大的LM規(guī)模(1.7B)時(shí),較大的編碼器僅代表參數(shù)增加了10%。
圖片
圖片
Q2: 如何有效地將圖像傳遞給語(yǔ)言模型?
如何支持長(zhǎng)上下文與對(duì)視覺token進(jìn)行壓縮?為了提高模型的上下文處理能力,采用了自注意力架構(gòu),其中視覺Token與文本token連接,并由語(yǔ)言模型共同處理。這種方法需要比SmolLM2的2ktoken限制更多的上下文。
研究方法:通過(guò)增加RoPE基數(shù)從10k到273k來(lái)擴(kuò)展上下文容量,并在長(zhǎng)上下文數(shù)據(jù)(如Dolma書籍和The Stack)和短上下文數(shù)據(jù)(如FineWeb-Edu、DCLM和SmolLM2的數(shù)學(xué)數(shù)據(jù))上進(jìn)行微調(diào)。
發(fā)現(xiàn):擴(kuò)展上下文窗口對(duì)緊湊VLM有顯著的好處。對(duì)于1.7B的LM,微調(diào)在16ktoken時(shí)表現(xiàn)穩(wěn)定,但對(duì)于較小的模型(135M和360M),在超過(guò)8k token時(shí)表現(xiàn)不佳。因此,研究者們?yōu)镾molVLM采用了16k token的上下文,并為較小的變體設(shè)定了8k token的限制。
圖片
圖片
像素重排:重新排列編碼圖像,以增加通道深度為代價(jià)換取空間分辨率。這減少了視覺標(biāo)記數(shù)量,同時(shí)保持信息密度。
圖片
圖片
原理:將2×2空間區(qū)域重組為通道維度(上圖),token數(shù)減少4倍(r=2時(shí))。
較小的VLMs從更激進(jìn)的壓縮(r = 4)中受益,因?yàn)闇p少的token數(shù)減輕了注意力開銷并改善了長(zhǎng)上下文建模
較小的VLMs從更激進(jìn)的壓縮(r = 4)中受益,因?yàn)闇p少的token數(shù)減輕了注意力開銷并改善了長(zhǎng)上下文建模
較小的VLMs從更激進(jìn)的壓縮(r = 4)中受益,因?yàn)闇p少的token數(shù)減輕了注意力開銷并改善了長(zhǎng)上下文建模
對(duì)比基線:InternVL等使用r=2,但SmolVLM證明小模型需更激進(jìn)壓縮。
結(jié)論:小型VLM顯著受益于擴(kuò)展的上下文長(zhǎng)度。
Q3: 如何有效地編碼圖像和視頻?
在多模態(tài)建模中,平衡圖像和視頻之間的token分配至關(guān)重要。圖像通常需要更高的分辨率和更多的token來(lái)保持質(zhì)量,而視頻則需要更少的token來(lái)高效處理長(zhǎng)序列。
研究方法:采用了一種圖像分割策略,靈感來(lái)自UReader和SPHINX,將高分辨率圖像分割成多個(gè)子圖像,并保留原始圖像的縮小版本。這種方法在不增加過(guò)多計(jì)算開銷的情況下保持了圖像質(zhì)量。
視頻處理:對(duì)于視頻,發(fā)現(xiàn)幀平均策略會(huì)負(fù)面影響性能(下圖)。因此,選擇不采用幀平均策略,而是將視頻幀重新縮放到圖像編碼器的分辨率。
圖片
圖片
結(jié)論:對(duì)于小型模型,圖像分割增強(qiáng)了視覺任務(wù)的表現(xiàn),而視頻幀平均則不適用。
數(shù)據(jù)策略
數(shù)據(jù)配比:最終訓(xùn)練集含14%文本、33%視頻、53%圖像
視覺(左側(cè))和視頻(右側(cè))的訓(xùn)練數(shù)據(jù)集詳情,按模態(tài)和子類別細(xì)分
視覺(左側(cè))和視頻(右側(cè))的訓(xùn)練數(shù)據(jù)集詳情,按模態(tài)和子類別細(xì)分
性能
圖片
圖片
圖片
衍生模型-端到端的PDF解析多模態(tài)模型SmolDocling
模型結(jié)構(gòu):就是SmolVLM
圖片
圖片
訓(xùn)練數(shù)據(jù)(該模型核心):訓(xùn)練數(shù)據(jù)構(gòu)造上,引入了一種新的文檔標(biāo)記格式DocTags,用于標(biāo)準(zhǔn)化文檔轉(zhuǎn)換,這個(gè)是核心意義。DocTags定義了一個(gè)明確的標(biāo)簽和規(guī)則集,以分離文本內(nèi)容和文檔結(jié)構(gòu),從而提高圖像到序列模型的性能,如下圖:
圖片
圖片
對(duì)應(yīng)的語(yǔ)法
圖片
圖片
從上面類XML標(biāo)簽語(yǔ)法看來(lái),感覺設(shè)計(jì)的非常冗余。整體上結(jié)合模型架構(gòu)也沒什么特殊的創(chuàng)新點(diǎn),并且,之前被自媒體吹得性能很強(qiáng),實(shí)際上,該模型還是demo玩具。個(gè)人使用后觀點(diǎn)。
參考文獻(xiàn):SmolVLM: Redefining small and efficient multimodal models,https://arxiv.org/pdf/2504.05299
開源地址:https://github.com/huggingface/smollm