SFT精調(diào)大模型實(shí)戰(zhàn)

大模型的SFT(Supervised Fine-Tuning瞎嬉,監(jiān)督微調(diào))是指在機(jī)器學(xué)習(xí)和自然語言處理(NLP)領(lǐng)域中姐赡,對已經(jīng)預(yù)訓(xùn)練的模型進(jìn)行特定任務(wù)的訓(xùn)練,以提高其在該任務(wù)上的表現(xiàn)丙猬。具體來說涨颜,SFT的基本思想是利用特定任務(wù)的數(shù)據(jù),對已經(jīng)在大量通用數(shù)據(jù)上訓(xùn)練完成的預(yù)訓(xùn)練模型進(jìn)行進(jìn)一步調(diào)整茧球,使其更適合該任務(wù)庭瑰,并更好地適應(yīng)最終任務(wù)和對齊用戶偏好。

SFT的原理與步驟

SFT的過程大致可以分為以下幾個(gè)步驟:

  1. 預(yù)訓(xùn)練模型:首先抢埋,在大規(guī)模的無監(jiān)督數(shù)據(jù)集(如維基百科弹灭、書籍語料庫等)上進(jìn)行預(yù)訓(xùn)練。通過無監(jiān)督學(xué)習(xí)揪垄,模型學(xué)習(xí)到豐富的語言表示穷吮,如詞語之間的關(guān)系、句子結(jié)構(gòu)等饥努。
  2. 數(shù)據(jù)收集與標(biāo)注:選擇特定任務(wù)的數(shù)據(jù)集捡鱼,對數(shù)據(jù)進(jìn)行預(yù)處理和標(biāo)注。這些數(shù)據(jù)集用于后續(xù)的有監(jiān)督微調(diào)過程酷愧。
  3. 監(jiān)督微調(diào):將預(yù)訓(xùn)練的基礎(chǔ)模型在標(biāo)注好的數(shù)據(jù)集上進(jìn)行進(jìn)一步訓(xùn)練驾诈。這一過程通過有監(jiān)督學(xué)習(xí),使模型能夠利用預(yù)訓(xùn)練階段學(xué)到的通用知識溶浴,結(jié)合新數(shù)據(jù)的標(biāo)簽信息乍迄,提升在特定任務(wù)上的表現(xiàn)。
  4. 模型評估與優(yōu)化:使用驗(yàn)證集對微調(diào)后的模型進(jìn)行評估士败,計(jì)算模型在任務(wù)上的性能指標(biāo)闯两。根據(jù)評估結(jié)果,對模型進(jìn)行進(jìn)一步的優(yōu)化和調(diào)整。

SFT的方式

大模型的SFT方式主要包括以下幾種:

  1. 全參數(shù)微調(diào)(Full Parameter Fine Tuning):涉及對模型的所有權(quán)重進(jìn)行調(diào)整生蚁,以使其完全適應(yīng)特定領(lǐng)域或任務(wù)噩翠。這種方法適用于擁有大量與任務(wù)高度相關(guān)的高質(zhì)量訓(xùn)練數(shù)據(jù)的情況。
  2. 部分參數(shù)微調(diào)(Sparse Fine Tuning / Selective Fine Tuning):
  • LoRA(Low-Rank Adaptation):通過向模型權(quán)重矩陣添加低秩矩陣來進(jìn)行微調(diào)邦投,既允許模型學(xué)習(xí)新的任務(wù)特定模式伤锚,又能夠保留大部分預(yù)訓(xùn)練知識。
  • P-tuning v2:基于prompt tuning的方法志衣,僅微調(diào)模型中與prompt相關(guān)的部分參數(shù)屯援,而不是直接修改模型主體的權(quán)重。
  • QLoRA:可能是指Quantized Low-Rank Adaptation或其他類似技術(shù)念脯,它可能結(jié)合了低秩調(diào)整與量化技術(shù)狞洋,以實(shí)現(xiàn)高效且資源友好的微調(diào)。
  1. 凍結(jié)(Freeze)監(jiān)督微調(diào):在這種微調(diào)方式中绿店,部分或全部預(yù)訓(xùn)練模型的權(quán)重被凍結(jié)吉懊,僅對模型的部分層或新增的附加組件進(jìn)行訓(xùn)練。這樣可以防止預(yù)訓(xùn)練知識被過度覆蓋假勿,同時(shí)允許模型學(xué)習(xí)針對新任務(wù)的特定決策邊界借嗽。

SFT的應(yīng)用與優(yōu)勢

SFT在自然語言處理領(lǐng)域有廣泛的應(yīng)用,如文本分類转培、情感分析恶导、機(jī)器翻譯等。通過結(jié)合預(yù)訓(xùn)練和微調(diào)浸须,SFT能夠在較少的數(shù)據(jù)和計(jì)算資源下實(shí)現(xiàn)高效的模型性能提升惨寿。此外,由于預(yù)訓(xùn)練模型已經(jīng)在大量數(shù)據(jù)上進(jìn)行過訓(xùn)練删窒,SFT通常只需要較少的標(biāo)注數(shù)據(jù)即可達(dá)到良好的效果裂垦,這降低了數(shù)據(jù)標(biāo)注的成本。

總的來說肌索,大模型的SFT是一種有效的模型優(yōu)化方法缸废,能夠提升模型在特定任務(wù)上的表現(xiàn),并推動自然語言處理技術(shù)的進(jìn)一步發(fā)展驶社。
在百度智能云平臺上,您可以選擇對應(yīng)的基礎(chǔ)模型進(jìn)行SFT訓(xùn)練测萎,以進(jìn)一步優(yōu)化模型性能和適應(yīng)特定任務(wù)需求亡电。

本文采用LoRA微調(diào)

  1. 原理概述
    低秩矩陣:在線性代數(shù)中,矩陣的秩(Rank)是指矩陣中線性無關(guān)的行或列的最大數(shù)目硅瞧。低秩矩陣意味著矩陣中存在較多的線性相關(guān)性份乒,即矩陣的信息冗余度高。LoRA利用這一特性,通過引入低秩矩陣來近似表示權(quán)重矩陣在微調(diào)過程中的變化或辖。
    微調(diào)過程:在LoRA中瘾英,原始預(yù)訓(xùn)練模型的權(quán)重矩陣保持不變,而是在其基礎(chǔ)上添加兩個(gè)低秩矩陣A和B颂暇。這兩個(gè)矩陣的乘積BA可以近似表示權(quán)重矩陣在微調(diào)過程中的變化量缺谴。因此,微調(diào)后的權(quán)重矩陣可以表示為W' = W + BA耳鸯,其中W是原始權(quán)重矩陣湿蛔,W'是微調(diào)后的權(quán)重矩陣。
  2. 示例說明
    假設(shè)我們有一個(gè)預(yù)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)層县爬,其權(quán)重矩陣W的維度為1000×1000阳啥。在LoRA微調(diào)過程中,我們可以引入兩個(gè)低秩矩陣A和B财喳,它們的維度分別為50×1000和1000×50察迟。這樣,通過訓(xùn)練這兩個(gè)較小的矩陣A和B耳高,我們能夠微調(diào)原始的1000×1000權(quán)重矩陣W扎瓶,而不需要重新訓(xùn)練所有100萬個(gè)參數(shù)。最終祝高,微調(diào)后的權(quán)重矩陣W' = W + BA栗弟,其中BA的維度為50×50,僅包含2500個(gè)參數(shù)工闺。

綜上所述乍赫,LoRA(Low-Rank Adaptation)通過向模型權(quán)重矩陣添加低秩矩陣來進(jìn)行微調(diào),既允許模型學(xué)習(xí)新的任務(wù)特定模式陆蟆,又能夠保留大部分預(yù)訓(xùn)練知識雷厂。這一技術(shù)以其高效性、保留預(yù)訓(xùn)練知識和減少過擬合風(fēng)險(xiǎn)等優(yōu)勢叠殷,在自然語言處理領(lǐng)域得到了廣泛應(yīng)用改鲫。

SFT案例——勞動合同關(guān)鍵信息提取

