環(huán)懷山
在人工智能領(lǐng)域,模型微調(diào)已成為提升模型性能、使其適應(yīng)特定任務(wù)的關(guān)鍵技術(shù)。本文將全面系統(tǒng)地介紹模型微調(diào)的各個方面,幫助讀者深入理解這一重要技術(shù)。
一、什么是模型微調(diào)
模型微調(diào)是指在已經(jīng)訓(xùn)練好的預(yù)訓(xùn)練模型基礎(chǔ)上,進行進一步的調(diào)整和優(yōu)化,以使模型的輸出更加符合特定的應(yīng)用需求。從本質(zhì)上講,微調(diào)也是模型訓(xùn)練的一種形式,其過程與訓(xùn)練一個全新的模型有諸多相似之處。
誰來做微調(diào)
微調(diào)工作通常需要由具備豐富經(jīng)驗的研發(fā)人員或算法工程師來承擔(dān)。這一過程不僅需要扎實的技術(shù)功底,還離不開兩個核心要素:代碼實現(xiàn)能力和充足的算力支持。值得一提的是,雖然目前有一些平臺提供了可視化界面來輔助微調(diào),但這些界面的功能往往較為有限,只能起到一定的輔助作用。
什么樣的模型可以微調(diào)
并非所有模型都適合進行微調(diào),以下兩類模型是比較常見的微調(diào)對象:
大部分開源模型,例如LLaMA、qwen、glm等。這些模型具有開放的架構(gòu)和參數(shù),為用戶進行個性化調(diào)整提供了便利。
API中開放微調(diào)接口的閉源模型或平臺,如文心、智譜AI等。不過,開源模型和閉源模型在微調(diào)時存在明顯差異:開源模型經(jīng)過微調(diào)后可以生成新的模型;而閉源模型的微調(diào)過程則是在平臺的服務(wù)器上進行,用戶無法直接獲取模型的原始參數(shù)。
影響微調(diào)的核心因素
微調(diào)的效果受到多個因素的綜合影響,其中最為核心的包括:
基座模型的選擇:基座模型的性能和特性在很大程度上決定了微調(diào)的上限。
微調(diào)方式的選擇:不同的微調(diào)方法適用于不同的場景和需求。
數(shù)據(jù)質(zhì)量:高質(zhì)量的數(shù)據(jù)是確保微調(diào)成功的關(guān)鍵基礎(chǔ)。
二、模型微調(diào)工作流程
第一步:需求分析與目標設(shè)定
這一階段主要由項目組或產(chǎn)品經(jīng)理主導(dǎo),是微調(diào)工作的起點和關(guān)鍵。
什么情況下需要微調(diào)
在實際應(yīng)用中,以下幾種情況通常需要考慮對模型進行微調(diào):
項目性質(zhì)要求:例如甲方明確提出需求、出于資本化考慮或為了完成政績工程等。此外,微調(diào)也是快速獲得符合特定領(lǐng)域需求的大模型的常見手段,如礦山大模型、領(lǐng)域大模型等。
溝通方式和語言風(fēng)格有特殊要求:當基座模型通過prompt控制無法穩(wěn)定實現(xiàn)特定的溝通方式或語言風(fēng)格時,如AI兒童講故事場景。
基座模型缺少垂直領(lǐng)域數(shù)據(jù):在醫(yī)療、軍事等對專業(yè)知識要求較高的領(lǐng)域,由于互聯(lián)網(wǎng)公開數(shù)據(jù)可能無法滿足需求,導(dǎo)致基座模型無法完成專業(yè)任務(wù)。
基座模型無法完成特定任務(wù):例如需要模型實現(xiàn)自動化操作電腦、手機等功能。
微調(diào)之前需要考慮的問題
在決定進行微調(diào)之前,需要全面評估以下幾個方面:
是否已經(jīng)充分嘗試了prompt(包括few-shot、cot等方式)和RAG技術(shù)?
是否能夠保障微調(diào)所需的數(shù)據(jù)量級和數(shù)據(jù)質(zhì)量?
由于基座模型會不斷推出新版本,其能力也會不斷提升,是否考慮過需要重新微調(diào)的情況?
核心工作步驟
1)明確業(yè)務(wù)需求和微調(diào)模型的目標:
仔細審視所選的基座模型在實際場景中的表現(xiàn),判斷是否真的需要微調(diào)。
檢查是否已經(jīng)嘗試了各種prompt方法。
考慮是否對任務(wù)進行了合理拆解。
確認是否已經(jīng)完善了RAG系統(tǒng)。需要注意的是,在大多數(shù)情況下,可能并不需要進行微調(diào)。
2)確定需要解決的具體問題。
3)設(shè)定預(yù)期的性能提升目標。
4)明確特定的業(yè)務(wù)指標或限制條件。
第二步:數(shù)據(jù)收集與準備
數(shù)據(jù)收集與準備工作主要由產(chǎn)品經(jīng)理主導(dǎo),這是微調(diào)工作的基礎(chǔ)。
數(shù)據(jù)收集
根據(jù)具體的需求,從企業(yè)的數(shù)據(jù)庫、日志文件、用戶交互記錄等多種來源收集相關(guān)數(shù)據(jù)。需要強調(diào)的是,在真實場景中收集真實數(shù)據(jù)至關(guān)重要,這將直接影響到微調(diào)的效果。
數(shù)據(jù)清洗
對收集到的數(shù)據(jù)進行清洗,去除其中的噪聲、錯誤和不一致性,確保數(shù)據(jù)的質(zhì)量。高質(zhì)量的數(shù)據(jù)是模型能夠有效學(xué)習(xí)的前提。
數(shù)據(jù)標注
如果采用監(jiān)督學(xué)習(xí)方法進行微調(diào),則需要對數(shù)據(jù)進行標注。這一步可能需要雇傭外部團隊或利用內(nèi)部資源來完成。準確的標注數(shù)據(jù)對于模型的訓(xùn)練和性能提升具有重要意義。
數(shù)據(jù)劃分
將數(shù)據(jù)集劃分為訓(xùn)練集、驗證集和測試集,以便對模型的性能進行評估:
訓(xùn)練集:占比70-80%,用于模型的實際訓(xùn)練和學(xué)習(xí)。
驗證集:占比10-15%,用于評估模型在訓(xùn)練過程中的表現(xiàn),以便及時做出調(diào)整。
測試集:占比10-15%,在模型訓(xùn)練完成后用于最終評估模型的性能。
模型微調(diào)的數(shù)據(jù)量(LoRA微調(diào))
模型尺寸與微調(diào)數(shù)量級之間存在一定的大致關(guān)系,如下表所示:
數(shù)據(jù)質(zhì)量標準
以智能客服系統(tǒng)的對話場景模型微調(diào)為例,數(shù)據(jù)質(zhì)量標準可以包括以下多個維度:
第三步:模型選擇
模型選擇通常由算法主導(dǎo),產(chǎn)品經(jīng)理也應(yīng)積極參與。
前提考慮
在選擇模型之前,同樣需要考慮以下幾個問題:
是否已經(jīng)充分嘗試了prompt(包括few-shot、cot等方式)和RAG技術(shù)?
是否能夠保障微調(diào)所需的數(shù)據(jù)量級和數(shù)據(jù)質(zhì)量?
由于基座模型會不斷更新,是否考慮過需要重新微調(diào)的情況?
選擇模型的原則和方法
開源和閉源的選擇:原則上優(yōu)先選擇開源模型,但最終決策需要根據(jù)具體的業(yè)務(wù)場景來確定。
基座模型公司的選擇:例如智譜AI的glm系列模型,其中g(shù)lm4的最強模型不開源,而阿里系的qwen模型是一個值得推薦的選擇。
模型尺寸的選擇:需要從效果和成本兩個方面綜合考慮,在項目中,可能需要根據(jù)不同的場景選擇不同尺寸的模型。一般來說,可以先嘗試最大尺寸的模型以獲取最佳效果,然后再根據(jù)實際需求降到最小可行尺寸。
基于場景的模型選擇
在實際項目中,模型的選擇需要綜合考慮效果和成本。一個項目可能包含多個場景,因此可能需要選擇不同的模型。通常需要通過實驗和經(jīng)驗來確定最佳的模型選擇和微調(diào)方式,例如:
對于一些復(fù)雜任務(wù),可能需要采用33b+的模型進行全量微調(diào)。
而對于另一些任務(wù),可能采用110+的模型并凍結(jié)部分參數(shù)進行微調(diào)更為合適。
第四步:模型微調(diào)
模型微調(diào)由算法工程師實施,是整個工作流程的核心環(huán)節(jié)。
模型微調(diào)方式(本質(zhì)上是SFT)
1)全模型微調(diào):對整個模型的所有參數(shù)進行調(diào)整。
2)輕量化微調(diào)(Parameter-EfficientFine-tuning,PEFT):
低秩適應(yīng)微調(diào)(Low-RankAdaptation,LoRA):這是最常用的微調(diào)技術(shù)之一。
prompttuning。
P-Tuning。
Prefix-Tuning。
3)凍結(jié)部分參數(shù)微調(diào):只對模型的部分參數(shù)進行調(diào)整,其余參數(shù)保持凍結(jié)。
4)漸進微調(diào):逐步調(diào)整模型的參數(shù),以提高微調(diào)的效果和穩(wěn)定性。
5)多任務(wù)微調(diào):同時對多個任務(wù)進行微調(diào),以提高模型的泛化能力。
LoRA微調(diào)原理
LoRA微調(diào)的核心原理是只選擇原始模型的部分參數(shù)作為目標微調(diào)參數(shù)(通常r取4、8、16、32等),不更改模型的原始參數(shù),而是在原始參數(shù)的基礎(chǔ)上增加一個偏移量,從而得到一套新的參數(shù)。這種方法具有高效、節(jié)省算力等優(yōu)點,因此在實際應(yīng)用中最為常用。
QLoRA微調(diào)
QLoRA微調(diào)的主要目的是解決顯存占用量過大的問題。顯存占用量的計算方法如下:參數(shù)量×4×4倍(裝進來+轉(zhuǎn)起來)/(1024×1024×1024)=xG顯存。以7B模型為例,其參數(shù)量為7000000000,計算可得顯存占用約為11200000000字節(jié),即約104G,這需要5張NVIDIA4090顯卡(每張24G)。QLoRA通過將4個字節(jié)的浮點數(shù)改成1個字節(jié)的整數(shù),直接將顯存占用降低到原來的四分之一,大大提高了模型微調(diào)的可行性。
第五步:模型評估
模型評估由產(chǎn)品經(jīng)理主導(dǎo),是確保模型滿足預(yù)期需求的關(guān)鍵環(huán)節(jié)。
評估手段:支持率
在特定場景下評估微調(diào)后的模型能力,支持率是一個重要的指標。通用領(lǐng)域的評估往往沒有實際意義。具體評估方法如下:
1)設(shè)計問答任務(wù),使用微調(diào)前和微調(diào)后的模型分別回答問題,然后由人工在不知道回答來源的情況下進行偏好選擇。
2)評估標準:
如果微調(diào)后的模型支持率低于50%,說明這次微調(diào)不僅沒有提升模型能力,反而破壞了原有模型的能力。
如果支持率在50%左右,說明微調(diào)幾乎沒有取得進步。
如果支持率在50%-70%之間,微調(diào)的成果不夠理想。
如果支持率在70%-80%之間,說明這次微調(diào)是成功的。
如果支持率超過80%,表明在大多數(shù)場景下,這次微調(diào)都取得了顯著的提升。
第六步:模型部署
一旦模型通過評估,就可以由研發(fā)人員將其部署到生產(chǎn)環(huán)境中,使其能夠為實際業(yè)務(wù)提供服務(wù)。
第七步:監(jiān)控與維護
模型部署到生產(chǎn)環(huán)境后,需要由產(chǎn)品經(jīng)理負責(zé)進行監(jiān)控與維護:
性能監(jiān)控:定期檢查模型的性能,確保其持續(xù)滿足業(yè)務(wù)需求。
更新與再訓(xùn)練:隨著新數(shù)據(jù)的獲取或業(yè)務(wù)環(huán)境的變化,可能需要對模型進行再次訓(xùn)練或微調(diào),以適應(yīng)新的情況。
第八步:反饋循環(huán)
產(chǎn)品經(jīng)理需要設(shè)計反饋和監(jiān)督機制,建立一個有效的反饋循環(huán):收集模型使用過程中的反饋信息,用于指導(dǎo)未來的改進和優(yōu)化工作,使模型能夠不斷進化和完善。
三、數(shù)據(jù)工程
需要明確的是,微調(diào)不是一次性工程,持續(xù)的數(shù)據(jù)收集和體系化的數(shù)據(jù)處理比微調(diào)技術(shù)本身更為重要。
如何收集偏好數(shù)據(jù)(相當于人工標注)
點贊點踩:通過用戶對模型輸出的點贊或點踩行為來收集偏好數(shù)據(jù)。
多選項選擇:例如一次性給用戶展示4張圖,讓用戶選擇偏好的選項;或者讓模型生成兩個答案,讓用戶進行選擇。
客服工作臺輔助:在客服工作臺中,模型生成4個輔助回復(fù),其中2個來自原模型,2個來自微調(diào)后的模型,讓客服選擇一個最合適的回復(fù),從而收集偏好數(shù)據(jù)。
產(chǎn)品功能設(shè)計
數(shù)據(jù)收集能力:在產(chǎn)品功能設(shè)計上,一定要具備數(shù)據(jù)收集能力,以便及時獲取用戶反饋和偏好數(shù)據(jù)。
定向數(shù)據(jù)收集:針對特定場景,在產(chǎn)品功能上設(shè)計定向數(shù)據(jù)收集的機制,提高數(shù)據(jù)的針對性和有效性。
設(shè)計好數(shù)據(jù)管理平臺
利用LLM能力:讓數(shù)據(jù)管理平臺具備一定的智能,提高數(shù)據(jù)管理的效率和質(zhì)量。
參考案例:如百度智能云的數(shù)據(jù)管理和數(shù)據(jù)標注平臺。
數(shù)據(jù)管理平臺產(chǎn)品框架
數(shù)據(jù)來源管理:管理自有數(shù)據(jù)、公開數(shù)據(jù)、用戶生成數(shù)據(jù)、專家撰寫的數(shù)據(jù)、模型合成數(shù)據(jù)、眾包收集數(shù)據(jù)等多種數(shù)據(jù)來源,并實現(xiàn)在線系統(tǒng)數(shù)據(jù)的直接導(dǎo)入和數(shù)據(jù)平臺與在線系統(tǒng)的實時對接。
體系化標注:包括標簽定義、標簽層次構(gòu)建、打標任務(wù)管理和打標任務(wù)分層等,支持用戶打標、服務(wù)人員打標、專家打標、AI打標、交叉打標、交叉復(fù)檢和專家抽檢等多種標注方式。
數(shù)據(jù)去重與增強:通過prompt的相似度計算、數(shù)據(jù)來源整體質(zhì)量分級等方法進行數(shù)據(jù)去重,同時采用同義詞替換、詞序打亂、反向翻譯、數(shù)據(jù)混合等技術(shù)進行數(shù)據(jù)增強。例如,將200條問答數(shù)據(jù)通過模型生成相同的提問,可擴展為400條數(shù)據(jù);將數(shù)據(jù)翻譯成其他語言再翻譯回原語言,可實現(xiàn)表達方法的多樣性。
數(shù)據(jù)打包:實現(xiàn)訓(xùn)練集、驗證集和測試集的自動化劃分,建立數(shù)據(jù)集與模型版本、模型評估結(jié)果的關(guān)聯(lián),并按標簽評估數(shù)據(jù)的可用性和復(fù)用性。
模型評估:支持偏好打標、專家打分、用戶偏好收集等評估方式,并按標簽產(chǎn)出評估結(jié)果,實現(xiàn)評估與打標數(shù)據(jù)的復(fù)用。
多利用能力強大的模型輔助工作:例如利用強大的模型進行數(shù)據(jù)過濾、自動打標、交叉復(fù)檢、prompt的相似度計算、response質(zhì)量對比、數(shù)據(jù)增強和模型評估等工作,提高數(shù)據(jù)工程的效率和質(zhì)量。
四、后記
原則
如果沒有高質(zhì)量的數(shù)據(jù),微調(diào)實操的意義不大。數(shù)據(jù)質(zhì)量是決定微調(diào)效果的關(guān)鍵因素,即使采用最先進的微調(diào)技術(shù),若沒有高質(zhì)量的數(shù)據(jù)支撐,也難以取得理想的效果。
不強調(diào)數(shù)據(jù)量的大小,但是數(shù)據(jù)質(zhì)量一定要高。在數(shù)據(jù)工程中,應(yīng)更加注重數(shù)據(jù)的質(zhì)量而非數(shù)量,高質(zhì)量的數(shù)據(jù)能夠使模型更加有效地學(xué)習(xí)到所需的知識和模式。
通過以上對模型微調(diào)的全面介紹,相信讀者已經(jīng)對模型微調(diào)有了深入的理解。在實際應(yīng)用中,需要根據(jù)具體的業(yè)務(wù)需求和場景,合理選擇微調(diào)方法和數(shù)據(jù)處理方式,以實現(xiàn)模型性能的有效提升。
故事:救了庶妹后,太子瘋了
第三本:神帝歸來作者:夢醒淚殤簡介:五百年前,至尊神帝張劍,在大婚之日被未婚妻所害,鎮(zhèn)壓五指印下生不如死。五百年后,一縷神魂逃出,轉(zhuǎn)世重生在受盡欺辱的廢物少爺身上——-?! ? 這一世,我依然叫張劍,自邊陲之地而出,鑄神體,煉神丹,鍛神器?! ? 一柄混元傘,一部無上結(jié)印法,我要滅皇朝,..
來源:紅網(wǎng)
作者:張靖芷
編輯:仇問柳
本文為紅辣椒評論 原創(chuàng)文章,僅系作者個人觀點,不代表紅網(wǎng)立場。轉(zhuǎn)載請附原文出處鏈接和本聲明。