成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Meta祭出三篇最詳盡Llama微調(diào)指南!千字長文,0基礎小白必備

人工智能 新聞
微調(diào)是大模型開發(fā)中的一個關鍵方面,需要在藝術和科學之間取得微妙的平衡。

開源,就要開的徹徹底底。

這不,Meta一連放出三篇技術文章,從大模型適配方法出發(fā),介紹了:

如何使用特定領域數(shù)據(jù)微調(diào)LLM,如何確定微調(diào)適配自己的用例,以及如何管理良好訓練數(shù)據(jù)集的經(jīng)驗法則。

圖片

接下來,直接進入正題。

適配大模型

預訓練

預訓練是指,使用數(shù)萬億個token數(shù)據(jù),從頭開始訓練LLM的過程,通常使用自監(jiān)督算法進行訓練。

最常見的情況是,訓練通過自回歸預測下一個token(也稱為因果語言建模)。

預訓練通常需要數(shù)千個GPU小時(105-107個),并分布在多個GPU上進行。

預訓練的輸出模型稱為「基礎模型」。

繼續(xù)預訓練

繼續(xù)預訓練(也稱為第二階段預訓練)將使用全新的、未見過的領域數(shù)據(jù)進一步訓練基礎模型。

這里,同樣使用與初始預訓練相同的自監(jiān)督算法。

通常會涉及所有模型權重,并將一部分原始數(shù)據(jù)與新數(shù)據(jù)混合。

微調(diào)

微調(diào)是以監(jiān)督方式使用帶注釋的數(shù)據(jù),或使用基于強化學習的技術,來適配預訓練語言模型的過程。

與預訓練相比,微調(diào)有兩個主要區(qū)別:

- 在包含正確標簽/答案/偏好的注釋數(shù)據(jù)集上進行監(jiān)督訓練,而不是自監(jiān)督訓練

- 需要較少的token(數(shù)千或數(shù)百萬,而不是預訓練中需要的數(shù)十億或數(shù)萬億),其主要目的是提高能力,如指令遵循、人類對齊、任務執(zhí)行等。

而要了解微調(diào)的現(xiàn)狀,可以從兩個方面入手:參數(shù)變化的百分比和微調(diào)后新增的能力。

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

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

- 全面微調(diào):顧名思義,這包括更改模型的所有參數(shù),包括在XLMR和BERT(100-300M參數(shù))等小模型上所做的傳統(tǒng)微調(diào),以及對Llama 2、GPT3(1B+參數(shù))等大模型上的微調(diào)。

- 參數(shù)高效微調(diào)(PEFT):PEFT算法只微調(diào)少量額外參數(shù),或更新預訓練參數(shù)的子集,通常是總參數(shù)的1%-6%,而不是對所有LLM權重進行離線微調(diào)。

基礎模型新增的能力

微調(diào)的目的是為了向預訓練的模型添加功能,比如指令遵循、人類對齊等。

聊天微調(diào)Llama 2,就是一個具有附加指令遵循和對齊能力的微調(diào)模型的例子。

檢索增強生成(RAG)

企業(yè)還可以通過添加特定領域的知識庫來適配LLM,RAG是典型的「搜索驅(qū)動的LLM文本生成」。

RAG于2020年推出,它使用動態(tài)提示上下文,通過用戶問題檢索并注入LLM提示,以引導其使用檢索到的內(nèi)容,而不是預訓練的知識。

Chat LangChain是由RAG支持的、在Lang Chain文檔上流行的Q/A聊天機器人。

圖片

上下文學習(ICL)

對于ICL,通過在提示符中放置原型示例來適配LLM。多項研究表明,「舉一反三」是有效的。這些示例可以包含不同類型的信息:

- 僅輸入和輸出文本,也就是少樣本學習

- 推理追蹤:添加中間推理步驟,可參閱思維鏈(COT)提示

- 計劃和反思追蹤:添加信息,教LLM計劃和反思其解決問題的策略,可參閱ReACT

選擇正確的適配方法

要決定上述哪種方法適合特定應用,你應該考慮各種因素:所追求任務所需的模型能力、訓練成本、推理成本、數(shù)據(jù)集類型等。

