自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

定制你的AI助手:大型語言模型適配方法詳解

發(fā)布于 2024-9-10 11:19
瀏覽
0收藏

定制你的AI助手:大型語言模型適配方法詳解-AI.x社區(qū)

這是一個由三部分組成的系列博客文章中的第一篇,主題是關于如何適配開源大型語言模型(LLMs)。在這篇文章中,我們將探討適配LLMs到特定領域數(shù)據(jù)的各種方法。

  • 在第2部分,我們將討論如何確定微調是否適合你的使用場景。
  • 在第3部分,我們將探討一些整理優(yōu)質訓練數(shù)據(jù)集的經(jīng)驗法則。

引言

大型語言模型(LLMs)在大量語言任務和自然語言處理(NLP)基準測試中展現(xiàn)出了卓越的能力?;谶@些"通用"模型的產(chǎn)品應用正在興起。在這篇博客文章中,我們將為希望適配和整合LLMs到自己項目中的小型AI產(chǎn)品團隊提供指導。讓我們首先澄清LLMs相關的(常常令人困惑的)術語,然后簡要比較可用的不同適配方法,最后推薦一個step-by-step流程圖來為你的使用場景識別正確的方法。

LLM適配方法

預訓練

預訓練是使用數(shù)萬億數(shù)據(jù)token從頭開始訓練LLM的過程。模型使用自監(jiān)督算法進行訓練。最常見的是通過自回歸地預測下一個token來進行訓練(也稱為因果語言建模)。預訓練通常需要數(shù)千個GPU小時(10^5 – 10^7 [來源1, 來源2])分布在多個GPU上。預訓練輸出的模型被稱為基礎模型。

持續(xù)預訓練

持續(xù)預訓練(又稱二階段預訓練)涉及使用新的、未見過的領域數(shù)據(jù)進一步訓練基礎模型。使用與初始預訓練相同的自監(jiān)督算法。通常涉及所有模型權重,并將一部分原始數(shù)據(jù)與新數(shù)據(jù)混合。

微調

微調是使用帶注釋的數(shù)據(jù)集以監(jiān)督方式或使用基于強化學習的技術來適配預訓練語言模型的過程。與預訓練相比有兩個主要區(qū)別:

  1. 在帶注釋的數(shù)據(jù)集上進行監(jiān)督訓練——包含正確的標簽/答案/偏好——而不是自監(jiān)督訓練
  2. 需要更少的token(數(shù)千或數(shù)百萬,而不是預訓練所需的數(shù)十億或數(shù)萬億),其主要目的是增強指令跟隨、人類對齊、任務表現(xiàn)等能力

理解當前微調領域有兩個維度:改變的參數(shù)百分比和微調結果增加的新能力。

改變的參數(shù)百分比

根據(jù)改變的參數(shù)數(shù)量,有兩類算法:

  1. 全量微調:顧名思義,這包括改變模型的所有參數(shù),包括在較小模型(如XLMR和BERT,1億-3億參數(shù))上進行的傳統(tǒng)微調,以及在大型模型(如Llama 2、GPT3,10億+參數(shù))上進行的微調等。
  2. 參數(shù)高效微調(PEFT):不同于微調所有LLM權重,PEFT算法只微調少量額外參數(shù)或更新預訓練參數(shù)的一個子集,通常是總參數(shù)的1-6%。

為基礎模型增加的能力

進行微調的目的是為預訓練模型增加能力——例如:指令跟隨、人類對齊等。經(jīng)過聊天微調的Llama 2是一個微調模型的例子,增加了指令跟隨和對齊能力。

檢索增強生成(RAG)

企業(yè)也可以通過添加特定領域的知識庫來適配LLMs。RAG本質上是"搜索驅動的LLM文本生成"。RAG于2020年被引入,它使用基于用戶問題檢索到的動態(tài)提示上下文,并將其注入到LLM提示中,以引導模型使用檢索到的內容,而不是其預訓練的——可能已過時的——知識。Chat LangChain是一個由RAG驅動的流行的LangChain文檔問答聊天機器人。

上下文學習(ICL)

通過ICL,我們通過在提示中放置原型示例來適配LLM。多項研究表明"通過示例演示"是有效的。這些示例可以包含不同類型的信息:

  • 僅輸入和輸出文本——即少樣本學習
  • 推理痕跡:添加中間推理步驟;參見思維鏈(CoT)提示
  • 計劃和反思痕跡:添加教導LLM進行計劃和反思其問題解決策略的信息;參見ReACT

還存在多種其他修改提示的策略,Prompt Engineering Guide包含了全面的概述。

