嗨,朋友們!今天我來(lái)給大家分享超實(shí)用的大模型微調(diào)教程,哪怕你是小白,跟著做也能輕松上手哦,草侶蟲(chóng)都能學(xué)會(huì),所以大家趕緊收藏點(diǎn)贊關(guān)注呀!
咱們直接在 openAI 的 dashboard 里進(jìn)行可視化微調(diào),操作那是相當(dāng)簡(jiǎn)單。雖說(shuō)這教程有點(diǎn)長(zhǎng),但咱得先在簡(jiǎn)單操作里把微調(diào)的關(guān)鍵搞清楚。
首先,來(lái)到 openAI 官網(wǎng),看看官方咋說(shuō)微調(diào)的。官方講微調(diào)就 4 個(gè)步驟:一是準(zhǔn)備數(shù)據(jù)集,二是訓(xùn)練,三是評(píng)估測(cè)試效果,四是開(kāi)始使用。聽(tīng)起來(lái)挺簡(jiǎn)單吧?但啥時(shí)候用微調(diào)呢?官方說(shuō)了,先試試靠提示詞能不能解決問(wèn)題,很多時(shí)候調(diào)整提示詞就行,因?yàn)榈崾驹~比微調(diào)結(jié)果方便多了,這有點(diǎn)勸退的意思哦。不過(guò)要是試了提示詞還不行,那之前試的提示詞也不浪費(fèi),用在微調(diào)模型上效果更好。
那微調(diào)能改善啥情況呢?像設(shè)定風(fēng)格,比如模仿誰(shuí)說(shuō)話、固定回答格式啥的。還有些難懂的,咱就重點(diǎn)理解這條:有些東西靠嘴說(shuō)不清楚,但給例子展示結(jié)果就容易,就像讓模型理解網(wǎng)友幽默感,或者訓(xùn)練溫柔暖心的心理醫(yī)生,形容詞太虛說(shuō)不明白,給它看很多相關(guān)例子讓它自己悟,這就是微調(diào)的厲害之處。而且微調(diào)里最重要的是先想好目標(biāo)和結(jié)果,沒(méi)考核標(biāo)準(zhǔn),做啥都可能白搭。
接著說(shuō)給 AI 看啥示范數(shù)據(jù),格式是 jsonl 格式,看著暈別慌,其實(shí)就是一組組對(duì)話,一行就是一組,寫(xiě)明希望啥輸入對(duì)應(yīng)啥輸出。比如我準(zhǔn)備訓(xùn)練一個(gè)偶爾會(huì)寫(xiě)錯(cuò)字拼錯(cuò)詞的醫(yī)生,像 “左手用力或者變換成一定的姿勢(shì)是吳腕背部精疼,有時(shí)候睡覺(jué)疼醒了?!薄澳愫?,你說(shuō)的情況可能是韌帶肌腱炎引起的啊,建議指導(dǎo)你注意休息,不要著涼服用這個(gè)片,祝你健康” 這樣的對(duì)話,就是我們期望模型達(dá)到的效果。這里面一條信息有 3 個(gè)角色,系統(tǒng)內(nèi)容(如 “你是一個(gè)偶爾會(huì)拼錯(cuò)單詞的助手”,數(shù)據(jù)少更好寫(xiě)上)、用戶輸入、助手回答。練習(xí)時(shí)可以網(wǎng)上找公開(kāi)數(shù)據(jù)集或者按格式自己準(zhǔn)備,我也會(huì)給大家打包好哦。準(zhǔn)備數(shù)據(jù)集時(shí),openAI 提示至少 10 組示例,50 - 100 個(gè)效果更好,還建議分成訓(xùn)練和測(cè)試兩部分。
數(shù)據(jù)集好了就到 dashboard 微調(diào)。點(diǎn)擊左邊 fine tuning 微調(diào)再點(diǎn)創(chuàng)建。這里 base model 選基礎(chǔ)模型,比如 4.0 啥的,然后上傳訓(xùn)練數(shù)據(jù)(jsonl 文件),驗(yàn)證數(shù)據(jù)可傳可不傳。給模型起個(gè)名字,像我叫 tengsheji。種子能固定訓(xùn)練效果,相同種子和參數(shù)訓(xùn)練結(jié)果相同,不寫(xiě)系統(tǒng)隨機(jī)生成。還有超參數(shù),batch size 批次大小,就像人學(xué)習(xí)聽(tīng)完知識(shí)得總結(jié)更新參數(shù),它規(guī)定大模型看多少數(shù)據(jù)更新一次參數(shù),太大太小都不好,得選合適的;學(xué)習(xí)率呢,大模型找更優(yōu)解就像在山里找低谷,學(xué)習(xí)率決定步子邁多大,高了找不到更低點(diǎn),低了可能只找到局部更低點(diǎn),影響學(xué)習(xí)速度和穩(wěn)定性;訓(xùn)練輪數(shù)就是大模型看完整遍數(shù)據(jù)集算一輪,輪數(shù)太多會(huì)過(guò)擬合,像人學(xué)傻了一樣,問(wèn)啥只按數(shù)據(jù)答,沒(méi)泛化能力。openAI 建議開(kāi)始別指定參數(shù),用默認(rèn)值,不行再調(diào)整,訓(xùn)練是個(gè)反復(fù)調(diào)整檢驗(yàn)的過(guò)程。
點(diǎn)擊創(chuàng)建,很快就訓(xùn)練好了,有成功模型后就能去 Playground 測(cè)試,還能在外部通過(guò) API 調(diào)用。好啦,這次簡(jiǎn)單的大模型微調(diào)之旅就到這,記得點(diǎn)贊收藏關(guān)注哦,下次再見(jiàn)!