微調7B模型只用單GPU!通用多模態工具LLaMA-Adapter拆掉門檻,效果驚人
LLaMA-Adapter,現在已經完全解鎖了。
作為一個通用的多模態基礎模型,它集成了圖像、音頻、文本、視頻和3D點云等各種輸入,同時還能提供圖像、文本和檢測的輸出。
相比于之前已經推出的LLaMA-Adapter,這次的升級版研究人員將它命名為LLaMA-adapter V2。
論文:https://arxiv.org/abs/2304.15010
這是升級之后的多模態和雙語功能示意圖:
圖片
它是唯一可以結合多種模態的模型,例如,從3D點云和背景音頻生成真實的圖像。
而且,它還支持雙語功能,能接收和生成多種語言的文本。
它還能和LLaMA / ImageBind,Falcon,LangChain等模型整合。
在8個A100 GPU上,僅用15個小時就訓練出了LLaMA-Adapter,僅僅引入了650M的參數。
圖片
真·多模態
接下來,讓我們體驗下LLaMA-Adapte的魔力。
無論是文本、圖像、視頻、音頻還是3D點云,這些真實世界的輸入都可以通過它轉換為高質量的文本。
輸入一個三角鋼琴的3D點云,它就會詳細描述出這個三維物體的細節。
顯然,英文的回答會比中文的回答詳細得多。
圖片
3D點云輸入令人非常印象深刻,因為它提供了比照片更準確的信息,并且可以集成到攝影測量應用中。
輸入一段街道上車輛正在行駛的語音,問它當事人會是什么心情,它就猜測出,現在當事人可能比較憤怒和不滿。
輸入一段LOL的游戲視頻,它就能識別出游戲的名字,還能答出里面的人物。
輸入一張照片,它能告訴你這是京都的 Fushimi Inari Shrine 。
圖片
LLaMA-Adepter不僅僅是可以創建文本,還能夠生成檢測結果,這就為我們理解世界和與世界互動帶來新的維度。
把檢測GPT-4的這幅圖輸給它,它也很順利地描述出了這幅圖的怪異之處在哪里。
從3D點云或音頻中,LlaMA-Adapter可以喚起一個生動而令人驚嘆的視覺世界。它不僅僅是數據處理,它是從原始輸入 創造藝術。
輸入一陣海浪聲,它會給你生成對應語音的圖片。
根據3D點云,它可以生成很生動的圖片。
LLaMA-Adapter會模擬人類互動,聽聲音、看視頻,還能生成文本,從而與世界建立更深層次的聯系,實現AI通信的飛躍。
輸入一個視頻,它就會告訴你,圖中人物正在做瑜伽。
更精彩的是,只要輸入3D點云和背景音頻,LLaMA-Adapter就可以重建現實世界的鏡像。這是一種沉浸式體驗的突破!
LLaMA-Adapter由LangChainAI提供支持,不僅可以與人類通信,還可以釋放AI交互的無限潛力。
GitHub
LLaMA-Adapter,這是一種輕量級適配方法,用于微調指令遵循和多模態LLaMA模型。
下圖是LLaMA-Adapter和Alpaca的參數對比。
圖片
通過將適配器插入LLaMA的Transformer,研究者只引入了1.2M的可學習參數,并在1小時內將LLaMA轉換為指令跟隨模型。
為了在早期階段穩定訓練,研究者提出了一種具有zero gating機制的新型Zero-init注意力機制,以自適應地合并教學信號。
經過微調后,LLaMA-Adapter可以生成高質量的指令跟隨句子,可與完全微調的Alpaca和Alpaca-Lora相媲美。
圖片
此方法可以簡單地擴展到多模態輸入指令。用于ScienceQA的圖像條件LLaMA-Adapter的推理框架如下,其他模態(如音頻和視頻)也共享該框架。
圖片
LLaMA-Adapter V2讓多模態和語言能力進一步提升
1. 通過線性層的偏差調整來增強語言模型的性能。
2. 使用不相交參數進行聯合訓練來平衡視覺指令調整。
3. 使用視覺知識的早期融合增強文本和圖像的理解能力。
4. 通過與專家集成來提高了多模態的推理能力。
線性層的偏差調整
LLaMA-Adapter在凍結的LLaMA模型上采用可學習的適應提示和零初始化注意機制,從而可以有效地整合新知識。
但是,參數更新受限于自適應提示和門控因子,沒有修改LLMs的內部參數,這限制了它進行深度微調的能力。
鑒于此,研究人員提出了一種偏差調整策略,除了適應提示和門控因素之外,進一步將指令提示融合到LLaMa中。
具體來說,為了自適應地處理指令跟隨數據的任務,研究人員首先解凍LLaMA 中的所有規范化層。
對于Transformer中的每個線性層,研究人員添加一個偏差和一個比例因子作為兩個可學習的參數。
研究人員將某個線性層的輸入和預訓練權重分別表示為 x 和 W。在LLaMA-Adapter V2中,研究人員使用偏置 b 和尺度 s 修改線性層為
與零初始化注意力類似,研究人員分別用零和一初始化偏差和比例因子,以穩定早期階段的訓練過程。
通過結合偏置調整策略和高質量指令數據,LLaMA-Adapter V2獲得了卓越的指令跟隨能力。
值得注意的是,新增參數的數量僅占整個LLaMA的 0.04%(~5M),表明 LLaMA-Adapter V2仍然是一種參數高效的方法。
使用不相交參數進行聯合訓練
研究人員目標是同時賦予LLaMA-Adapter V2生成長語言響應和多模態理解的能力。
下圖所示,研究人員提出了LLaMA-Adapter V2的聯合訓練范例,以利用圖像文本字幕數據和純語言指令示例。
由于500K圖像文本對和50K指令數據之間的數據量差異,直接將它們組合起來進行優化會嚴重損害LLaMA-Adapter的指令跟隨能力。
因此,研究人員的聯合訓練策略優化了LLaMA-Adapter V2中不相交的參數組,分別用于圖像文本對齊和指令跟隨。
具體來說,只有視覺投影層和帶門控的早期零初始化注意力針對圖文字幕數據進行訓練,而后期適應提示與零門控、未凍結范數、新添加的偏差和比例因子(或可選的低秩適應)被用于從指令跟隨數據學習。
不相交的參數優化很好地解決了圖文理解和指令跟隨之間的干擾問題,這有助于 LLaMA-Adapter V2的視覺指令跟隨能力。
圖片
視覺知識的早期融合
為了避免視覺和語言微調之間的干擾,研究人員提出了一種簡單的早期融合策略,以防止輸入視覺提示和適應提示之間的直接交互。
在LLaMA-Adapter中,輸入的視覺提示由具有可學習視覺投影層的凍結視覺編碼器順序編碼,然后在每個插入層添加到自適應提示。
在LLaMA-Adapter V2中,研究人員將編碼的視覺標記和自適應提示注入不同的Transformer層,而不將它們融合在一起,如下圖所示。
對于數據集共享的自適應提示,研究人員跟隨LLaMA-Adapter,將它們插入到最后L層(比如,L=30)。
對于輸入的視覺提示,研究人員直接將它們與單詞標記連接起來,這是具有零初始化注意力的Transformer層,而不是將它們添加到自適應提示中。
與提出的聯合訓練一起,這種簡單的視覺標記早期融合策略可以有效地解決兩類微調目標之間的沖突。
這樣就使得參數高效的LLaMA-Adapter V2具有良好的多模態推理能力。
圖片
與專家集成
最近的視覺指令模型,如MiniGPT4和LLaMA需要大規模的圖像文本訓練來連接視覺模型和LLM。
相比之下,研究人員的LLaMA-Adapter V2對更小規模的常見圖像字幕數據進行了微調,使其數據效率更高。
然而,研究人員的方法的圖像理解能力相對較弱,導致偶爾出現不準確或無關的響應。
研究人員建議集成字幕、OCR和搜索引擎等專家系統,以補充LLaMA-Adapter V2額外的視覺推理能力,而不是收集更多的圖像文本數據或采用更強大的多模態模塊。
如下圖所示,研究人員利用字幕、檢測和OCR等專家系統來增強LLaMA-Adapter V2的視覺指令跟隨能力。
小編親測
小編立馬上手試了一波,輸入這幅圖。
Prompt是,可以向我介紹一下這個電腦游戲嗎?
圖片
它就會在輸出中告訴你,這是“塞爾達傳說:曠野之息”,并為你詳細介紹游戲內容。
圖片
針對雙語表現比較好的模型Bilingual (CN / EN) ImageBind-LLM,我們先測了一個比較簡單的問題,找了一幅梵高的自畫像來給它看。
中文的回答內容上沒有問題,但是表達上最后一句話似乎沒有說完就斷了,類似的情況在后面的測試里還反復出現了。
圖片
英文的回復內容和表達上都沒有問題。
圖片
但是如果問題稍微難一點,小編實測后發現,它的英文能力很強,但中文的理解力明顯就不是很行。
測狗狗幣的時候,它就鬧笑話了。
沒有看出圖片的精髓,還“指狗為貓”。
圖片
英文生產的答案明顯在表達上好一些,但是還是沒有識別出狗狗幣。
應該是它識別的時候忽略了圖中最關鍵的那一圈文字信息。
圖片
在視頻的表現中我們找了一段Dota2 TI8的名局片段,用中文問它,他的回答就完全是不懂裝懂。
圖片
但是同樣的游戲錄像,用英文提問,回答得就比較令人滿意。
游戲識別對了,而且介紹的內容也都很靠譜。
圖片
我們再測了一下聲音,找了一首霉霉的歌放進去。
圖片
他能識別出人聲聲音的音調,但是聽不出歌曲。
英文的回復直接猜了一個歌手,但是沒猜對。
圖片
網友反應
前威斯康星大學教授第一時間發推說自己上手用LLaMA-Adapter微調了一個40B Falcon的模型。
圖片
在這條微博下面他回復了大家提出的相關問題,對LLaMA-Adapter的評價非常高。
他說如果不用LLaMA-Adapter微調7B的模型,至少需要8個A100GPU,自己用了LLaMA-Adapter只用了一塊GPU,門檻大大降低!
圖片
另外一位網友詢問和Lora/qlora/full相比,推理質量如何,他回答說自己正在體驗,進一步的信息稍后帶來。
圖片
參考資料: