8B尺寸達到GPT-4級性能!北大等提出醫療專家模型訓練方法
大規模語言模型(LLMs)的持續預訓練是提升其在特定領域性能的重要方法。通過在新領域的語料庫上預訓練大語言模型,這一過程能夠顯著增加模型的領域知識儲備和任務能力。
然而,盡管已有許多研究探討了從頭預訓練的LLMs的學習機制和性質,關于持續預訓練過程中LLMs行為的研究卻相對較少。
最近北京大學、香港科技大學等開源了一個8B醫學大模型,通過測試模型在連續預訓練和指令微調實驗過程中的表現變化,發現了許多有趣的現象。
圖片
論文鏈接:https://arxiv.org/abs/2406.14833
開源地址:https://huggingface.co/YiDuo1999/Llama-3-Physician-8B-Instruct
先下降后上升: 模型訓練中存在的穩定性缺失問題
本文首先選取TinyLLaMa-1b 和OpenLLaMA-3b模型作為基座模型,并在5百億醫療tokens上做做連續單輪預訓練。在預訓練過程中,作者每隔5b測試一次模型在醫療維基語料上的困惑度(PPL)和下游醫療任務的平均表現。
如圖1 所示,盡管模型在醫療維基語料上的困惑度持續下降(圖1b),但在連續預訓練初期,模型在醫學任務上的表現卻出現了下降 (圖1a)。隨著更多數據的訓練,任務表現逐漸恢復并超過了原始模型的水平 。
圖片
圖1:(a)預訓練過程中模型在四個醫療QA任務上的平均表現(b)預訓練過程中模型在醫療維基語料上的困惑度
為了解釋表現先下降后上升的行為,我們借鑒了持續學習中的穩定性差距概念。基于它的解釋,醫療任務表現最初下降是因為學習新領域的可塑性梯度超過了維持通用任務能力的穩定性梯度,導致未能維持醫療任務的性能。隨后,任務損失增強了穩定性梯度,這一前后穩定性差距最終導致性能恢復并上升。
為了驗證以上假設,我們進一步測試了模型在醫療持續預訓練中的通用任務表。如圖2顯示,一般任務性能呈現類似的V形曲線,表明一般指令跟隨能力在最初下降后恢復。
圖片
圖2:預訓練過程中模型在10個常識和閱讀理解任務上的平均表現
三個針對穩定性差距的訓練策略
為了克服持續預訓練中存在的穩定性差距問題,本文提出了三種有效策略:
策略1:在適當大小的數據子集上進行多輪預訓練,而不是在大數據集上進行單輪預訓練。這種策略減少了每次預訓練所需的高可塑性梯度,促進了穩定性梯度的上升,進而加速了性能恢復。
策略2:僅在高質量的子語料庫上進行預訓練,以快速提升特定領域的性能。
策略3:按照預訓練數據分布采取其它來源的數據并和醫療高質量數據混合訓練,減少預訓練分布和連續預訓練差距,促進模型穩定性梯度的形成。
表1:在醫療預訓練完成后模型在四個醫療任務上的zero-shot表現
實驗結果:本文通過對比多種基線方法來驗證提出的三條策略的有效性, 其中包括500億醫療數據單輪訓練、學習率Re-warming and Re-decaying、重采樣和參數固定等基線。
如下表1所示,基于本文的策略,OpenLLaMa模型只需要在高質量50億數據上訓練4個輪次(即原計算預算的40%),便可以在醫療任務平均表現上顯著超越了所有基線,尤其在PubMedQA等醫學問答任務中表現突出。
面向GPT4水平的8B醫療專家模型
連續預訓練:本文按照提出的三種策略對Llama-3-8B模型做進一步的醫療連續預訓練。在這個過程中使用了50億高質量醫學數據,并對模型做四個輪次的重復訓練。
指令微調:連續預訓練完成后,本文采用多個類型的醫療任務指令對模型做指令微調,包括問答任務、分類任務、關系提取任務、自然語言推理任務和總結任務。
微調過程中,研究團隊繼續采用提出的三種策略來優化指令微調效果。首先是多輪次訓練,這在醫學指令微調過程中是常見的。其次,利用Deita自動指令數據選擇器,選擇高質量的醫學指令數據子集。最后,使用高質量的通用指令數據集,如Airoboros-3.2,以緩解模型在通用任務完成能力上的遺忘。
圖片
圖3:指令微調過程中模型的醫療平均表現
如圖3所示,在指令微調過程中,使用所有數據做微調仍然可能在初始訓練階段時面臨表現下降問題。而通過我們的三種策略,模型僅需25%的指令數據就能達到最佳性能,這降低了計算資源的消耗。
實驗比較:本文進一步將達到最佳表現的指令微調模型Llama-3-Physician-8B-insturct與其它醫療模型比較。如表2所示,Llama-3-Physician-8B-insturct在醫療問答任務上明顯優于其它同尺寸的開源模型,并且超過了閉源的GPT-3.5-turbo模型。同時,它的平均醫療問答任務表現也接近GPT-4.
圖片
表2:指令微調結束后各模型在四個醫療問答任務上的zero-shot表現
本文進一步考慮Llama-3-Physician-8B-insturct在其它類型(非問答)的醫療任務上的表現。如表3所示,Llama-3-Physician-8B-insturct在醫療分類,關系抽取,推理和總結任務上都取得了優異表現,且明顯超過GPT-4表現。
圖片
表3:指令微調結束后各模型在醫療分類,關系抽取,推理和總結任務上的zero-shot表現
總結
1. 本論文研究了在對LLMs(大語言模型)進行新領域語料庫的連續預訓練時的行為,并觀察到模型初始性能下降,隨后緩慢恢復的現象。本文使用穩定性差距這一概念來描述這一現象,并從可塑性和穩定性梯度的角度對此解釋
2. 本文進一步提出了三種有效提高LLM在特定領域表現并降低計算成本的策略,從而克服穩定性差距。這些策略包括:在適當大小的數據子集上進行多輪預訓練,選取高質量子集和按預訓練數據分布混合采樣數據。
3. 本文將這些策略應用于最新的Llama-3-8B模型的連續預訓練和指令微調過程中,所得到的Llama-3-Physician-8B-insturct不僅在同規模開源模型中表現最強,并且優于閉源的GPT-3.5模型,接近GPT-4的表現。
參考資料:
https://arxiv.org/abs/2406.14833