而在實際探索的過程中,實踐者可能會苦於尋找適合自己應用的 AI 模型:是選擇 LLM 還是微調模型?如果用 LLM,又該選擇哪一種?
近日,來自亞馬遜、德州農工大學、萊斯大學等機構的學者對ChatGPT 等語言模型的發展歷程進行了一番討論,其文章也得到了Yann LeCun 的轉推。
論文:https://arxiv.org/abs/2304.13712
#相關資源:https://github.com/Mooler0410/LLMsPracticalGuide
本文將從實際應用角度出發,探討適用LLM 的任務以及在選擇模型時需要考慮的模型、資料和任務等方面實際問題。
近年來,發展迅速的大型語言模型(LLM)已然引發了自然語言處理(NLP)領域的革命。這些模型非常強大,有望解決許多不同種類的 NLP 任務 —— 從自然語言理解(NLU)到生成任務,甚至鋪就了通往通用人工智慧(AGI)之路。但是,為了有效且有效率地利用這些模型,我們需要立足實際地理解它們的能力和限制,還要理解 NLP 所涉及的數據和任務。
這篇論文聚焦於在下游 NLP 任務中實際應用 LLM 的各個方面,以給實踐者和最終用戶提供指引。本指南的目標是為讀者提供實際有用的建議,以助其了解是否應該為給定任務選用LLM 以及如何選擇最適用的LLM—— 這其中需要考慮諸多因素,例如模型大小、計算需求、具體領域是否已有預訓練模型等。本文也會從實際應用角度介紹和解釋 LLM,這些實用知識能助力實踐者和最終用戶成功利用 LLM 的力量來解決他們自己的 NLP 任務。
本文的架構為:本文首先會簡單介紹 LLM,其中主要討論最重要的 GPT 式和 BERT 式架構。接著會深入介紹資料方面影響模型表現表現的關鍵因素,包括預訓練資料、訓練資料 / 調優資料、測試資料。在最後也是最重要的部分,本文會深入各種具體的NLP 任務,介紹LLM 是否適用於知識密集型任務、傳統NLU 任務和生成任務,此外還會描述這些模型不斷獲得的新能力以及具有挑戰性的現實世界應用場景。我們會提供詳細的案例,以彰顯 LLM 在實務上有用且有限制的地方。
為了分析大型語言模型的能力,本文會將它們與微調模型(fine-tuned model)進行比較。對於 LLM 和微調模型的定義,目前而言我們還沒有一個廣受認可的標準。為了實際有效地區分,本文給出的定義如下:LLM 是指在大規模資料集上預先訓練得到的大型語言模型並且沒有針對具體任務調整資料;微調模型則通常更小一些,它們在經過預訓練後來還會在更小的具體任務資料集上做進一步微調,以優化它們在該任務上的表現。
本文總結了在下列方面使用 LLM 的實用指南:
圖1 :這幅現代LLM 的進化樹追溯了近些年語言模型的發展歷程,其中重點凸顯了某些最知名的模型。同一分支上的模型關係較近。基於 Transformer 的模型都不用灰色表示:僅解碼器模型是藍色分支,僅編碼器模型是粉紅色分支,編碼器 - 解碼器模型是綠色分支。模型在時間軸的垂直位置表示其發佈時間。實心方塊表示開源模型,空心方塊則是封閉源模型。右下角的堆積長條圖是指各家公司和機構的模型數量。
這一節會簡單介紹目前表現最佳的 LLM。這些模型有著各不相同的訓練策略、模型架構和用例。為了更清晰地理解 LLM 的整體圖景,我們可將其分為兩大類:編碼器 - 解碼器或僅編碼器(encoder-only)語言模型和僅解碼器(decoder-only)語言模型。圖 1 詳細展示了語言模型的演化過程。基於這幅演化樹,我們可以觀察到一些有趣的結論:
a)僅解碼器模型正逐漸成為 LLM 發展的主導模型。在 LLM 的早期發展階段,僅解碼器模型的流行程度趕不上僅編碼器和編碼器 - 解碼器模型。但在 2021 年後,GPT-3 的出現改變了產業圖景,僅解碼器模型經歷了爆發的發展。同時,BERT 也為僅編碼器模型帶來了初始的爆發式增長,但在那之後,僅編碼器模型漸漸淡出了視野。
b)OpenAI 持續保持在 LLM 方向上的領先地位,現在如此,未來很可能也是如此。為了開發可與 GPT-3 和 GPT-4 媲美的模型,其它公司和機構正在奮力追趕。 OpenAI 的領先地位可能需要歸功於其在技術上持續不懈的投入,即便該技術在早期時並未得到廣泛認可。
c)Meta 在開源 LLM 和推動 LLM 研究方面貢獻卓越。在對開源社群(尤其是與 LLM 相關的)的貢獻方面,Meta 尤其突出,是最慷慨的商業公司之一,因為 Meta 開源了其開發的所有 LLM。
d)LLM 開發有閉源的趨勢。在 LLM 發展的早期階段(2020 年之前),絕大部分的模型都是開源。但是,隨著 GPT-3 的推出,公司越來越傾向於選擇閉源他們的模型,例如 PaLM、LaMDA 和 GPT-4。也因此,學術研究者越來越難以進行 LLM 訓練實驗。這就導致了一個結果:基於 API 的研究可能會成為學術界的主導方法。
e)編碼器 - 解碼器模型依然有發展前景,因為公司和機構依然在積極探索這類架構,並且大部分模型都是開源的。谷歌在開源編碼器 - 解碼器方面有重大貢獻。但是,由於僅解碼器模型的靈活性和通用性,谷歌在這個方向上堅持成功的希望似乎更小一些。
表 1 簡要地總結了各種代表性 LLM 的特徵。
表1:大型語言模型的特性
#2.1 BERT 式語言模型:編碼器- 解碼器或僅編碼器
由於自然語言資料很容易取得,而且還能使用無監督訓練範式來更好地利用超大規模資料集,因此最近一段時間,自然語言無監督學習的發展獲得了長足的進步。一種常用方法是基於上下文來預測句子中被遮掩的字。這種訓練範式稱為掩碼語言模型(Masked Language Model)。這種訓練方式讓模型能更深刻地理解詞與其上下文之間的關係。這些模型是在大型文字語料上訓練的,使用了 Transformer 架構等技術,並且在許多 NLP 任務上達到最佳表現,例如情緒分析和命名實體識別。著名的遮罩語言模型有 BERT、RoBERTa 和 T5。由於其在多種任務上的成功表現,掩碼語言模型已成為自然語言處理領域的重要工具。
2.2 GPT 式語言模型:僅解碼器
儘管語言模型的架構通常與特定任務無關,但這些方法需要基於具體下游任務的資料集進行微調。研究者發現擴增語言模式的規模就能顯著提升其在少樣本或零樣本時的表現。在提升少樣本和零樣本時的表現方面,最成功的模型是自回歸語言模型,它的訓練方式是根據給定序列中前面的單字來產生下一個單字。這些模型已被廣泛用於文本生成和問答等下游任務。自回歸語言模型包括 GPT-3、OPT、PaLM 和 BLOOM。變革性的 GPT-3 首次顯示透過提示和情境學習能在少 / 零樣本時給出合理結果,並由此展現了自回歸語言模型的優越性。
另外還有針對特定任務最佳化的模型,例如用於程式碼產生的 CodeX 以及用於金融領域的 BloombergGPT。近期的重大突破是 ChatGPT,該模型是針對對話任務優化的 GPT-3,其能為多種現實世界應用產生更具互動性、更連貫且更貼合情境的對話。
本節將介紹在為下游任務選擇合適模型時資料的關鍵性作用。資料對模型有效性的影響從預訓練階段就開始了,並且會持續到訓練和推理階段。
重點1
(1)當下游任務會用到分佈之外的資料時,例如使用對抗樣本或資料域變化時,LLM 的泛化能力優於微調模型。
(2)當已標註資料有限時,LLM 優於微調模型;當有豐富的已標註資料時,兩者都是合理選擇,這取決於特定的任務需求。
(3)建議選擇預訓練使用的資料域與下游任務資料域相似的模型。
本節將詳細討論 LLM 在多種下游 NLP 任務上是否有用以及對應的模型能力。圖 2 是將所有討論總結成的一張決策流程圖。當面對某個任務時,可基於此流程進行快速決策。
#圖 2:使用者為 NLP 應用程式選擇 LLM 或微調模型時的決策流程。這張決策流程圖可協助使用者評估手邊的下游 NLP 任務是否符合特定條件,並且還能基於評估結果來確定他們的應用最適合選擇 LLM 還是微調模型。在圖中的決策流程中,Y 表示符合條件,N 表示不符合條件。最後一個條件的 Y 旁的黃色圓圈表示目前還沒有很適合這類應用的模型。
4.1 傳統的NLU 任務
傳統NLU 任務是NLP 領域中一些基本任務,包括文字分類、命名實體辨識(NER)、蘊含預測(entailment prediction)等。這些任務中的許多都可用作更大型 AI 系統的中間步驟,例如將 NER 用於知識圖譜建構。
不適用LLM:對於大多數自然語言理解任務,例如GLUE 和SuperGLUE 中的任務,如果該任務已有豐富的標註良好的數據並且測試集中僅有非常少的數據在分佈之外,那麼微調模型的表現依然更好。當任務與資料集各不相同時,小型微調模型和 LLM 之間的差距也會不同。
適用 LLM:但是,也有些 NLU 任務比較適合用 LLM 處理。其中兩項代表性任務是繁雜文本的分類問題和對抗式自然語言推理。
重點2
對傳統自然語言理解任務而言,微調模型通常是比LLM 更好的選擇,但如果該任務需要強大的泛化能力,那麼LLM 可提供協助。
4.2 生成任務
#自然語言產生的目標是創造連貫的、有意義的且符合上下文的符號序列,其大致上包含兩大類任務。第一類任務關注的重心是將輸入文字轉換成新的符號序列,例子包括段落摘要和機器翻譯。第二類任務則是「開放式生成」,目標是從頭開始產生文字或符號,使其準確地符合輸入的描述,例如編寫電子郵件、撰寫新文章、創造虛構故事、寫程式碼。
適用 LLM:產生任務需要模型全面理解輸入的內容或需求並且還需要一定程度的創造力。這正是 LLM 擅長的。
不適用 LLM:在大多數有豐富資源的翻譯任務和資源很少的翻譯任務上,微調模型的表現更佳,例如 DeltaLM Zcode。對於有豐富資源的機器翻譯,微調模型稍微優於 LLM。對於資源極少的機器翻譯,例如英語 - 哈薩克語翻譯,微調模型顯著優於 LLM。
重點 3
得益於強大的生成能力和創造力,LLM 在大多數生成任務上都有優勢。
4.3 知識密集型任務
#知識密集型NLP 任務是指非常依賴背景知識、特定領域專業知識或一般性真實世界知識的任務類別。這些任務需要的不僅僅是模式識別或句法分析。它們高度依賴記憶和適當利用知識,這些知識關聯著我們的真實世界的特定實體、事件和常識。
適用 LLM:一般來說,如果有數以十億計的訓練 token 和參數,LLM 所包含的真實世界知識量可遠遠超越微調模型。
不適用 LLM:某些其它任務所需的知識不同於 LLM 學習到的知識。所需的知識不是 LLM 學習到的關於真實世界的知識。在這樣的任務中,LLM 沒有明顯優勢。
重點 4
(1)得益於龐大的真實世界知識,LLM 擅長處理知識密集型任務。 (2)當知識需求與所學知識不符時,LLM 會遇到困難;或當任務只需要上下文的知識時,微調模型可以達到與 LLM 同等的表現。
4.4 在擴展規模方面的能力
#擴展LLM 的規模(例如參數、訓練計算等)可以極大助力預訓練語言模式。透過擴大模型規模,模型處理多種任務的能力通常能提升。反映到某些指標上,模型的表現表現與模型規模呈現冪律關係。舉個例子,用於度量語言建模表現的交叉熵損失會隨模型規模的指數級增長而線性下降,這也被稱為「標度律(scaling-law)」。對於推理等某些關鍵能力,擴大模型規模就能逐漸將這些能力從非常低的水平提升到一個可使用的水平,甚至可接近人類水平。本小節將從規模對 LLM 的能力和行為的影響方面介紹 LLM 的使用。
推理方面的 LLM 用例:推理涉及理解資訊、進行推論和做出決定,是人類智力的一大核心能力。對 NLP 而言,推理卻極具挑戰性。現有的許多推理任務可以分為常識推理和算術推理兩類。模型增大能極大提升 LLM 的算術推理能力。常識推理不僅需要 LLM 記住事實性知識,還需要 LLM 執行一些有關事實的推理步驟。常識推理能力會隨著模型大小的成長而逐漸提升。相較於微調模型,LLM 在大多數資料集上都表現更優。
湧現能力方面的 LLM 用例:擴增模型規模還能賦予模型一些超越冪律規則的前所未有的奇妙能力。這些能力稱為「湧現能力(emergent ability)」。正如論文《Emergent Abilities of Large Language Models》中所定義的:LLM 的湧現能力是指小規模模型不具備但出現在大規模模型中的能力。 (有關該論文的更多解讀可參閱《Jeff Dean 等人新作:換個角度審視語言模型,規模不夠發現不了》)這意味著我們無法基於小規模模型的性能提升而推斷預測出這種能力;而在某些任務上,模型的規模一旦超過一定程度,就可能突然獲得優異表現。湧現能力通常不可預測且出乎意料,這可能導致模型有能力處理隨機出現或意料之外的任務。
不適用 LLM 以及理解湧現:儘管大多數情況下,模型更大,表現也更優,但也依然存在例外情況。
在某些任務上,隨著 LLM 規模的提升,模型表現會開始下降。這也被稱為反標度現象(Inverse Scaling Phenomenon)。此外研究者也觀察到另一個有關規模的有趣現象,即 U 型現象(U-shaped Phenomenon)。顧名思義,該現像是指隨著 LLM 模型增大,其在特定任務上的表現一開始會提升,然後會開始下降,之後又會再次提升。
為了推進該領域的研究,我們必須更深入地理解湧現能力、反標度現象和 U 型現象。
重點 5
(1)隨著模型規模的指數級增長,LLM 的算術推理和常識推理能力也會上升。 (2)隨著 LLM 規模的擴增,湧現能力能機緣巧合地發現新用途,例如字詞處理能力和邏輯能力。 (3)模型的能力並不總是會隨規模提升,而且我們對大型語言模型的能力與規模的關係的理解還很有限。
4.5 雜項任務
#為了更好地理解LLM 的優勢和短板,下面會談談上面沒有涉及到的其它任務。
不適用 LLM:如果模型目標與訓練資料有差異,那麼 LLM 在這些任務上通常會遇到困難。
適用 LLM:LLM 尤其適用於某些特定任務。舉些例子,LLM 非常擅於模仿人類、LLM 還可用於評估摘要和翻譯等某些 NLG 任務的品質、LLM 的某些能力還能帶來性能提升之外的其它好處,如可解釋性。
重點6
(1)對於遠離LLM 的預訓練目標和資料的任務而言,微調模型和特定領域模型仍有一席之地。 (2)LLM 擅於模仿人類、資料標註和生成。它們也可用於 NLP 任務的品質評估,並且具有可解釋性等好處。
4.6 真實世界「任務」
#本小節最後討論LLM 和微調模型在真實世界「任務”上的應用。這裡所用的「任務」一詞並不嚴謹,因為不同於學術場景,真實世界場景通常缺乏形式優良的定義。對模型的許多需求甚至不能被視為 NLP 任務。模型面臨的真實世界挑戰來自以下三個面向:
本質上講,這些來自使用者請求的真實世界難題是因為偏離了針對特定任務設計的任何 NLP 資料集的分佈。公共 NLP 資料集並不能反映這些模型的使用方式。
重點 7
比起微調模型,LLM 更適合用來處理真實世界場景。但是,評估模型在真實世界中的有效性仍然是一個懸而未決的問題。
儘管 LLM 適用於多種下游任務,但也有其它一些因素需要考慮,例如效率和可信度。效率方面涉及的問題包括 LLM 的訓練成本、推理延遲度以及高效利用參數的調優策略。在可信度方面則需要考慮 LLM 的穩健性和校準能力、公平性和偏見、潛在的錯誤相關性以及安全性難題。重點 8(1)如果任務對成本敏感或有嚴格延遲要求,那麼應該優先考慮輕量的本地微調模型。在部署和交付模型時,可考慮進行調優以有效利用參數。 (2)LLM 的零樣本方法能防止其從特定任務的資料集中學習捷徑,而這種情況對微調模型來說卻很常見。儘管如此,LLM 仍會表現出一定的捷徑學習問題。 (3)由於 LLM 潛在的有害或有偏見輸出以及幻覺(hallucination)問題可能導致嚴重後果,因此與 LLM 相關的安全問題應得到最大重視。人類回饋等方法有望緩解這些問題。
當然,LLM 還有一些有待解決的挑戰:
以上是大語言模型的演化樹,這是一份超詳細ChatGPT「食用」指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!