色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

大模型微調實踐心得與認知深化

深度學習自然語言處理 ? 來源:知乎 ? 2024-01-24 10:46 ? 次閱讀

以下內容均為個人經驗(臆測),不具有指導意義--快樂子涵醬。

關于continue

1.pre-train大模型的知識來自于pt階段,如果你想引入一些新的知識,那CPT是一個不錯的選擇。

2.但你首先要確保你有足夠大量的數據集,至少有幾B的token;

3.否則幾十條數據的情況我更推薦模型編輯更建議全量微調。

4.不確定lora是不是一個好的選擇,后面會展開講。

5.通常CPT開始的階段會出現一段時間的loss上升,隨后慢慢收斂,所以學習率是一個很重要的參數,這很容易理解:如果lr過大,那loss值收斂會更困難,舊能力損失的會更大;如果lr過小,那可能難以學到新知識。

6.當你數據集比較小(例如100B以下?),那建議使用較小的學習率。例如可以使用pre-train階段最大學習率的10%。通常7B模型pre-train階段的學習率大概是3e-4,所以我們可以選擇3e-5。

7.記得根據你的batch size做相應縮放。通常lr縮放倍數為batch size倍數的開方。例如batch size增大4倍,學習率對應擴大2倍即可。

8.warmup_ratio也很重要。通常LLM訓練的warmup_ratio是epoch * 1%左右。例如pre-train階段一般只訓一個epoch,則ratio是0.01;

9.SFT通常3個epoch,ratio對應為0.03但是如果做CPT,建議warmup_ratio調大一點。如果你的數據集很大,有幾百b,那warmup其實不影響最重的模型效果。但通常我們的數據集不會有那么大,所以更小的ratio可以讓模型“過渡”得更平滑。

10.我甚至試過3個epoch的訓練(SFT),第一個epoch全部用來warmup,結果是work的。這里參考了Qwen-7b的技術報告。

11.所以學習率和warmup_ratio是兩個相輔相成的概念,二者通常是成正比的關系。或者說如果你正在用一個較大的學習率,那你或許可以同時嘗試增加warmup來防止模型“爛掉”。

12.這幾點不只適用于CPT,對一些特殊情況下的SFT階段同樣適用。

13.這里吐槽一下Trainer,到現在都不支持最小lr參數。

關于SFT

1.請勿迷信3個epoch的訓練,實測1個epoch就能對話。當然,更多的epoch確實會讓模型的評測效果更佳。

2.但如果你資源嚴重受限,跑一輪也能用~尤其當你從一個SFT模型啟動(如chatGLM)時,嘗試小點的epoch,防止災難性遺忘。

3.如果數據量比較小,如只有1k,可以嘗試更多的epoch。無他,人為過擬合而已。

關于continue

1.pre-train+SFT首先提出一個問題,假設你想做一個領域模型,并且你的領域模型和通用chatBot的輸出內容、格式都區別很大;此外你還期望要通過CPT來注入一定的知識,那可用的技術路線有哪些呢?

從pre-train模型開始SFT訓練,先做CPT,SFT數據使用你的領域數據
會得到一個只能解領域問題的模型,丟失掉通用對話能力,如果完全不考慮通用對話能力可以,否則不推薦

從pre-train模型開始SFT訓練,先做CPT,SFT數據選用通用SFT數據+領域SFT數據
如果你的領域數據和通用能力很接近,如醫療問答,那這是一個非常不錯的技術路線,推薦

對于2,如果你的新任務和通用任務差別很大,甚至輸出格式都完全不一樣甚至沖突
雖然可行,但直覺上一些通用SFT數據的answer會對你的任務目標造成一定程度的負向影響

從pre-train模型開始SFT訓練,先做CPT,再做通用SFT,再做領域SFT
這會導致你的任務目標(最后階段)和你的知識注入階段(CPT階段)中間存在一個階段的gap,可能不是最佳路線

