天天看點

【專精】LLaMA: 生成資料增強優化領域問答“小”模型

作者:零度AI

大型語言模型(LLMs)在自然語言處理方面取得了重大進步,但随着規模的增長,它們在計算成本和效率方面面臨挑戰,尤其是在特定領域的任務中。另一方面,小型語言模型(SLMs)由于容量和訓練資料的限制,常常在這些任務中遇到困難。本文中将介紹一種通過使用LLMs進行生成資料增強來改善SLMs的方法,以醫學問答任務和PubMedQA資料集為例。LLMs有效地優化和多樣化了現有的問題-答案對,對特定領域的QA資料集進行微調後,一個規模小得多的模型的性能得到了提高。

在特定領域的任務,如醫學問題回答或法律文檔分析,需要專門的知識和了解,這可能無法在通用LLMs中得到充分的捕捉。此外,與LLMs相關的計算資源和顯存需求對許多應用來說可能過于昂貴,使它們不适合在資源受限的環境中部署。另一方面,小型語言模型(SLMs)為LLMs提供了更為計算高效的替代方案。然而,由于其有限的容量和訓練資料,SLMs常常在特定領域的任務中遇到困難。這個限制需要開發新的技術和政策,以在保持其計算效率的同時提高SLMs在專業任務中的性能。本文介紹LLMs和SLMs在特定領域任務中面臨的挑戰,以及改進SLMs性能而不引入與LLMs相關的計算成本的潛在解決方案。減小LLMs出色能力與SLMs的計算效率之間的差距,促進為特定領域應用開發和訓練高效的模型。

【專精】LLaMA: 生成資料增強優化領域問答“小”模型

相關技術

1.自回歸預訓練

自回歸預訓練對于大型語言模型(LLMs)在自然語言進行中的成功至關重要。這項技術涉及訓練LLMs預測序列中給定其前置上下文的下一個單詞。像GPT、BERT和RoBERTa這樣的模型利用這種方法獲得了對語言結構、文法和語義的深入了解。 自回歸預訓練的關鍵步驟包括标記化、建立上下文視窗、遮蔽(對于像BERT這樣的遮蔽語言模型)、采用深度Transformer架構,以及使用最大似然估計(MLE)目标進行優化。一旦預訓練完成,LLMs可以通過在與目标任務相關的較小的标記資料集上訓練,對特定的下遊任務進行微調,比如問題回答或情感分析。 總的來說,自回歸預訓練在LLMs在各種自然語言處理應用中的出色表現中起到了關鍵的作用,使它們能夠在廣泛的任務中表現出色。

【專精】LLaMA: 生成資料增強優化領域問答“小”模型

2.高效微調

針對特定任務對大型語言模型(LLMs)進行微調帶來了計算和時間相關的挑戰。為了解決這些問題,研究人員開發了更高效的微調技術,如字首調整和低秩适應,作為傳統微調方法的替代方案。

• 字首調整(Prefix-tuning):字首調整涉及訓練一個更小的,任務特定的神經網絡,稱為“字首網絡”,來生成任務特定的輸入字首。這些字首在被輸入到LLM之前與原始輸入連接配接,無需修改預訓練的權重就能調整其行為。這種技術顯著減少了可訓練參數和資源消耗,實作了高效的多任務學習。

• 低秩适應(Low-rank adaptation,LORA):低秩适應将模型的權重矩陣通過低秩分解分解為兩個較小的矩陣,然後對其進行微調。這種方法在減少計算負擔的同時捕獲了關鍵資訊,保持了模型适應特定領域任務的能力,同時降低了計算需求。

通過減少可訓練參數的數量并利用分解技術,這些方法實作了更快的微調,更低的資源消耗和增強的多任務學習能力,同時保持了LLM适應特定領域任務的能力。

3.生成式資料增強

生成式資料增強是機器學習中一種重要的技術,用于擴充和多樣化訓練資料,最終增強模型的泛化能力。大型語言模型(LLMs),如GPT-3和4,是生成基于現有資料的真實文本樣本的強大工具,進而改善訓練資料集。

對于NLP任務,使用LLMs進行生成式資料增強可以涉及改寫文本,建立備選的問題-答案對,或生成新的句子或段落。生成輸入資料的多樣化表示使模型能夠學習表達相同基本概念的各種方式,增加了它們對現實世界資料變化的适應性。 然而,確定生成樣本的品質和相關性至關重要,因為低品質或不相關的資料可能會對性能産生負面影響。此外,控制生成樣本的多樣性也非常重要,以防止備援或過于相似的資料點。是以,使用LLMs在NLP中進行生成式資料增強對于提高模型的泛化能力和性能,同時解決資料品質、相關性和多樣性挑戰具有潛力。

實驗對比

使用PyTorch 1.12和Python 3.8進行實驗:配備有八個NVIDIA V100 GPU和Intel Xeon Gold 6248處理器。

研究字首調整和低秩适應對于改善BioGPT-Large、LLaMA-7b和Alpaca-7b在特定領域的醫學問題回答任務性能的有效性。 使用了帶标簽樣本的PubMedQA資料集,将其分為450個用于訓練,50個用于驗證,500個用于測試,與原始研究保持一緻。