選擇正確的適配方法

定制你的AI助手:大型語言模型適配方法詳解-AI.x社區(qū)

為了決定哪些上述方法適合特定應用,你應該考慮各種因素:所追求任務所需的模型能力、訓練成本、推理成本、數(shù)據(jù)集類型等。下面的流程圖總結了我們的建議,以幫助你選擇正確的LLM適配方法。

? 預訓練

預訓練是LLM訓練的重要部分,使用token預測變體作為損失函數(shù)。其自監(jiān)督性質允許在大量數(shù)據(jù)上進行訓練。例如,Llama 2在2萬億個token上進行了訓練。這需要大規(guī)模的計算基礎設施:Llama 2 70B花費了1,720,320 GPU小時。因此,對于資源有限的團隊,我們不建議將預訓練作為LLM適配的可行方法。

由于預訓練在計算上是禁止的,更新已經(jīng)預訓練的模型權重可能是適配LLM以完成特定任務的有效方法。任何更新預訓練模型權重的方法都容易遭受災難性遺忘現(xiàn)象,這是一個術語,指模型忘記先前學習的技能和知識。例如,這項研究顯示了一個在醫(yī)療領域微調的模型在指令遵循和常見QA任務方面的性能如何下降。其他研究也表明,通過預訓練獲得的一般知識可能在后續(xù)訓練中被遺忘。例如,這項研究從領域知識、推理和閱讀理解的角度提供了一些LLMs知識遺忘的證據(jù)。

? 持續(xù)預訓練

考慮到災難性遺忘,最近的發(fā)展表明,持續(xù)預訓練(CPT)可以以預訓練所需計算成本的一小部分進一步提高性能。對于需要LLM獲得新轉換技能的任務,CPT可能是有益的。例如,據(jù)報道,持續(xù)預訓練在添加多語言能力方面取得了成功。

但CPT仍然是一個昂貴的過程,需要大量的數(shù)據(jù)和計算資源。例如,Pythia套件經(jīng)歷了第二階段的預訓練,結果創(chuàng)建了FinPythia-6.9B。這個專門為金融數(shù)據(jù)設計的模型進行了18天的CPT,使用了一個包含240億個token的數(shù)據(jù)集。此外,CPT也容易發(fā)生災難性遺忘。因此,對于資源有限的團隊,我們不建議將持續(xù)預訓練作為LLM適配的可行方法。

總之,使用自監(jiān)督算法和未注釋數(shù)據(jù)集來適配LLM(如在預訓練和持續(xù)預訓練中所做的那樣)是資源和成本密集型的,不推薦作為可行的方法。

? 全量微調和參數(shù)高效微調(PEFT)

與使用未注釋數(shù)據(jù)集進行預訓練相比,使用小型注釋數(shù)據(jù)集進行微調是一種更具成本效益的方法。通過將預訓練模型適配到特定任務,微調模型已被證明在廣泛的應用和專業(yè)領域(如法律、醫(yī)療或金融)中達到最先進的結果。

微調,特別是參數(shù)高效微調(PEFT),只需要預訓練/持續(xù)預訓練所需計算資源的一小部分。因此,這對于資源有限的團隊來說是一種可行的LLM適配方法。在本系列的第3部分,我們深入探討微調細節(jié),包括全量微調、PEFT,以及如何進行微調的實用指南。

? 檢索增強生成(RAG)

RAG是另一種流行的LLM適配方法。如果你的應用需要從動態(tài)知識庫中提取信息(例如QA機器人),RAG可能是一個很好的解決方案。RAG系統(tǒng)的復雜性主要在于檢索引擎的實現(xiàn)。這種系統(tǒng)的推理成本可能更高,因為提示包括檢索到的文檔,而且大多數(shù)提供商使用按token計費的模型。在本系列的第2部分,我們更廣泛地討論RAG,并與微調進行比較。

? 上下文學習(ICL)

這是適配LLMs最具成本效益的方式。ICL不需要任何額外的訓練數(shù)據(jù)或計算資源,使其成為一種成本效益高的方法。然而,與RAG類似,由于在推理時處理更多的token,推理的成本和延遲可能會增加。

總結

創(chuàng)建基于LLM的系統(tǒng)是一個迭代過程。我們建議從簡單的方法開始,逐步增加復雜性,直到達成目標。上面的流程圖概述了這個迭代過程,為你的LLM適配策略提供了堅實的基礎。

本文轉載自??芝士AI吃魚??,作者: 愛滑冰的咸魚 ????

收藏
回復
舉報
回復
相關推薦