從sft模型開始訓練,先做CPT,再做領域SFT
與4同理,任務目標(最后階段)和通用對話能力階段隔了一個階段,仿佛也不夠優雅

2.思來想去,好像所有現有常見的技術路線都不太work~所以可能要試一些非常規的方法。

3.一個很有意思的問題是,過去我們都被GPT論文的三個階段束縛,老老實實串行跑三個階段:PT->SFT>RLHF

4.但是越來越多人嘗試SFT+DPO混合訓練,看上去也是work的。

5.同理,我相信很多國內大模型的大廠,或多或少可能都在PT模型里偷偷摻了一些SFT數據,這會讓模型的性能有一定程度的提升。

6.很久以前也有人在SFT階段摻雜一些PT數據,來防止災難性遺忘。

7.此外,不管是SFT還是PT,任務目標其實都一樣,都是基于teacher forcing的自回歸任務,next token predict而已,唯一的不同只是數據格式不一樣。

8.那么我們可不可以認為,其實這不同階段的區別其實沒有那么大?是不是可以CPT+SFT混合訓練,不再區分階段。

9.例如我們可以在CPT階段加入大量SFT對話數據(同樣mask掉question),這個SFT數據甚至可以是海量的、未經清洗的、低質量的數據,僅訓練1個epoch即可;接下來我們使用通用SFT數據(少而精的)+領域SFT數據,混合訓練1個epoch;最后1個epoch我們只用領域數據做微調。

10.可以根據數據集大小、重要程度,修改各階段epoch輪次,或在某個階段內擴大某數據集的倍數。

11.至此,CPT數據共訓練1個epoch,通用SFT數據2個,領域數據2個。

12.個人使用這種技術路線,感覺還是比較work的。由于CPT成本太大,未設置更多的消融實驗。那除此以外是否有其他技術路線呢?答案或許是Lora?

關于Lora

1.個人對lora使用得不多,之前僅僅是了解原理+會用,沒有深入探索過一些參數。最近嘗試理解一下。

2.lora真的沒省多少GPU也沒省多少訓練時長,所以我真的不太愛用它。(包大人備注:其實是很省顯存的,但不太省訓練時長)

3.lora更像是一個能力插件,可以幫助模型學到一些新的輸出格式/領域話題,但對新知識或新能力的注入可能不太擅長。

4.對于能力注入,當前的認知是:pre-train > full SFT > lora。

5.所以用lora來進行pretrain可能不是一個最優解,還是更推薦用全參數。

6.但是對于領域任務,lora好像天然適合?

7.第2、3點沒有經過實驗論證,近期會跑個實驗,有結論會做補充。

8.lora_rank是一個很重要的參數,它影響旁路矩陣的大小。

9.如果你的數據量比較小,那推薦用比較小的rank就可以了,我記得原論文里8和32區別不大(懶得翻論文了,全憑記憶,如果有錯誤請指正)

10.如果你數據量較大,那建議用更大的rank,來得到一個更大的旁路矩陣,它顯然可以記住更多的東西。

11.與此同時,除了q_proj,v_proj,強烈建議再試一下把所有的線性層都上lora,如k_proj, up_proj, down_proj這些。

12.此外lora_alpha也很重要,它通常和lora_rank是正比關系,表示一個縮放系數。alpha越大,表示新建的旁路矩陣影響力越大、新數據學得越“猛”;alpha越小,表示原始模型參數對結果的影響力越大。

13.很多人喜歡設置alpha是rank的2倍,其實可以二者1: 1跑個baseline看看效果。

網友補充:

1、SFT和pretrain的任務在有些大模型例如ChatGLM是不一樣的,對于把pretrain放到SFT來保持所謂的防止遺忘并沒有感覺到明顯差異。

2、對于小數據集,設置一個好的prefix,在很多epoch(大于100)的情況仍然保持不錯的提升。

3、lora對顯存的節約是很明顯的,只是很多代碼類似zero的思想并不契合lora(把模型切分放到最后,認為是最不占用顯存的,然而lora相反)。