下面的流程圖總結(jié)了一些建議,可以幫助你選擇合適的LLM適配方法。

圖片

? 預訓練

預訓練是LLM訓練的重要組成部分,它使用token預測變量作為損失函數(shù)。自監(jiān)督算法,使得大量數(shù)據(jù)訓練成為可能。

例如,Llama 2接受了2萬億token的訓練。這需要大量的計算基礎設施:Llama 2 70B需要1,720,320個GPU小時。

因此,對于資源有限的團隊,Meta不建議將預訓練作為LLM適配的可行方法。

在預訓練計算成本很高的情況下,更新預預訓練好的模型權重,可能是一種有效的方法,來適配特定任務。

不過,任何更新預訓練模型權重的方法,都容易出現(xiàn)一種「災難性遺忘」的現(xiàn)象。

比如,此前一項研究顯示,在醫(yī)療領域微調(diào)訓練后的模型,在遵循指令和常見問答任務上的性能出現(xiàn)下降。

圖片

論文地址:https://arxiv.org/pdf/2009.03300

還有很多研究可以佐證,通過預訓練獲得的通用知識,在后續(xù)訓練過程中可能會被遺忘。

? 繼續(xù)預訓練

鑒于災難性的遺忘,最近的研究表明,繼續(xù)預訓練(CPT)可以導致模型性能的進一步提高,而計算成本只是預訓練的一小部分。

對于需要LLM獲得新的轉(zhuǎn)換技能的任務,CPT可能是有益的。

有研究報告顯示,繼續(xù)預訓練成功地增加了多種語言能力。

但CPT成本極高,需要大量的數(shù)據(jù)和計算資源。

比如,PYTHIA套件經(jīng)歷了第二階段的預訓練,最終得到了FinPYTHIA-6.9B。該模型專為金融數(shù)據(jù)設計的,使用240億token的數(shù)據(jù)集,進行了18天的繼續(xù)預訓練。

此外,CPT也容易導致災難性的遺忘。

因此,對于資源有限的團隊,Meta同樣不建議將繼續(xù)預訓練訓作為LLM適配的可行方法。

總而言之,在預訓練和持續(xù)預訓練中,使用自監(jiān)督算法和未加注釋的數(shù)據(jù)集,微調(diào)LLM是資源和成本密集型的,不建議將其作為一種可行的辦法。

? 全參微調(diào)和參數(shù)高效微調(diào)(PEFT)

與使用未注釋的數(shù)據(jù)集進行預訓相比,使用較小的帶注釋的數(shù)據(jù)集進行微調(diào),是一種更具成本效益的方法。

而且,微調(diào)后模型被證明在法律、醫(yī)療或金融等專業(yè)領域的廣泛的應用中,實現(xiàn)了SOTA。

微調(diào),特別是參數(shù)高效微調(diào),只需要預訓練/繼續(xù)預訓練所需計算資源的一小部分。

因此,對于資源有限的團隊來說,這是一個可行的方法來適配LLM。

? 檢索增強生成(RAG)

RAG是另一種流行的LLM適配方法。

如果你的應用程序需要從動態(tài)知識庫(例如QA機器人)中提取,RAG可能是一個很好的解決方案。

RAG的系統(tǒng)的復雜性,主要在于檢索引擎的實現(xiàn)。

這種系統(tǒng)的推理成本可能會更高,因為輸入提示包含了檢索到的文檔,而大多數(shù)服務提供商采用按token計費的模式。

? 上下文學習(ICL)

這是適配LLM最具成本效益的方式。

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

總之,創(chuàng)建一個基于LLM的系統(tǒng)是迭代的,上面的流程圖概述了這一迭代過程,并為LLM適配戰(zhàn)略奠定了堅實的基礎。

微調(diào)還是不微調(diào)?

在第二部分中,Meta又談了談什么情況下,需要微調(diào)。

圖片

在大模型興起之前,微調(diào)通常用于參數(shù)比較少的模型(100M – 300M)。

