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