4、lora的效果和全量在我做的實驗下是有明顯差距的(例如在某些指標上經常>4%絕對值的差距),和論文中的理想情況不同,并且lora比較吃分層學習率,程度和crf比較接近了

5、lora的秩的值設置在1-16上還是存在不小的區別,從16到128上經常只是一些收斂上的差異,例如128可能n個epoch收斂到x,16可能要2n,但并不絕對,而且r大時間久,一般16-32是比較推薦的

6、DPO和RLHF根據個人理解,對chosen-rejected數據的質量需求是不同的,選擇RLHF仍然是更好的選擇,對于顯存不夠的部分人來說,可以例如lora,將actor和ref共用一個,critic和reward共用一個,把顯存從4x降低為2x。寧可這樣也盡量把顯存盡可能用來提高critic模型的參數量

網友:暫時先寫這么多,可能過倆月再看又是一篇漏洞百出的想法,

但總是要在摸索中前進吧~

審核編輯:黃飛

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • SFT
    SFT
    +關注

    關注

    0

    文章

    9

    瀏覽量

    6815
  • DPO
    DPO
    +關注

    關注

    0

    文章

    12

    瀏覽量

    13597
  • 大模型
    +關注

    關注

    2

    文章

    2423

    瀏覽量

    2641

原文標題:大模型微調經驗和認知