而且,最先進領域應用程序,也是使用監(jiān)督微調(diào)(SFT)構(gòu)建的,即使用自己專業(yè)領域和下有任務的注釋數(shù)據(jù),進一步訓練預訓練的模型。

然而,隨著更大參數(shù)模型的出現(xiàn)(>1B),微調(diào)的問題變得微妙了起來。

最重要的是,大模型需要更大的資源和商業(yè)硬件來進行微調(diào)。

下表1列出了三種情況下,微調(diào)Llama 2 7B和Llama 2 13B模型的峰值GPU內(nèi)存使用量。

你可能會注意到,QLoRA等算法使得利用有限資源,對大模型進行微調(diào)變得更加容易。

例如,表1顯示了Llama 2 7B上三種微調(diào)模式(全面微調(diào)、LORA和QLoRA)的峰值GPU內(nèi)存。

在Llama 1中,由于參數(shù)高效微調(diào)(PEFT)或量化,內(nèi)存也有類似的減少。

除計算資源外,災難性遺忘(詳見本系列第一部分)也是全參數(shù)微調(diào)的常見隱患。

PEFT技術旨在通過對少量參數(shù)進行訓練來解決這些缺陷。

圖片

微調(diào)可能有益的原型

研究人員將以下場景確定為可從微調(diào)中受益的常見用例:

- 語氣、風格、形式定制:使用案例可能會尋求反映特定角色或服務特定受眾的LLM。

通過使用定制數(shù)據(jù)集對LLM進行微調(diào),可以塑造聊天機器人的響應,使其更符合受眾的特定需求或預期的體驗。

另外,研究者可能還希望它能以特定的方式組織輸出,例如,JSON、YAML或Markdown格式的輸出。

- 提高精度并處理邊緣情況:微調(diào)可以用于糾正幻覺或錯誤,這些錯誤很難通過prompt和上下文學習來糾正。

它還可以增強模型執(zhí)行新技能或任務的能力,這些技能或任務很難在提示中表達。

這個過程可以幫助糾正模型沒有遵循復雜提示的錯誤,并提高其產(chǎn)生所需輸出的可靠性。

以下是兩個案例:

- Phi-2對金融數(shù)據(jù)情緒分析準確率,從34%提高到85%。

- 僅用100個示例,ChatGPT對Reddit評論情緒分析的準確率從48%提高到73%。

通常來說,對于較小的初始精度(<50%),微調(diào)是一個巨大的障礙,需要用幾百個示例。

- 處理代表性不足的領域:盡管LLM接受了大量通用數(shù)據(jù)的訓練,但它們可能并不總是精通每一個特定領域的細微差別的行話、術語或具體情況。

對于不同的領域,如法律、醫(yī)療或金融,微調(diào)已被證明有助于提高下游任務的準確性。

以下是兩個案例:

- 正如本文中指出的,患者的病歷包含高度敏感的數(shù)據(jù),這些數(shù)據(jù)通常不會在公共領域中找到。因此,基于LLM的病歷摘要系統(tǒng)需要進行微調(diào)。

- 對于印地語等代表性較少的語言,使用PEFT進行微調(diào)有助于完成這些語言的所有任務。

- 降低成本:微調(diào)可以將較大參數(shù)模型(如Llama 2 70B/GPT-4)中的技能,提煉成小模型(如Llama 2 7B)中的技能,從而在不影響質(zhì)量的情況下降低成本和延遲。

此外,微調(diào)減少了對冗長或特定提示的需要,從而節(jié)省了象征性成本并進一步降低了成本。

- 新的任務/能力:通常,新的能力可以通過微調(diào)來實現(xiàn)。以下是三個案例:

1 微調(diào)LLM,以便更好地利用特定檢索器的上下文,或完全忽略它

2 微調(diào)LLM「法官」,以評估其他LLM的指標,如接地性、合規(guī)性或有用性

3 微調(diào)LLM以增加上下文窗口

與其他領域適配技術的比較

微調(diào)與上文學習(少樣本)

上下文學習(ICL)是提高基于LLM的系統(tǒng)性能的有效方法。

使用ICL時的常見注意事項包括:

- 隨著需要展示的示例數(shù)量的增加,推理的成本和延遲也會增加。

