災難性遺忘(Catastrophic forgetting)是在深度學習領域的一個概念,指的是模型在學習一個新目標的時候,對熱啟模型信息忘卻的一個現象,比如在采用預訓練模型作為熱啟,對模型進行微調導致模型對預訓練模型信息的忘卻。論文[1]報告了在多模態(tài)大規(guī)模語言模型(Multimodal Large Language Model, MLLM)中遇到的災難性遺忘現象。通常來說,MLLM的視覺信息部分由視覺編碼器(如ViT、Resnet等)組成,作者在論文中發(fā)現MLLM的圖片分類能力對比原視覺編碼器而言,會出現分類性能的下降,而在對MLLM進行微調后,發(fā)現會出現災難性遺忘,作者提出一個稱之為EMT的框架去評估(取名得純純二次元呢:P)。
所謂的EMT(Evaluating MulTimodality),如Fig 1.所示,首先輸入待評估圖片和prompt,讓MLLM去對圖片類別進行預測,由于LLM是生成式模型,其輸出格式具有一定的不可控性,這意味著其預測輸出和真實label之間可能是語義相同(semantic match)的,但是字面上卻不匹配(lexical mismatch),因此在下游接入另一個LLM(比如GPT 3.5 turbo)進行預測結果的評估。
Fig 1. EMT的框架示意圖。
通過這種方法,作者評估了LLaVA-7b、LLaVA13b與其視覺編碼器CLIP的性能差異,見Fig 2. (a),同樣的,作者也評估了LENS與openCLIP,InstructBLIP 7b、InstructBLIP 13b與openCLIP性能的差別,在各個圖像分類測試集中結果繪制成玫瑰圖,如Fig 2.所示。不難發(fā)現,絕大部分情況下MLLM的視覺分類能力都弱與其原生采用的視覺編碼器CLIP,只有在ViT-g-14上的CIFAR-10數據上有所特殊。當然,這個可能和作者采用的prompt也有很大關系,眾所周知,prompt模板的好壞對LLM的性能影響很大,這一點在之前的博文 [2] 中也曾經討論過。
Fig 2. MLLM的視覺分類能力比其采用的圖像編碼器的分類能力更弱。
作者認為其性能下降主要有以下三種情況:預測錯誤(incorrect prediction),內部幻覺(intrinsic hallucination),外部幻覺(extrinsic hallucination),如下所示,具體細節(jié)請參考原論文。
為何會產生性能下降呢?一個直接的想法就是,視覺語義和LLM的文本語義未完全對齊,導致對LLM的提問不能從知識庫中檢索出來(筆者:當然也不能排除prompt不合適的原因)。這點容易理解,假如視覺語義和文本語義已經對齊,那么對MLLM的提問,其實本質上就是在prompt中指定的若干個類別中檢索一個語義最為接近的類別進行返回,如果沒對齊,那么就會預測錯誤,如果LLM沒能充分理解prompt的語義,則會出現幻覺。基于這種想法,可以對MLLM進行微調以更好地對齊多模語義,或者讓LLM理解prompt語義,這種微調可以有幾種,比如LoRA,Linear適配,prompt tuning,P-Tuning等,本文作者采用了LoRA和Linear適配。
- LoRA,采用Low Rank技術增加一些低秩矩陣參數,具體可見 [3]。
- Linear適配,在視覺編碼向量后新增一個線性投影層,得到作為輸入到MLLM的視覺特征。
如Fig 3.所示,作者用LLaVA 6b和13b在不同數據集上進行微調了3個epoch,然后在其他數據集上進行測試,繪制出玫瑰圖。不難發(fā)現大部分出現了災難性遺忘情況(基線為7b-v0和13b-v0),也即是在某個數據集上微調在其他測試集上測試,其結果甚至遠遠低于基線,特別是采用lora微調的遺忘情況比linear適配的更為嚴重。由于LoRA會對LLM本身參數進行更新(低秩矩陣參數也是LLM的一部分),而Linear適配只是對視覺語義和文本語義進行對齊,因此猜測是對LLM的不當微調更容易導致幻覺。
Fig 3. LLaVA 6b和13b下微調了3個epoch,采用LoRA和Linear適配的結果對比,可以發(fā)現都出現了過擬合情況。
當然,3個epoch的微調可能對于MLLM來說太多了,作者同樣對epoch的數量進行了探索,如Fig 4.所示,(a)是Linear適配而(b)是同時更新Linear適配層和LoRA參數。有幾點觀察:
- 在只對Linear適配層進行更新的配置下,少量的微調(比如一個epoch內)能幫助視覺和文本語義的對齊。
- 采用Linear和LoRA同時更新的結果,其災難性遺忘現象嚴重,對LLM層參數的不當更新會導致嚴重的幻覺。
- 微調數據集足夠多樣化能夠幫助減緩災難性遺忘,這一點可從Fig 4. (a)的在CIFAR 10、CIFAR 100數據集上的微調結果中看出來。
因此,在期望對MLLM進行微調的時候其下游數據集需要進行精心設計,盡可能保證微調數據集的多樣性,并且微調方式也需要多考慮,盡可能不要碰LLM的原先參數,筆者覺得也許Prompt Tuning會是一個更好的方式,可以結合Linear適配和Prompt Tuning進行微調的實驗嘗試。我們就當LLM通過大規(guī)模的預訓練已經語義完備了,MLLM的語義對齊就交給視覺端進行吧,其實理論上說,語義對齊這個能力應該交給上游的CLIP對比學習完成,但是可能出現語義漂移,因此適當的下游任務語義對齊也是必要的。
Fig 4 采用了不同epoch數量的測試結果,同時作者對比了(a)線性適配和(b)同時更新線性適配層和LoRA參數。
Reference
[1]. Zhai, Yuexiang, et al. "Investigating the Catastrophic Forgetting in Multimodal Large Language Models." arXiv preprint arXiv:2309.10313 (2023).
[2]. https://blog.csdn.net/LoseInVain/article/details/133385359, 《【論文極速讀】Prompt Tuning——一種高效的LLM模型下游任務適配方式》
[3]. Edward J Hu, Yelong Shen, Phillip Wallis, Zeyuan Allen-Zhu, Yuanzhi Li, Shean Wang, Lu Wang, and Weizhu Chen. Lora: Low-rank adaptation of large language models. arXiv preprint arXiv:2106.09685, 2021