為男人做購(gòu)物網(wǎng)站攜程: 2023年旅行搜索上漲超900%
微調(diào)(fine-tuning)就是利用特有數(shù)據(jù)和技巧將通用模型轉(zhuǎn)換為能執(zhí)行具體任務(wù)的一種方式。例如,將 GPT-3 這種通用模型轉(zhuǎn)換為諸如 ChatGPT 這樣的專門用于聊天的模型?;蛘邔?GPT-4 轉(zhuǎn)換為諸如 GitHub Coplot 這樣的專門用于寫代碼的模型。
這里的微調(diào)特指生成式任務(wù)上的微調(diào)。在這種方式中,
- 需要更新整個(gè)模型的權(quán)重,而不是像其他模型一樣只更新部分權(quán)重
- 微調(diào)的訓(xùn)練目標(biāo)與預(yù)訓(xùn)練時(shí)的目標(biāo)相同,目的是讓模型的輸出更加一致
- 有許多先進(jìn)的方法可以減少對(duì)模型的更新
L4 如何為訓(xùn)練準(zhǔn)備數(shù)據(jù)
1.高質(zhì)量
2.多樣性
3.真實(shí)的數(shù)據(jù)(因?yàn)樯傻臄?shù)據(jù)具有某種模式)
4.更多的數(shù)據(jù)
收集數(shù)據(jù)的步驟:
1)連接這些對(duì)或添加提示模板
2)對(duì)數(shù)據(jù)進(jìn)行標(biāo)記,添加填充或截?cái)鄶?shù)據(jù),使得數(shù)據(jù)適合偶像。
對(duì)數(shù)據(jù)進(jìn)行標(biāo)記是將文本數(shù)據(jù)轉(zhuǎn)化為表示每個(gè)文本片段的數(shù)字。實(shí)際上,不一定是按單詞來分的。是基于常見字符出現(xiàn)的頻率。之后,當(dāng)您使用相同的標(biāo)記器進(jìn)行解碼時(shí),它會(huì)轉(zhuǎn)換為相同的文本。
現(xiàn)在有很多不同的標(biāo)記器,每個(gè)模型都與特定的標(biāo)記器相關(guān)聯(lián),因?yàn)樗歉鶕?jù)它進(jìn)行訓(xùn)練的。
L6評(píng)估生成模型
目前流行的一種方法是Eleuther AI開發(fā)的ELO對(duì)比,類似于多模型間的AB test。普遍采用的一個(gè)開放LLM基準(zhǔn)測(cè)試?yán)昧硕喾N評(píng)估方法。它集合了各種評(píng)估方法并取平均值以此來排序模型。包括:
ARC:主要是小學(xué)問題
(ARC包含7787個(gè)來自不同科學(xué)領(lǐng)域的考試問題,根據(jù)難易程度,可以劃分為2590個(gè)問題組成的ARC-Challenge和5197個(gè)問題的ARCEasy。這些問題用以評(píng)估LLM在多步推理、語(yǔ)言匹配等多方面的高級(jí)能力。在這兩個(gè)評(píng)測(cè)基準(zhǔn)中,GPT-4取得了最好的成績(jī),明顯超過其他LLM。)
HellaSwag:常識(shí)
MMLU:多個(gè)小學(xué)學(xué)科
TruthfulQA:評(píng)估模型在復(fù)制常見的在線錯(cuò)誤信息上的表現(xiàn)
FreeWilly模型是在 Llama-2 模型基礎(chǔ)上進(jìn)行微調(diào)得到的,使用的是 ORCA 方法。
?另一個(gè)分析和評(píng)估模型的框架是錯(cuò)誤分析:
第一種:拼寫錯(cuò)誤。
第二種:長(zhǎng)度過長(zhǎng)。簡(jiǎn)潔的數(shù)據(jù)集可以幫助模型更準(zhǔn)確地回答問題。
第三種:生成重復(fù)。解決方法是更明確地使用停止標(biāo)記或者提示詞模板。確保數(shù)據(jù)既有多樣性又不過于重復(fù)。
注意,不需要過度關(guān)注模型在這些基準(zhǔn)測(cè)試上的表現(xiàn),因?yàn)樗麄兛赡芘c業(yè)務(wù)場(chǎng)景無關(guān)。因此,真正要關(guān)心的是在真實(shí)業(yè)務(wù)場(chǎng)景上的表現(xiàn)。上述基準(zhǔn)測(cè)試只有在你研究的是通用模型時(shí)才更具有參考價(jià)值。也就是說,這個(gè)基準(zhǔn)測(cè)試對(duì)于你找基礎(chǔ)的模型有參考價(jià)值,對(duì)于具體地微調(diào)任務(wù)上意義不大。
?
L7 總結(jié)
微調(diào)的實(shí)用步驟:
1)明確任務(wù)
2)收集與任務(wù)輸入和輸出相關(guān)的數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行組織整理
3)如果數(shù)據(jù)不夠,可以借助AI生成或?qū)嵱锰崾驹~模板來創(chuàng)建
4)建議先微調(diào)一個(gè)小模型(例如 4億-10億參數(shù)),看一下模型的表現(xiàn)
5)調(diào)整微調(diào)模型時(shí)的數(shù)據(jù)量,并觀察對(duì)微調(diào)結(jié)果的影響
6)評(píng)估模型,看看哪些做得好,哪些做得不好
7)收集更多的數(shù)據(jù),通過評(píng)估結(jié)果來持續(xù)改進(jìn)模型
8)提高任務(wù)的復(fù)雜度
9)增加模型規(guī)模以適應(yīng)這種復(fù)雜的任務(wù)
?
參數(shù)高效微調(diào)方法 PEFT
低秩適應(yīng)LoRA:減少你需要訓(xùn)練的參數(shù)數(shù)量,降低你需要訓(xùn)練的權(quán)重。減少gpu內(nèi)存,但會(huì)獲得相同的推理延遲。
部分來源:
吳恩達(dá)ChatGPT《Finetuning Large Language Models》筆記-CSDN博客