- 隨著例子越來越多,LLM忽略一些例子是很常見的。這意味著你可能需要一個基于RAG的系統(tǒng),根據(jù)輸入找到最相關的示例。

- LLM可以吐出提供給他們的知識作為例子。這一擔憂在微調(diào)時也存在。

微調(diào)和RAG

普遍的共識是,當LLM基本性能不盡如人意時,可以先從RAG開始,衡量其性能,如果發(fā)現(xiàn)不足,再轉(zhuǎn)向微調(diào)。

或者說,與微調(diào)相比,RAG可能更有優(yōu)勢。

然而,Meta認為這種范式過于簡單化,因為在多種情況下,RAG不僅不是微調(diào)的替代方案,而且更像是微調(diào)的補充方案。

根據(jù)問題的特點,應該嘗試一種方法,或者兩種方法。

根據(jù)本文的框架,你可以提出以下問題,以確定微調(diào)或 RAG(或兩者)是否適用:

- 你的應用程序需要外部知識嗎?微調(diào)通常對注入新知識沒什么幫助

- 你的應用程序是否需要自定義語氣/行為/詞匯或風格?對于這些類型的需求,微調(diào)通常是正確的方法。

- 你的應用程序?qū)糜X的容忍度如何?在抑制虛假和想象力編造至關重要的應用中,RAG系統(tǒng)提供內(nèi)置機制,最大限度地減少幻覺。

- 有多少已標記的訓練數(shù)據(jù)可用?

- 數(shù)據(jù)的靜態(tài)/動態(tài)程度如何?如果問題需要訪問動態(tài)數(shù)據(jù)語料庫,微調(diào)可能不是正確的方法,因為對LLM的知識可能很快就會過時。

- LLM應用程序需要有多透明/可解釋?RAG本身可以提供引用,這些引用對于解釋LLM輸出非常有用。

- 成本和復雜性:團隊是否擁有構(gòu)建搜索系統(tǒng)的專業(yè)知識或之前的微調(diào)經(jīng)驗?

- 您的應用程序中的任務種類有多少?

在大多數(shù)情況下,微調(diào)和RAG的混合解決方案,將產(chǎn)生最好的結(jié)果,問題就在于兩者的成本、時間和額外的獨立效益。

最后,微調(diào)中的探索,確實需要一個強大的數(shù)據(jù)收集和數(shù)據(jù)改進策略,Meta建議將其作為開始微調(diào)的前奏。

如何微調(diào)?

到了第三部分就步入真正關鍵的內(nèi)容——如何去微調(diào),先要關注數(shù)據(jù)集。

圖片

微調(diào)LLM可以說,是藝術和科學的結(jié)合,最佳做法仍在不斷涌現(xiàn)。

在這部分,Meta將重點介紹微調(diào)的設計變量,并就資源受限的情況下,微調(diào)模型的最佳實踐提供方向性指導。

全面微調(diào)與參數(shù)高效微調(diào)

在學術和實際應用中,當應用于新領域時,全面微調(diào)和PEFT都顯示出下游性能的提升。

選擇其中一種方法,可歸結(jié)為可用計算量(GPU小時數(shù)和GPU內(nèi)存)、目標下游任務以外的任務性能(學習和遺忘權衡)以及人工注釋成本。

全面微調(diào)更容易出現(xiàn)兩個問題:模型崩潰和災難性遺忘。

一些早期的實證研究表明,與PEFT技術相比,全面微調(diào)更容易出現(xiàn)上述問題,但還需要做更多的研究。

圖片

PEFT技術本質(zhì)上,是作為微調(diào)的自然正則化器。

PEFT通常需要相對較少的計算資源來訓練下游模型,并且在數(shù)據(jù)集規(guī)模有限的資源受限場景下,更易于使用。

在某些情況下,全面微調(diào)在特定任務上表現(xiàn)更好,但代價往往是遺忘原始模型的一些能力。

在資源受限的情況下,PEFT可能會比全面微調(diào)提供更好的性能提升/成本比。

如果在資源受限的情況下,下游性能至關重要,那么全面微調(diào)將是最有效的。

