Pine 發自 凹非寺
量子位 | 公眾號 QbitAI
支持10余種圖像文本任務,囊括20多種數據集,還提供SOTA模型性能和可復現預訓練及微調實驗配置。
沒錯,這是一個視覺語言深度學習框架就可以擁有的。
這個庫的廬山真面目是:Salesforce亞洲研究院推出的LAVIS。

并且,它還統一了接口,降低開發成本和入門門檻。
最重要的是:已開源!
LAVIS全?位?持視覺語?任務、數據集、模型。
如果還不能看不出它的優勢,那話不多說,直接看LAVIS與現有多模態庫的對比圖。

相較之下,現存的視覺語?框架只?持較少?部分任務和數據集,遜色了不少。
除此之外,LAVIS還附帶了豐富的開源資源和?具,就比如說它提供了一個圖形化的工具,可以可視化數據集的樣本,以便于能更好的預覽、理解數據。
并且隨著LAVIS一起開源的還有GUI demo,它的功能就有這么多。(看圖)

具體LAVIS有何過人之處?一起來看看吧~
?站式視覺語?框架
LAVIS概括下來,可以用三個數字來表示:四、十、二十。
先來說說四,它表示LAVIS支持四種領先的基礎視覺語?模型架構,包括ALBEF、BLIP、CLIP和ALPRO。
其中ALBEF和CLIP主要支持圖像文本任務,ALPRO?持視頻?本任務,BLIP對這兩項任務都能夠提供?持。
也正是有了這些視覺語言模型做基礎,LAVIS才能夠運行這十余種視覺語言任務。
具體來講,它可以進行圖?描述?成、圖像?本檢索、視頻?本檢索、圖像問答、視頻問答、多模態分 類、多模態圖像、視頻對話、視覺語?推理、多模態預訓練等實?任務。
除此之外,LAVIS還具備多模態特征提取等功能。
講完模型架構和任務,就還差數據集了,不過這就不必擔心,因為LAVIS能夠支持二十多種數據集。
想實現各項任務都能夠找到合適的數據集進行訓練。

不過,這些都還只是LAVIS的開碟小菜,它還“憋了個大招”:
統一接口。
這對初學者和跨領域研究者來說是相當友好了,許多深度學習庫的模型、數據集以及任務評估接口都不一致,這就導致學習成本大大提高。
而統一接口之后,就會極?簡化模型訓練評測,并且能夠最?化重復開發成本。
話說回來,這里的統一接口具體方便了什么呢?
主要分為兩部分。
第一部分是用于加載數據集和模型的統一接口,模型及其相關的預處理器也可以通過一個統一的接口來加載,從而便于對自定義數據進行分析和推斷。
第二部分是實現多模態特征提取的統一接口,這些特性對于端到端微調的離線應用程序尤其有用。通過更改名稱和模式,用戶可以選擇使用不同的模型架構和預先訓練的權重。
這樣一來,?戶便可以利?LAVIS提供的load_model(), load_dataset() ,?鍵加載所需模型和數據集。
比如說,加載COCO captioning數據集,只需要輸入load_dataset(“coco_caption”);加載BLIP captioning模型只需要輸入model=load_model(name=“blip_caption”)。
此外,LAVIS還能實現數據到訓練?定制化,給予開發者充分空間研究新模型、新多模態能?、新引?場景。
不過,實現LAVIS這樣一站式的視覺語言框架,是怎樣做到的呢?
模塊化的結構
其實從LAVIS的構造就能夠看出,LAVIS深度學習庫的整個構造很簡潔,用三個字就可以概括:模塊化。
在整個庫中,將關鍵組件模塊化后再進行組織。
這樣一來,就可以對單個組件的現成訪問、快速開發以及新組件或外部組件的輕松集成,還能夠模型推斷,例如多模態特征提取。
具體是怎樣的?可以一起看看。
LAVIS共分為六個關鍵模塊(詳見下圖)。
其中比較核心的就是runners模塊,它負責管理整個訓練的評估的過程,RunnerBase和RunnerIters也各司其職,一個負責基于epoch的訓練,一個負責基于迭代的訓練。
tasks模塊會對每個任務執行具體的訓練和評估邏輯,以適應特定的任務。
datasets顧名思義就是負責創建數據集。
在models模塊中,它保存了其支持的四個模型以及共享模型層的定義。
processors模塊用來處理多模態輸入的預處理,處理器將輸入的圖像、視頻和文本轉換為模型可以使用的形式。
common則是LAVIS提供的工具包和一些應用程序。

這些模塊之間相互依賴,由此便形成了一個簡單而統一的庫,進而可以更方便地訓練和評估模型;訪問所支持的模型和數據集以及擴展新模型、任務和數據集。
目前,開發人員表示將持續更新維護LAVIS,在未來它將會支持更多更強大的視覺語言預訓練模型,和更多的視覺語言任務,比如文本圖像生成。
聽完是不是心癢癢了?
下方就有開源鏈接以及詳細文檔,感興趣的朋友可以試試~
Github:https://github.com/salesforce/LAVIS
技術報告:https://arxiv.org/abs/2209.09019
?持?檔:https://opensource.salesforce.com/LAVIS//latest/index.html
官?博客:https://blog.salesforceairesearch.com/lavis-language-vision-library/
— 完 —
量子位 QbitAI · 頭條號簽約