文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    【「大模型啟示錄」閱讀體驗】對大模型更深入的認知

    閱讀《大模型啟示錄》這本書,我得說,它徹底顛覆了我對大模型的理解。作為一個經常用KIMI和豆包這類AI工具來完成作業、整理資料的大學生,我原以為大模型就是這些工具背后的技術。但這本書讓我意識到
    發表于 12-20 15:46

    模型為什么要微調?大模型微調的原理

    難以達到最佳性能。為了提升模型在特定任務上的表現,微調(Fine-tuning)成為了一個關鍵步驟。本文將詳細探討大模型為什么要進行微調以及微調
    的頭像 發表于 07-10 10:43 ?3904次閱讀

    【大規模語言模型:從理論到實踐】- 閱讀體驗

    再次感謝電子發燒友提供的書籍試讀機會。今天來分享下我在學習大模型訓練中 注意力機制 的心得體會。 雖然注意力機制可以顯著提高模型處理長序列數據的能力,但這也帶來了計算成本的增加。在大型模型
    發表于 06-07 14:44

    大語言模型:原理與工程實踐+初識2

    前言 深度學習是機器學習的分支,而大語言模型是深度學習的分支。機器學習的核心是讓計算機系統通過對數據的學習提高性能,深度學習則是通過創建人工神經網絡處理數據。近年人工神經網絡高速發展,引發深度學習
    發表于 05-13 00:09

    【大語言模型:原理與工程實踐】大語言模型的應用

    微調的積累,無需額外知識。然而,大模型所掌握的世界知識具有時效性,對于訓練后發生的事件或訓練集中未涵蓋的知識,大語言模型往往無法應對。當面臨未知問題時,大語言模型可能會產生虛假的答案
    發表于 05-07 17:21

    【大語言模型:原理與工程實踐】大語言模型的評測

    大語言模型的評測是確保模型性能和應用適應性的關鍵環節。從基座模型微調模型,再到行業模型和整體能
    發表于 05-07 17:12

    【大語言模型:原理與工程實踐】大語言模型的預訓練

    大語言模型的核心特點在于其龐大的參數量,這賦予了模型強大的學習容量,使其無需依賴微調即可適應各種下游任務,而更傾向于培養通用的處理能力。然而,隨著學習容量的增加,對預訓練數據的需求也相應
    發表于 05-07 17:10

    【大語言模型:原理與工程實踐】探索《大語言模型原理與工程實踐》2.0

    《大語言模型“原理與工程實踐”》是關于大語言模型內在機理和應用實踐的一次深入探索。作者不僅深入討論了理論,還提供了豐富的實踐案例,幫助讀者理
    發表于 05-07 10:30

    【大語言模型:原理與工程實踐】大語言模型的基礎技術

    特定任務對模型進行微調。這種方法的成功不僅是自然語言處理發展的一個轉折點,還為許多現實世界的應用場帶來了前所未有的性能提升。從廣為人知的GPT到BERT,預訓練的模型參數量越來越大預訓練數據越來越多
    發表于 05-05 12:17

    【大語言模型:原理與工程實踐】核心技術綜述

    其預訓練和微調,直到模型的部署和性能評估。以下是對這些技術的綜述: 模型架構: LLMs通常采用深層的神經網絡架構,最常見的是Transformer網絡,它包含多個自注意力層,能夠捕捉輸入數據中
    發表于 05-05 10:56

    【大語言模型:原理與工程實踐】探索《大語言模型原理與工程實踐

    的未來發展方向進行了展望,包括跨領域、跨模態和自動提示生成能力方向,為讀者提供了對未來技術發展的深刻見解。《大語言模型原理與工程實踐》是一本內容豐富、深入淺出的技術書籍。它不僅為讀者提供了大語言模型
    發表于 04-30 15:35

    名單公布!【書籍評測活動NO.31】大語言模型:原理與工程實踐

    性的重視。我們精心設計了從零開始的教學章節,提供大語言模型微調的詳細指導,逐步引領讀者掌握關鍵技能。這不僅有助于初學者迅速上手,也為有經驗的開發者提供了深入學習的機會。 作為真正的大語言模型
    發表于 03-18 15:49

    名單公布!【書籍評測活動NO.30】大規模語言模型:從理論到實踐

    。 為了使更多的自然語言處理研究人員和對大語言模型感興趣的讀者能夠快速了解大模型的理論基礎,并開展大模型實踐,復旦大學張奇教授團隊結合他們在自然語言處理領域的研究經驗,以及分布式系統和
    發表于 03-11 15:16

    MES深化應用五級成熟度模型介紹

    電子發燒友網站提供《MES深化應用五級成熟度模型介紹.docx》資料免費下載
    發表于 02-23 17:10 ?1次下載

    四種微調模型的方法介紹

    微調(Full Fine-tuning):全微調是指對整個預訓練模型進行微調,包括所有的模型參數。在這種方法中,預訓練
    發表于 01-03 10:57 ?2.4w次閱讀
    四種<b class='flag-5'>微調</b>大<b class='flag-5'>模型</b>的方法介紹
    主站蜘蛛池模板: 天美传媒麻豆精品| 亚洲爆乳少妇精品无码专区| 翁熄性放纵交换01| 诱人的秘书BD在线观看| caoporn 超碰在线视频| 国产美女又黄又爽又色视频网站| 久久久久久久久a免费| 青青精品国产自在线拍| 亚洲欧美日韩国产手机在线 | 我把寡妇日出水好爽| 在线国产视频观看| 嘟嘟嘟在线视频免费观看高清中文| 黑丝制服影院| 人妻仑乱少妇88MAV| 亚洲无AV在线中文字幕| 超碰国产人人做人人爽| 久久re6热在线视频精品66| 日韩欧美一级| 18av 在线| 国产在线播放KKK| 日本国产黄色片| 在线电影一区二区| 国产精品人妻久久无码不卡| 女性爽爽影院免费观看| 亚洲日韩一区精品射精| 高清欧美videos sexo| 免费精品一区二区三区在线观看| 亚洲 成人网| 耻辱の奴隷淑女中文字幕| 久久这里只有精品无码3D| 小小水蜜桃视频高清在线观看免费 | 亚洲欧美韩国综合色| 成人国产在线视频| 啦啦啦影院视频在线看高清...| 午夜免费福利| WWW亚洲精品久久久无码| 久久热在线视频精品店| 亚久久伊人精品青青草原2020| 把她带到密室调教性奴| 美女快播第一网| 亚洲性夜夜夜色综合网|