無論在哪種情況下,關鍵是要牢記以下幾個關鍵原則來創(chuàng)建高質(zhì)量的數(shù)據(jù)集。

數(shù)據(jù)集管理

在各種文獻的微調(diào)實驗中,數(shù)據(jù)集對于獲得微調(diào)的好處至關重要。

除了「更好的質(zhì)量和更多的示例」之外,還有更多的細微差別,你可以明智地投資數(shù)據(jù)集收集,以在資源受限的微調(diào)實驗中提高性能。

數(shù)據(jù)質(zhì)量/數(shù)量

- 質(zhì)量是最重要的:一個大趨勢是質(zhì)量比數(shù)量更重要。也就是說,擁有一小部分高質(zhì)量的數(shù)據(jù),比擁有一大批低質(zhì)量的數(shù)據(jù)更好。

質(zhì)量的關鍵原則是一致的注釋,沒有錯誤、沒有錯誤標簽的數(shù)據(jù)、有噪音的輸入/輸出,以及與總體相比具有代表性的分布。

在微調(diào)時,幾千個精選的LIMA數(shù)據(jù)集示例,比50K機器生成的Llama數(shù)據(jù)集具有更好的性能。

OpenAI微調(diào)文檔表明,即使是50-100個示例的數(shù)據(jù)集也可能產(chǎn)生影響。

圖片

- 更困難的語言任務需要更多數(shù)據(jù):相對困難的任務,如文本生成和摘要,更難微調(diào),比起更容易的任務,如分類和實體提取,需要更多數(shù)據(jù)。

「更難」可以指多個:輸出中有更多的token,需要更高級別的人類能力,多個正確答案。

- 有效的高質(zhì)量數(shù)據(jù)收集:由于數(shù)據(jù)收集成本較高,建議使用以下策略來獲得更高的樣本效率和成本

1 觀察失效模式:觀察先前機器學習能力失敗的例子,并添加針對這些失效模式的樣例。

2 人機協(xié)作:這是一種更經(jīng)濟的數(shù)據(jù)標注擴展方式。可以使用LLM自動生成基礎回答,人類標注者可以基于此更快地進行標注。

數(shù)據(jù)多樣性

簡單來說,如果你用特定類型的回應過度訓練模型,它會傾向于給出那種回應,即使不是最合適的答案。

這里的經(jīng)驗法則是,盡可能確保訓練數(shù)據(jù)反映模型在現(xiàn)實世界中應該如何表現(xiàn)。

- 重復:無論是在微調(diào)還是預訓練中,這都被發(fā)現(xiàn)是導致模型性能下降的原因。通過去重實現(xiàn)多樣性,往往會提高性能指標。

- 輸入多樣性:通過改述來增加輸入的多樣性。

- 數(shù)據(jù)集多樣性:當為更通用的下游任務微調(diào)時(例如,多語言適配),使用多樣化的數(shù)據(jù)集已被證明,可以改善模型在遺忘原始能力和學習新能力之間的權衡。

- 標準化輸出:移除輸出中的空白和其他格式技巧被證明是有幫助的。如果你想要回答中有特定的語氣,比如「服務臺聊天機器人是...」,那么就為每個例子在數(shù)據(jù)集中添加這些內(nèi)容。

基于LLM的數(shù)據(jù)管道

為了整理高質(zhì)量、多樣化的數(shù)據(jù)集,數(shù)據(jù)管道經(jīng)常使用大語言模型來降低標注成本。

以下是實踐中觀察到的技術:

- 評估:用高質(zhì)量數(shù)據(jù)集訓練一個模型,然后用它來標注較大數(shù)據(jù)集,以篩選出高質(zhì)量的樣例。

- 生成:用高質(zhì)量示例來引導大模型,并通過提示生成類似的高質(zhì)量樣例。合成數(shù)據(jù)集的最佳實踐正在逐漸形成。

- 人機協(xié)作:使用大模型生成初始輸出集,然后由人類通過編輯或選擇偏好來提高質(zhì)量。

調(diào)試數(shù)據(jù)集