在企業(yè)管理和法律事務(wù)中,大模型可以扮演合同審查專家的角色林束,自動識別勞動合同是否包含所有必備條款并提取合同中的關(guān)鍵信息像棘。通過模型精調(diào),可以解決直接調(diào)用大模型輸出內(nèi)容不夠準(zhǔn)確全面壶冒、不按格式輸出等問題缕题。精調(diào)模型的效果遠(yuǎn)遠(yuǎn)優(yōu)于基礎(chǔ)模型ERNIE Speed的效果。
對于勞動合同關(guān)鍵信息提取而言胖腾,需要大模型能夠精準(zhǔn)提取需要的關(guān)鍵信息烟零,保證模型輸出能夠做到以下幾點(diǎn):
內(nèi)容全面準(zhǔn)確:按照以下順序連續(xù)輸出一段字符串:1瘪松、分析是否缺失必備條款;2锨阿、分析是否缺失期望提取的關(guān)鍵信息宵睦;3、提取的關(guān)鍵信息內(nèi)容墅诡。
格式準(zhǔn)確無誤:只需輸出以上三點(diǎn)內(nèi)容壳嚎,不用輸出順序號和多余信息,尤其是第3點(diǎn)需要以{"要求提取的關(guān)鍵信息":"你提取的關(guān)鍵信息內(nèi)容"}的json格式輸出书斜。

模型與參數(shù)

ERNIE-Speed-8K查看

訓(xùn)練方式 迭代輪次Epoch 學(xué)習(xí)率Learning Rate 序列長度Seq Length
SFT 1 0.00003 4096

數(shù)據(jù)格式示例

Prompt Response
你是一個(gè)從合同中提取關(guān)鍵信息的智能助手诬辈。你的任務(wù)是分析【合同文本】并提取【關(guān)鍵信息】。\n你需要向我匯報(bào)的內(nèi)容是:\n1.匯報(bào)合同是否缺失勞動合同必備條款荐吉;\n2.匯報(bào)【關(guān)鍵信息】有沒有在合同中缺失焙糟;\n3.匯報(bào)你提取的關(guān)鍵信息,以{"要求提取的關(guān)鍵信息":"你提取的關(guān)鍵信息內(nèi)容"}的json格式匯報(bào)样屠。\n4.按照上述順序連續(xù)匯報(bào)一段字符串穿撮,并且不用輸出順序號和任何多余信息。\n下面是你要分析的【合同文本】和要提取的【關(guān)鍵信息】:\n【合同文本】\n 甲方(用人單位)\n名稱:明達(dá)科技有限公司\n統(tǒng)一社會信用代碼:91310105MA1FW7U934\n地址:上海市靜安區(qū)延安西路666號\n聯(lián)系人:張明\n聯(lián)系方式:13800138000\n乙方(勞動者)\n姓名:李華\n身份證號碼:340824199001010012\n住所:上海市浦東新區(qū)世紀(jì)公園路100號\n聯(lián)系人:李華\n聯(lián)系方式:13900139000\n本合同各方經(jīng)平等自愿協(xié)商痪欲,根據(jù)《中華人民共和國民法典》《中華人民共和國勞動合同法》及相關(guān)法規(guī)悦穿,簽訂本合同以共同遵守。\n# 勞動合同期限 #\n勞動合同期限:自2023年 03月 01日起(含當(dāng)日)至 2026年 03月 01日(含當(dāng)日)止业踢。\n# 工作崗位和工作地點(diǎn) #\n工作崗位:軟件工程師栗柒。具體工作內(nèi)容以甲方要求為準(zhǔn)。\n工作地點(diǎn): 上海市靜安區(qū)延安西路666號明達(dá)科技有限公司辦公樓知举。\n# 勞動報(bào)酬 #\n月工資標(biāo)準(zhǔn):人民幣(大寫)玖仟元(¥9000元)瞬沦。\n# 工作時(shí)間、休息休假 #\n乙方所在崗位執(zhí)行標(biāo)準(zhǔn)工時(shí)制雇锡;甲方保障乙方的休息權(quán)利逛钻,并確保乙方每周至少休息一日。\n# 社會保險(xiǎn)和福利待遇 #\n甲方依法為乙方繳納社會保險(xiǎn)锰提。\n# 附則 #\n本合同一式兩份曙痘,甲、乙雙方各執(zhí)一份立肘,具有同等法律效力边坤。\n\n甲方(蓋章):明達(dá)科技有限公司\n乙方(簽字):李華\n簽訂日期:2023年03月01日\n【關(guān)鍵信息】\n勞動合同期限,注意要提取年月日-年月日 的純數(shù)字格式 分析:該合同包含了用人單位和勞動者的基本信息、勞動合同期限谅年、工作崗位和地點(diǎn)惩嘉、勞動報(bào)酬、工作時(shí)間和休息制度以及社會保險(xiǎn)等關(guān)鍵信息踢故,但缺失了試用期文黎、勞動紀(jì)律、勞動保護(hù)和職業(yè)危害防護(hù)等條款殿较。分析:有勞動合同期限耸峭。{"勞動合同期限": "20230301-20260301"}"

