來源?|?新智元? 微信號:AI-era
先是ChatGPT的發(fā)布給世界帶來了一點小小的NLP震撼,隨后發(fā)布的GPT-4更是破圈計算機視覺,展現(xiàn)了非凡的多模態(tài)能力。
不光能讀懂人類的梗,給個手繪草圖甚至可以直接寫出網(wǎng)站的代碼,徹底顛覆了對語言模型、視覺模型能力邊界的認(rèn)知。
GPT-4:圖里的這個「Lighting充電線」,看起來就是個又大又過氣的VGA接口,插在這個又小又現(xiàn)代的智能手機上,反差強烈。
不過像GPT-4這么好的模型,CloseAI選擇閉源,讓廣大AI從業(yè)者實在是又愛又恨。
最近,來自沙特阿拉伯阿卜杜拉國王科技大學(xué)的研究團隊開源了GPT-4的平民版MiniGPT-4,從效果上看已經(jīng)基本具備GPT-4所展現(xiàn)出的多個功能,包括手寫網(wǎng)頁示意圖生成代碼、解讀圖像中的梗等。
論文鏈接:https://github.com/Vision-CAIR/MiniGPT-4/blob/main/MiniGPT_4.pdf
項目鏈接:https://minigpt-4.github.io/
代碼鏈接:https://github.com/Vision-CAIR/MiniGPT-4
想要本地部署,一行代碼即可搞定!
python demo.py --cfg-path eval_configs/minigpt4_eval.yaml
默認(rèn)加載選項為8bit Vicuna模型以節(jié)省GPU內(nèi)存,beam search的寬度為1,大約需要23G顯存。
為了實現(xiàn)有效的MiniGPT-4,研究人員提出了一個兩階段的訓(xùn)練方法,先在大量對齊的圖像-文本對上對模型進(jìn)行預(yù)訓(xùn)練以獲得視覺語言知識,然后用一個較小但高質(zhì)量的圖像-文本數(shù)據(jù)集和一個設(shè)計好的對話模板對預(yù)訓(xùn)練的模型進(jìn)行微調(diào),以提高模型生成的可靠性和可用性。
文中的研究結(jié)果表明,MiniGPT-4具有許多與 GPT-4類似的能力,如通過手寫草稿生成詳細(xì)的圖像描述和創(chuàng)建網(wǎng)站;還可以觀察到 MiniGPT-4的其他新功能,包括根據(jù)給定的圖像創(chuàng)作故事和詩歌,為圖像中顯示的問題提供解決方案,教用戶如何根據(jù)食物照片烹飪等。
論文作者朱德堯來自泉州,目前是阿卜杜拉國王科技大學(xué)(KAUST)的博士生,主要研究方向包括多模態(tài)大語言模型、預(yù)測模型和強化學(xué)習(xí)。
論文共同一作Jun Chen目前是阿卜杜拉國王科技大學(xué) Vision-CAIR 研究小組的博士生,主要研究方向為多模態(tài)學(xué)習(xí)、自監(jiān)督學(xué)習(xí)和大規(guī)模預(yù)訓(xùn)練模型。
MiniGPT-4模型架構(gòu)
研究人員認(rèn)為,「GPT-4強大的多模態(tài)生成能力主要來自于更強的語言模型」。
為了驗證這點,研究人員選擇固定住語言模型和視覺模型的參數(shù),然后只用投影層將二者對齊:MiniGPT-4的語言解碼器使用Vicuna(基于LLaMA構(gòu)建),視覺感知部分使用與BLIP-2相同的視覺編碼器。
1. 預(yù)訓(xùn)練階段
為了從大量對齊的圖像-文本對中獲取視覺-語言知識,研究人員把注入投影層的輸出看作是對語言模型的軟提示(soft prompt),促使它生成相應(yīng)的ground-truth文本;并且預(yù)訓(xùn)練的視覺編碼器和視覺編碼器在預(yù)訓(xùn)練階段始終保持參數(shù)不變,只訓(xùn)練線性投影層。
訓(xùn)練數(shù)據(jù)集包括Conceptual Caption, SBU和LAION,使用4張A100(共80GB顯存) GPU以256的batch size訓(xùn)練了20000步,覆蓋了大約500萬個圖像-文本對。
雖然在預(yù)訓(xùn)練后,MiniGPT-4已經(jīng)展現(xiàn)了豐富的知識,并能夠?qū)θ祟惖膓uery提供合理的回復(fù)。
不過還是可以觀察到MiniGPT-4仍然很難生成連貫的語言輸出,比如經(jīng)常會生成重復(fù)的詞或句子、零散的句子或不相關(guān)的內(nèi)容,這些問題也阻礙了MiniGPT-4與人類進(jìn)行流暢的視覺對話的能力。
還可以注意到GPT-3也存在類似的問題:即便在大量的語言數(shù)據(jù)集上進(jìn)行了預(yù)訓(xùn)練,GPT-3還是不能直接生成符合用戶意圖的語言輸出;但通過指令微調(diào)和從人類反饋中進(jìn)行強化學(xué)習(xí)的過程后,GPT-3就成功蛻變?yōu)榱薌PT-3.5,并能夠生成對人類更友好的輸出。
所以只對MiniGPT-4進(jìn)行預(yù)訓(xùn)練是不夠的。
2. 高質(zhì)量的視覺-語言對齊數(shù)據(jù)集
雖然在自然語言處理領(lǐng)域,指令微調(diào)數(shù)據(jù)集和對話相關(guān)數(shù)據(jù)集很容易獲得,但對于視覺語言領(lǐng)域來說,并不存在對應(yīng)的數(shù)據(jù)集,所以為了讓MiniGPT-4在生成文本時更自然、更有用,還需要設(shè)計一個高質(zhì)量的、對齊的圖像-文本數(shù)據(jù)集。
在初始階段,使用預(yù)訓(xùn)練后得到的模型來生成對給定圖像的描述,為了使模型能夠生成更詳細(xì)的圖像描述,研究人員還設(shè)計了一個符合Vicuna語言模型的對話格式的提示符。
###Human: <Img><ImageFeature></Img> Describe this image in detail. Give as many details as?possible. Say everything you see. ###Assistant:
其中<ImageFeature>表示線性投影層生成的視覺特征,如果生成的描述不足80個tokens,就添加額外的提示符「#Human:Continue#Assistant:」繼續(xù)生成。
最后從Conceptual Caption中隨機選擇了5000幅圖像,并生成對應(yīng)的描述。
數(shù)據(jù)后處理
目前生成的圖像描述仍然包含許多噪音和錯誤,如重復(fù)的單詞、不連貫的句子等,研究人員使用ChatGPT來完善描述。
Fix the error in the given paragraph. Remove any repeating sentences, meaningless characters, not English sentences, and so on. Remove unnecessary repetition. Rewrite any incomplete sentences. Return directly the results without explanation. Return directly the input paragraph if it is already correct without explanation.
修正給定段落中的錯誤。刪除重復(fù)的句子、無意義的字符、不是英語的句子等等。刪除不必要的重復(fù)。重寫不完整的句子。直接返回結(jié)果,無需解釋。如果輸入的段落已經(jīng)正確,則直接返回,無需解釋。
最后為了保證數(shù)據(jù)質(zhì)量,手動驗證每個圖像描述的正確性,并得到了3500個圖像-文本對。
3. 微調(diào)階段
研究人員使用預(yù)定義的模板提示來優(yōu)化預(yù)訓(xùn)練模型。
###Human: <Img><ImageFeature></Img> <Instruction> ###Assistant
其中<Instruction>表示從預(yù)定義指令集中隨機抽樣的指令,包含各種形式的指令,例如「詳細(xì)描述此圖像」或「您能為我描述此圖像的內(nèi)容嗎」等。
需要注意的是,微調(diào)階段沒有計算特定文本-圖像提示的回歸損失,所以可以生成更自然、可靠的回復(fù)。
MiniGPT-4的微調(diào)過程非常高效,batch size為12的話,只需要400個訓(xùn)練步,使用單個A100 GPU訓(xùn)練7分鐘即可。
示例
MiniGPT-4表現(xiàn)出了與GPT-4類似的多模態(tài)能力。
給一張圖片,可以讓模型生成非常詳細(xì)的圖像描述。
識別圖像中的梗,比如解釋「一到周一,人就像圖里的小狗一樣,一周中最令人恐懼的一天」。
還可以發(fā)現(xiàn)圖像中不尋常的內(nèi)容,比如「狼和小羊在同一片草地」。
還可以根據(jù)手繪圖生成一個網(wǎng)站的代碼。
MiniGPT-4還可以識別圖像中的問題并提供解決方案,比如「洗衣機冒出了大量泡泡」是因為過載等原因,可以檢查洗衣液是不是放多了、清理一下排水管或是看看洗衣機是不是壞了。
創(chuàng)作以圖像為主題的詩歌或說唱歌曲。
編寫圖像背后的故事。
為圖像中的產(chǎn)品寫廣告詞。
甚至還可以知道換頭表情包里的人是Tesla和Space X的CEO馬斯克。
提供一些有深度的圖像評論。
檢索與圖像相關(guān)的事實,比如給個《教父》的截圖就可以讓模型檢索到對應(yīng)的電影信息。
甚至給個食物的照片,可以讓模型輸出一份菜譜。
更多強大的功能等你解鎖!
參考資料:文章來源:http://www.zghlxwxcb.cn/news/detail-428708.html
https://minigpt-4.github.io/文章來源地址http://www.zghlxwxcb.cn/news/detail-428708.html
到了這里,關(guān)于GPT-4開源平替miniGPT-4來了,僅需23G顯存單機可run,附論文、項目代碼地址的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!