引言
論文:Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
Paper | Github | Demo
許久不精讀論文了,內(nèi)心一直想找個專門的時間來細細品讀自己感興趣的論文?,F(xiàn)在想來,無異于是自己騙自己了,因為根本就不存在那個專門的時間。所以改變最好的時候就是現(xiàn)在。
因為自己一直在做OCR相關(guān),因為對LLM中文檔智能相關(guān)的工作比較感興趣。因此,就以曠視出的這篇工作Vary作為切入點,借此來學習LLM在文檔智能領(lǐng)域的相關(guān)工作。
整體結(jié)構(gòu)圖
Figure 1:主要想說明Vary在產(chǎn)生vocabulary時,采用兩階段策略:在第一階段,通過自回歸方法,先產(chǎn)生一個新的vocabulary,在第二階段,將新的vocabulary與原始的融合,作為一個新的vocabulary。
Figure 2: 第一階段中,Vary為Vary-tiny,主要用來產(chǎn)生新的vocabulary;而Vary-base主要基于new vision vocabulary來處理各種visual tasks。
Vary-tiny中,使用在VIT-Det上預訓練過的SAM作為image encoder,為了和之后CLIP-L對齊,又加了兩個Conv。
Vary這篇工作整體思路較為簡單,更多地方就要去看源碼的細節(jié)實現(xiàn)了。
?? 不過想要吐槽一下的是,論文中竟然和Nougat作比較。Vary和Nougat參數(shù)量來看簡直不是一個量級啊。轉(zhuǎn)過來想,也是,畢竟這個方向目前也沒有一個除Nougat之外的基線了。
數(shù)據(jù)集構(gòu)造
之所以將這部分作為一個單獨章節(jié)來說,是因為這個工作的難點就在于此。Nougat和Vary都沒有開源所用的數(shù)據(jù)集。Nougat好在給出了一些制作數(shù)據(jù)集的相關(guān)代碼。Vary目前一點也沒有放出來。所以這里也就只能根據(jù)論文來簡單看看怎么做的了。
Vary-tiny部分
該部分主要聚焦于fine-grained perception,例如文檔智能和圖表理解,說是為了彌補CLIP的不足,因此這部分網(wǎng)絡輸入都是圖像,沒有文本輸入的分支。
在訓練Vary-tiny部分,作者將文檔和圖表數(shù)據(jù)作為positive samples,自然場景圖像作為negative數(shù)據(jù)。
Document Data數(shù)據(jù)構(gòu)造
由于該部分需要的數(shù)據(jù)為:輸入是文檔圖像,輸出是對應的markdown格式文本。目前沒有公開的中英文文檔數(shù)據(jù)集,因為作者自行構(gòu)建的。
其中,英文文檔主要來源于arXiv和CC-MAIN-2021-31-PDFUNTRUNCATED兩部分。中文文檔主要來源于互聯(lián)網(wǎng)上的電子書。
處理方法:PyMuPDF
庫提取PDF每頁信息,同時用pdf2image
工具將PDF對應頁轉(zhuǎn)為圖像。(感覺這里處理的較為粗糙,有較大提升空間)
最終構(gòu)建了100w中文和100w英文文檔圖像對,用于訓練Vary-tiny部分。
Chart Data構(gòu)造
作者觀察到LVLM不太擅長處理圖表理解問題,尤其是中文圖表。因此,本篇工作著重將其作為一個重點任務。
構(gòu)建圖表的image-text pair對方案:采用matplotlib
和pyecharts
作為渲染工具。渲染了matplotlib
風格的中英文圖表250k條,渲染了pyeharts風格中英文圖表500k條。另外,構(gòu)建圖表的ground truth為一個python字典形式。其中圖表中的文本,例如title, x-axis和y-axis都是從NLP語料庫中隨機選的。
論文中給出了一些圖表推理結(jié)果樣例:
Negative natural image選取
因為CLIP-VIT對于自然圖像較為擅長。為了確保新引入的vocabulary不影響已有效果,因此,作者在訓練Vary-Tiny時,引入了自然圖像作為negative image-text pairs。
作者從COCO數(shù)據(jù)集中選取了120k圖像,其所對應的文本從以下幾條中隨機選?。?/p>
“It’s an image of nature”;
“Here’s a nature picture”;
“It’s a nature photo”;
“This is a natural image”;
“That’s a shot from nature”.
Vary-base部分
文檔數(shù)據(jù)
上述收集到的文檔數(shù)據(jù),直接提取的PDF中文本信息。所以數(shù)據(jù)中更多的是文本數(shù)據(jù),表格和公式類型較少。因此在訓練Vary-base階段,作者采用LaTeX來渲染了一批比較有針對性的數(shù)據(jù)。具體做法如下:
- 收集一些arXiv上tex文件源文件,使用正則提取其中的表格、數(shù)學公式和文本內(nèi)容
- 將以上內(nèi)容重新用pdflatex工具渲染到新的模板上。作者整理了10+模版。
作者將圖像對應的ground truth存儲在mmd格式中。mmd格式是一種加強版的md格式,可以直接渲染md中的LaTeX代碼編寫的表格和公式。
最終,作者收集整理了50w英文數(shù)據(jù)和40w中文數(shù)據(jù)。
語義相關(guān)的圖表數(shù)據(jù)渲染
在Vary-tiny階段,作者批量渲染了圖表數(shù)據(jù)來訓練Vary-tiny中的vocabulary。但是那些數(shù)據(jù)存在標題、橫縱坐標語義相關(guān)性較差的問題。因此,在本階段,作者使用了GPT-4來產(chǎn)生語義相關(guān)性較強的語料來渲染高質(zhì)量的圖表數(shù)據(jù)。
不得不說,這一步很有借鑒意義的。
General Data
該部分使用的數(shù)據(jù)分為兩部分:
- 預訓練階段:使用的來自LAION-COCO的image-text pair數(shù)據(jù)
- SFT階段:使用的LLaVA-80k和LLaVA-CC665k
寫在最后
本來還想結(jié)合論文源碼來進一步查看做法的。一直沒有找到合適的表達方法來合理有序地表達代碼和論文的關(guān)系。暫時擱置。
剛才看Vary源碼,發(fā)現(xiàn)作者更新了兩個新的工作:Vary-toy和 Vary-Family系列,兩者關(guān)系如下:文章來源:http://www.zghlxwxcb.cn/news/detail-804655.html
值得期待和學習。文章來源地址http://www.zghlxwxcb.cn/news/detail-804655.html
到了這里,關(guān)于論文閱讀:Vary論文閱讀筆記的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!