數(shù)據(jù)集是SFT的關(guān)鍵也是工作量最大的部分,數(shù)據(jù)的質(zhì)量關(guān)系訓(xùn)練的效果A芨佟劳闹!一般在1000條數(shù)據(jù)左右,最少100條洽瞬。

模型訓(xùn)練

進(jìn)入千帆modelbuilder平臺:https://console.bce.baidu.com/qianfan/overview
點(diǎn)擊左側(cè)SFT菜單本涕。


新建SFT任務(wù),點(diǎn)擊按鈕“創(chuàng)建訓(xùn)練作業(yè)”伙窃,填寫如下信息:



開始精調(diào)點(diǎn)擊“確定”按鈕菩颖,會自動調(diào)整到SFT詳情頁面。

預(yù)計(jì)精調(diào)40分鐘后完成为障。
發(fā)布模型為我的模型晦闰,

發(fā)布后,可以在左側(cè)我的模型菜單查看到發(fā)布后的模型鳍怨∩胗遥可以接下來評估、壓縮等操作鞋喇,最后部署模型為服務(wù)声滥,即可被調(diào)用進(jìn)行推理。

點(diǎn)擊部署鏈接侦香,開始申請資源進(jìn)行模型部署落塑,會生成模型的調(diào)用URL,注意圖中的API地址是固定地址加上自定義的內(nèi)容才是完整API地址鄙皇,再參考百度提供的API或者SDK進(jìn)行模型推理芜赌。

可以查看評估報(bào)告。

至此一個(gè)完成了模型SFT精調(diào)并發(fā)布為服務(wù)的過程伴逸。

模型評估請移步:http://www.reibang.com/p/23f73a8a7c53

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末缠沈,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子错蝴,更是在濱河造成了極大的恐慌洲愤,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件顷锰,死亡現(xiàn)場離奇詭異柬赐,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)官紫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進(jìn)店門肛宋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來州藕,“玉大人,你說我怎么就攤上這事酝陈〈膊#” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵沉帮,是天一觀的道長锈死。 經(jīng)常有香客問我,道長穆壕,這世上最難降的妖魔是什么待牵? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮喇勋,結(jié)果婚禮上缨该,老公的妹妹穿的比我還像新娘。我一直安慰自己茄蚯,他們只是感情好压彭,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著渗常,像睡著了一般壮不。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上皱碘,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天询一,我揣著相機(jī)與錄音,去河邊找鬼癌椿。 笑死健蕊,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的踢俄。 我是一名探鬼主播缩功,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼都办!你這毒婦竟也來了嫡锌?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤琳钉,失蹤者是張志新(化名)和其女友劉穎势木,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體歌懒,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡啦桌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了及皂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片甫男。...
    茶點(diǎn)故事閱讀 40,040評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡且改,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出查剖,到底是詐尸還是另有隱情钾虐,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布笋庄,位于F島的核電站,受9級特大地震影響倔监,放射性物質(zhì)發(fā)生泄漏直砂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一浩习、第九天 我趴在偏房一處隱蔽的房頂上張望静暂。 院中可真熱鬧,春花似錦谱秽、人聲如沸洽蛀。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽郊供。三九已至,卻和暖如春近哟,著一層夾襖步出監(jiān)牢的瞬間驮审,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工吉执, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留疯淫,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓戳玫,卻偏偏與公主長得像熙掺,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子咕宿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容