- 評估數(shù)據(jù)集中的不良輸出:如果模型在某些方面仍然表現(xiàn)不佳,添加直接向模型展示如何正確處理這些方面的訓練示例。

如果你的模型存在語法、邏輯或風格問題,檢查數(shù)據(jù)是否存在相同的問題。

例如,如果模型現(xiàn)在說「我會為你安排這個會議」(實際上它不應該這樣做),看看現(xiàn)有的例子是否教導模型說它可以做一些它實際上不能做的新事情。

- 仔細檢查正面/負面類別的平衡:如果數(shù)據(jù)中60%的助手回應說「我無法回答這個問題」,但在推理時只有5%的回應應該這樣說,你可能會得到過多的拒絕回應。

- 全面性和一致性:確保你的訓練示例包含回應所需的所有信息。

如果希望模型基于用戶的個人特征來贊美用戶,而訓練示例中包含了助手對前面對話中沒有出現(xiàn)的特征的贊美,模型可能會學會虛構(gòu)信息。

確保所有的訓練示例,都采用與推理時預期相同的格式,查看訓練示例中的一致性和協(xié)調(diào)性。

總而言之,微調(diào)是大模型開發(fā)中的一個關鍵方面,需要在藝術和科學之間取得微妙的平衡。

數(shù)據(jù)集的質(zhì)量和篩選,對微調(diào)的成功起著重要作用。

經(jīng)過微調(diào)的小型LLM在特定任務上,往往表現(xiàn)優(yōu)于更大的模型。

一旦決定進行微調(diào),Llama微調(diào)指南提供了一個良好的起點。

責任編輯:張燕妮 來源: 新智元
相關推薦

2023-03-23 16:06:21

LiteOS-M操作系統(tǒng)

2020-11-16 10:47:14

FreeRTOS應用嵌入式

2021-10-18 11:58:56

負載均衡虛擬機

2022-09-06 08:02:40

死鎖順序鎖輪詢鎖

2023-07-25 14:08:41

羊駝模型

2019-11-06 10:12:19

B端設計流程分析

2021-01-19 05:49:44

DNS協(xié)議

2021-09-15 16:12:11

數(shù)字化轉(zhuǎn)型

2022-09-14 09:01:55

shell可視化

2025-05-26 10:00:00

TkinterGUIPython

2020-09-25 10:50:56

C++語言代碼

2020-07-15 08:57:40

HTTPSTCP協(xié)議

2020-07-09 07:54:35

ThreadPoolE線程池

2022-10-10 08:35:17

kafka工作機制消息發(fā)送

2024-03-07 18:11:39

Golang采集鏈接

2022-07-19 16:03:14

KubernetesLinux

2024-11-28 08:00:00

2023-06-12 08:49:12

RocketMQ消費邏輯

2024-05-10 12:59:58

PyTorch人工智能

2021-08-26 05:02:50

分布式設計
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产7777 | 蜜臀av日日欢夜夜爽一区 | 成人特级毛片 | 在线免费观看黄色网址 | 久久综合一区 | 国产婷婷色一区二区三区 | 国产乱码精品1区2区3区 | 国内自拍视频在线观看 | 久久激情网 | 日韩中文字幕一区二区 | 欧美一级在线免费观看 | 午夜看电影在线观看 | 中文字幕不卡视频在线观看 | 日本精品视频 | 欧美日韩一区在线 | 伊人二区| 九九伦理片 | 成人在线视频网站 | 在线观看黄视频 | 天天操精品视频 | 中文字幕在线观看视频网站 | 亚洲v日韩v综合v精品v | 精品久久久久久久久久久下田 | 久久久久久久一区二区 | 久久综合久久自在自线精品自 | 欧洲一区二区三区 | 欧美在线视频免费 | 亚洲免费观看视频 | 精品九九九 | 天堂中文在线观看 | 在线日韩av电影 | 欧美一区二区三区久久精品 | 五月婷婷在线播放 | 中文字幕视频一区二区 | 欧美黄色大片在线观看 | 亚洲中午字幕 | 亚洲综合一区二区三区 | 精品久久成人 | 久久在线精品 | 成人妇女免费播放久久久 | 天天夜夜操 |