評估的準确性和F1分數基于預測答案和真實答案之間的嚴格比對進行計算。對于字首調整,測試了32到256的虛拟令牌範圍,而對于低秩适應,将超參數alpha從32變化到256,秩固定為4。對于微調,使用了學習率為5e-5的AdamW優化器,線性熱身排程器,梯度累積為32步,以及批大小為1024個令牌。

這些設定與BioGPT-Large的原始微調配置一緻。 在微調模型的推理過程中,采用了幾種技術來提高生成輸出的品質和多樣性。

首先,使用了懲罰因子為2.0的重複懲罰Logits處理器。這種技術在生成的文本中阻止重複的單詞,促進更大的多樣性,避免單調的響應。 此外,應用了溫度值為0.8的溫度Logits Warper。這種扭曲技術使我們能夠控制生成輸出的随機性。使用較低的溫度值,模型會生成更專注和确定性的結果,減少生成意外或不相關響應的可能性。

為了考慮多個候選序列和探索不同的可能性,使用了束搜尋解碼和束大小為5。通過在解碼過程中保持前5個最可能的序列,這種技術有助于生成連貫和上下文适當的響應。 為了全面評估,将微調模型的結果與GPT3.5-Turbo的結果進行了比較。需要注意的是,GPT3.5-Turbo作為一個大型語言模型,沒有特定領域的知識,本身并不支援束搜尋解碼或重複懲罰技術。是以,這些技術在微調模型中的包含,使其在生成更多樣化和較少重複的響應方面具有優勢,與GPT3.5-Turbo相比,增強了其在特定領域的性能。

結果

1.字首調整和低秩适應

比較了Low-rank adaptation和Prefix Tuning兩種技術在BioGPT-Large中的性能。結果如圖所示。的測試中有一個關于這些技術對超參數選擇敏感性的有趣發現。

【專精】LLaMA: 生成資料增強優化領域問答“小”模型

具體來說,在分析alpha超參數在32到256範圍内變化對Low-rank适應影響時,性能相對穩定。alpha值的變化并未顯著影響結果。另一方面,當我們在同一範圍内改變Prefix Tuning的虛拟令牌範圍時,我們注意到性能結果有明顯的變化。與Low-rank适應相比,虛拟令牌範圍的選擇對結果有更大的影響。這一觀察表明,Low-rank适應比Prefix Tuning更穩健,對超參數選擇的敏感性較低。這表明,Low-rank适應在不同的超參數值下提供了更一緻和可靠的性能,對于高效微調非常有用。

【專精】LLaMA: 生成資料增強優化領域問答“小”模型

2.指令調整限制了語言模型的領域适應性

源自LLaMA-7b的Alpaca-7b是一個進行了指令調整的大型語言模型(LLM),該模型增強了其遵循指令并有效響應特定任務的能力。然而,與原始預訓練模型相比,這種方法限制了其對領域特定任務的适應性。實驗顯示,相比BioGPT-Large,LLaMA-7b展示出了更優秀的泛化能力,準确性和F1分數之間的差距更小。這個觀察表明,對領域特定資料集進行預訓練可能并不是必要的,因為經過微調的模型可以達到滿意的性能。此外,盡管LLaMA-7b的大小約為BioGPT-Large的4.3倍,但它仍然與單個V100 GPU相容,這可能有助于其優異的性能。

3. 最佳的生成式資料增強方法是什麼?

【專精】LLaMA: 生成資料增強優化領域問答“小”模型

實驗證明了利用大型語言模型(LLM),如ChatGPT,精煉和擴充問題-答案對以增強領域特定的QA資料集的效力,即使在LLM在生成答案時表現出近乎随機的性能(例如gpt-3.5-turbo的情況)。這些替代的問題和答案的表述有助于建構更多樣化和穩健的适用于小型語言模型(SLM)的訓練資料集。

然而,讓一個缺乏領域知識的LLM生成完全新的問題-答案對,并沒有帶來改善,反而導緻了微調後的SLM在下遊任務性能上的下降。這個觀察表明,盡管LLM在精煉和多樣化現有的問題-答案對方面非常有效,但它們建立新的、高品質的領域特定任務對的能力仍然有限。

另一方面,如GPT-4等LLM的最新進展,具有領域特定的知識和對PubMedQA的問題-答案能力,可以生成有用的新訓練資料。通過将這些資料納入訓練過程,我們可以顯著提高微調模型的性能。這些發現突顯了具有領域特定知識的LLM在增強領域特定QA資料集和提高下遊任務性能方面的重要性。

不出所料,當BioGPT在擴增的資料集上進行微調時,其性能超過了LLaMA-7B。凸顯了使用領域特定資料預訓練的有效性,使得BioGPT能更好地了解并在領域特定任務中表現出色。在微調過程中利用領域特定知識可以提高模型的準确性和上下文相關性,進而在領域特定問題或任務中取得更優的表現。

本文源于:Dr. LLaMA: Improving Small Language Models in Domain-Specific QA via Generative Data Augmentation

繼續閱讀