組織越來(lái)越渴望將大型語(yǔ)言模型 (LLM) 集成到其業(yè)務(wù)流程中,利用其廣泛的功能,例如文本生成、問(wèn)答和摘要。然而,這些生成式 AI 工具被廣泛采用的一個(gè)重大障礙是它們不適用于特定領(lǐng)域或各個(gè)行業(yè)的獨(dú)特工作流程。盡管LLM的通用語(yǔ)言能力令人印象深刻,但許多組織利益相關(guān)者認(rèn)為,當(dāng)前一代語(yǔ)言模型未能滿足他們的專業(yè)要求。
幸運(yùn)的是,微調(diào)為 LLM 中的特異性問(wèn)題提供了關(guān)鍵解決方案。了解微調(diào)背后的原理及其潛在優(yōu)勢(shì)和影響對(duì)于每個(gè)組織的 AI 戰(zhàn)略都至關(guān)重要。本指南深入探討了微調(diào)的概念、流程機(jī)制、其優(yōu)點(diǎn)和缺點(diǎn)、潛在用例以及微調(diào) LLM 的不同方法。
了解微調(diào):它是什么以及它如何工作?
微調(diào)是指訓(xùn)練預(yù)先訓(xùn)練好的基礎(chǔ) LLM 或基礎(chǔ)模型,使其執(zhí)行特定任務(wù)或在特定知識(shí)領(lǐng)域內(nèi)運(yùn)行。通過(guò)使用特定領(lǐng)域或任務(wù)的數(shù)據(jù)集(比最初訓(xùn)練的龐大語(yǔ)料庫(kù)小得多且更加精心策劃)對(duì) LLM 進(jìn)行微調(diào),您可以顯著提高其在特定用例中的表現(xiàn)。
LLM 的預(yù)訓(xùn)練涉及對(duì)大量非結(jié)構(gòu)化數(shù)據(jù)(通常高達(dá) TB 級(jí))進(jìn)行無(wú)監(jiān)督學(xué)習(xí),這些數(shù)據(jù)來(lái)自互聯(lián)網(wǎng)上的各個(gè)地方。這通常被稱為大網(wǎng)絡(luò)數(shù)據(jù),Common Crawl 數(shù)據(jù)集就是一個(gè)顯著的例子。此過(guò)程的結(jié)果是一個(gè)基礎(chǔ)模型,該模型具有對(duì)語(yǔ)言的詳細(xì)理解,在 LLM 內(nèi)部通過(guò)一系列廣泛的參數(shù)表示。這些參數(shù)封裝了語(yǔ)言模式和單詞之間的關(guān)系,為整個(gè) LLM 神經(jīng)網(wǎng)絡(luò)的不同層分配權(quán)重。參數(shù)及其權(quán)重的大小決定了響應(yīng)給定輸入提示的下一個(gè)標(biāo)記輸出的概率。
雖然預(yù)訓(xùn)練模型積累了大量的語(yǔ)言常識(shí),但它缺乏特定任務(wù)所需的專業(yè)知識(shí)。此外,盡管預(yù)訓(xùn)練模型可以生成連貫且與上下文相關(guān)的響應(yīng),但這些響應(yīng)往往更具文檔風(fēng)格,而不是 AI 助手所期望的對(duì)話式響應(yīng)。微調(diào)可以彌補(bǔ)這些通用預(yù)訓(xùn)練模型與特定生成式 AI 應(yīng)用程序的獨(dú)特需求之間的差距。
通過(guò)對(duì) LLM 進(jìn)行微調(diào),組織可以根據(jù)自己的具體需求定制這些強(qiáng)大的工具,從而克服采用這些工具的最大障礙之一。這種方法使企業(yè)能夠利用 LLM 強(qiáng)大的通用語(yǔ)言功能,同時(shí)針對(duì)其特定領(lǐng)域進(jìn)行定制,最終實(shí)現(xiàn)更有效、更高效的 AI 驅(qū)動(dòng)流程。
大型語(yǔ)言模型的微調(diào)機(jī)制
對(duì)大型語(yǔ)言模型 (LLM) 進(jìn)行微調(diào)需要采用預(yù)先訓(xùn)練的基礎(chǔ)模型,并使用針對(duì)特定任務(wù)或領(lǐng)域定制的新標(biāo)記數(shù)據(jù)集對(duì)其進(jìn)行訓(xùn)練。與模型初始預(yù)訓(xùn)練期間使用的龐大數(shù)據(jù)集不同,微調(diào)數(shù)據(jù)集較小且由人工策劃。當(dāng) LLM 首次輸入這些專門的數(shù)據(jù)時(shí),它會(huì)根據(jù)其預(yù)訓(xùn)練做出預(yù)測(cè)。然而,由于模型缺乏接觸這些數(shù)據(jù),許多預(yù)測(cè)都是錯(cuò)誤的。然后,模型計(jì)算其預(yù)測(cè)與正確輸出之間的差異,稱為損失函數(shù)。
隨后,LLM 采用梯度下降等優(yōu)化算法來(lái)確定需要調(diào)整哪些參數(shù)以提高預(yù)測(cè)精度。優(yōu)化算法會(huì)分析損失函數(shù),以確定哪些參數(shù)導(dǎo)致了預(yù)測(cè)誤差以及影響程度。造成誤差的參數(shù)會(huì)進(jìn)行較大幅度的調(diào)整,而造成誤差較小的參數(shù)則會(huì)進(jìn)行較小幅度的調(diào)整。通過(guò)對(duì)數(shù)據(jù)集進(jìn)行幾次迭代,LLM 會(huì)不斷調(diào)整其參數(shù),最終開(kāi)發(fā)出一種神經(jīng)網(wǎng)絡(luò)配置,以最小化給定數(shù)據(jù)集的損失函數(shù),從而更好地執(zhí)行正在微調(diào)的特定任務(wù)或領(lǐng)域。
探索兩種主要的微調(diào)類型
對(duì) LLM 進(jìn)行微調(diào)通常有兩種主要方法:完全微調(diào)和遷移學(xué)習(xí)。每種方法都有其獨(dú)特的方法和含義:
完全微調(diào):這種綜合方法涉及更新基礎(chǔ)模型的所有參數(shù)并創(chuàng)建具有更改權(quán)重的新版本。雖然這種方法是將預(yù)訓(xùn)練的 LLM 適應(yīng)新任務(wù)或領(lǐng)域的最徹底的方法,但它也是最耗費(fèi)資源的方法。完全微調(diào)需要大量的 CPU 能力和內(nèi)存來(lái)處理和存儲(chǔ)所有調(diào)整后的參數(shù)、梯度變化、損失函數(shù)以及在此過(guò)程中更新的其他組件。
此外,完全微調(diào)會(huì)為每個(gè)訓(xùn)練任務(wù)或領(lǐng)域創(chuàng)建基礎(chǔ) LLM 的新迭代,每個(gè)版本的大小與原始版本一樣大。因此,如果您計(jì)劃為各種用例開(kāi)發(fā)模型或生成微調(diào) LLM 的多個(gè)迭代,您的存儲(chǔ)需求可能會(huì)迅速增加。
遷移學(xué)習(xí):遷移學(xué)習(xí)也稱為重新利用,涉及訓(xùn)練基礎(chǔ)模型以完成與最初訓(xùn)練任務(wù)不同的任務(wù)。由于 LLM 在預(yù)訓(xùn)練期間已經(jīng)獲得了大量語(yǔ)言知識(shí),因此可以提取某些特征并調(diào)整以適應(yīng)新的用例或領(lǐng)域。在這種方法中,大多數(shù)(如果不是全部)基礎(chǔ)模型的神經(jīng)網(wǎng)絡(luò)層都被“凍結(jié)”,以限制其參數(shù)的調(diào)整范圍。隨后,剩余的層(在某些情況下是全新的層)將使用特定于領(lǐng)域或任務(wù)的數(shù)據(jù)進(jìn)行微調(diào)。
由于需要調(diào)整的參數(shù)較少,遷移學(xué)習(xí)可以使用較小的微調(diào)數(shù)據(jù)集進(jìn)行,并且所需的時(shí)間和計(jì)算資源也更少。對(duì)于預(yù)算、時(shí)間或標(biāo)記數(shù)據(jù)不足的組織來(lái)說(shuō),遷移學(xué)習(xí)是一個(gè)有吸引力的選擇。
通過(guò)了解微調(diào)的機(jī)制和方法,組織可以做出明智的決定,充分利用 LLM 來(lái)滿足其需求。微調(diào)提供了一種途徑,可以利用這些強(qiáng)大模型的一般功能,同時(shí)對(duì)其進(jìn)行定制,使其在專門的環(huán)境中有效運(yùn)行,從而克服了廣泛采用這些模型的重大障礙。
微調(diào)大型語(yǔ)言模型的優(yōu)勢(shì)與挑戰(zhàn)
在研究了微調(diào)的含義之后,了解微調(diào)大語(yǔ)言模型的好處以及它帶來(lái)的潛在挑戰(zhàn)至關(guān)重要。讓我們探討微調(diào)基礎(chǔ)模型的優(yōu)勢(shì)和障礙。
微調(diào)的優(yōu)勢(shì)
性能增強(qiáng):經(jīng)過(guò)微調(diào)的 LLM 可以處理更廣泛的任務(wù),并且比單純的預(yù)訓(xùn)練模型更適用于更多用例。通常,經(jīng)過(guò)微調(diào)的模型可以更高效地執(zhí)行其功能,提供更準(zhǔn)確、更豐富的輸出,從而更好地滿足用戶期望。
任務(wù)或領(lǐng)域特異性:針對(duì)特定領(lǐng)域或任務(wù)的獨(dú)特語(yǔ)言模式、術(shù)語(yǔ)和上下文細(xì)微差別訓(xùn)練 LLM 可以使其更有效地實(shí)現(xiàn)預(yù)期目的。根據(jù)針對(duì)特定行業(yè)的數(shù)據(jù)集對(duì)基礎(chǔ)模型進(jìn)行微調(diào)可以顯著提高其對(duì)這些領(lǐng)域內(nèi)組織的價(jià)值。
定制:通過(guò)培訓(xùn) LLM 以適應(yīng)貴組織的語(yǔ)氣和術(shù)語(yǔ),您可以確保您的生成式 AI 應(yīng)用程序提供客戶習(xí)慣的相同體驗(yàn)。當(dāng)您將生成式 AI 集成到您的業(yè)務(wù)流程中時(shí),這種跨所有溝通形式和渠道的一致性可以維持甚至提高客戶滿意度。
更低的資源消耗:在某些情況下,經(jīng)過(guò)微調(diào)的模型消耗的計(jì)算和存儲(chǔ)資源遠(yuǎn)少于預(yù)先訓(xùn)練的 LLM。較小的模型運(yùn)行成本較低,部署選項(xiàng)也更靈活。此外,根據(jù)具體用例,較小的經(jīng)過(guò)微調(diào)的基礎(chǔ)模型可以勝過(guò)較大的通用模型。
增強(qiáng)數(shù)據(jù)隱私和安全性:組織可能希望使用專有數(shù)據(jù)或客戶數(shù)據(jù)訓(xùn)練模型,以生成更準(zhǔn)確的輸出。微調(diào)使公司能夠更好地控制模型所接觸的數(shù)據(jù),確保 LLM 適應(yīng)任務(wù)或領(lǐng)域,同時(shí)保持?jǐn)?shù)據(jù)安全性和合規(guī)性。
微調(diào)的挑戰(zhàn)
成本高昂:微調(diào),尤其是完全微調(diào),計(jì)算成本高昂,隨著模型變大,需要大量的計(jì)算能力、內(nèi)存和存儲(chǔ)空間。自然,每增加一個(gè)微調(diào)模型,成本就會(huì)增加。
耗時(shí):收集和清理數(shù)據(jù)、將數(shù)據(jù)輸入模型以及評(píng)估輸出的過(guò)程可能非常耗時(shí),因此微調(diào)是一項(xiàng)漫長(zhǎng)的工作。
數(shù)據(jù)采購(gòu)困難:為預(yù)期用例或知識(shí)領(lǐng)域采購(gòu)適當(dāng)?shù)臄?shù)據(jù)可能成本高昂。數(shù)據(jù)不足或嘈雜可能會(huì)影響 LLM 的性能和可靠性,使適當(dāng)?shù)奈⒄{(diào)變得具有挑戰(zhàn)性。確保數(shù)據(jù)充足且格式正確至關(guān)重要,但可能很困難。
災(zāi)難性遺忘:在針對(duì)特定任務(wù)進(jìn)行微調(diào)時(shí),基礎(chǔ)模型可能會(huì)因參數(shù)改變而“忘記”之前獲得的一般知識(shí)。這種現(xiàn)象稱為災(zāi)難性遺忘,會(huì)損害模型在更廣泛任務(wù)上的表現(xiàn),以追求特異性。
微調(diào)大語(yǔ)言模型 (LLM) 的用例
1、增強(qiáng)語(yǔ)言翻譯:讓大語(yǔ)言模型接觸鮮為人知的語(yǔ)言可以提高其熟練翻譯文本的能力,為全球交流和合作打開(kāi)大門。
2、專業(yè)知識(shí)庫(kù):當(dāng) LLM 使用特定主題的數(shù)據(jù)集進(jìn)行微調(diào)時(shí),它會(huì)積累深厚的領(lǐng)域知識(shí),從而能夠在醫(yī)療保健、金融和法律等專業(yè)領(lǐng)域提供專家級(jí)的幫助。
3、高級(jí)對(duì)話式人工智能:通過(guò)對(duì)行業(yè)相關(guān)數(shù)據(jù)的基礎(chǔ)模型進(jìn)行微調(diào),開(kāi)發(fā)人員可以設(shè)計(jì)出高效的聊天機(jī)器人和虛擬助手,提供明智的響應(yīng)并讓用戶進(jìn)行有意義的互動(dòng)。
4、精確摘要:微調(diào)使 LLM 能夠徹底分析復(fù)雜文檔,并根據(jù)用戶需求和興趣生成簡(jiǎn)潔而全面的摘要。
5、情感分析和元數(shù)據(jù)提取:利用區(qū)域差異、表達(dá)和語(yǔ)言細(xì)微差別,經(jīng)過(guò)精細(xì)調(diào)整的 LLM 擅長(zhǎng)解讀消息背后的情感、識(shí)別用戶偏好和捕獲隱藏的元數(shù)據(jù),從而帶來(lái)個(gè)性化的體驗(yàn)和有針對(duì)性的營(yíng)銷活動(dòng)。
大語(yǔ)言模型 (LLM) 的微調(diào)技術(shù)
A.監(jiān)督微調(diào)
監(jiān)督式微調(diào)是指在特定數(shù)據(jù)集上訓(xùn)練大型語(yǔ)言模型 (LLM) 的一組策略,每個(gè)輸入條目都有相應(yīng)的標(biāo)簽或結(jié)果。這種方法旨在教會(huì)模型區(qū)分其自身生成的輸出與提供的參考標(biāo)簽之間的差異,從而針對(duì)正在微調(diào)的不同用例或領(lǐng)域優(yōu)化其性能。
各種形式的監(jiān)督微調(diào)包括:
針對(duì)特定任務(wù)的微調(diào):通過(guò)接觸特定用例或知識(shí)領(lǐng)域,大語(yǔ)言模型 (LLM) 可以磨練他們的技能來(lái)滿足獨(dú)特的要求和細(xì)微差別,從而優(yōu)化他們?cè)趩蝹€(gè)任務(wù)中的表現(xiàn)。
多任務(wù)微調(diào):同時(shí)對(duì) LLM 進(jìn)行多個(gè)相關(guān)任務(wù)的訓(xùn)練可提高整體能力,促進(jìn)多種應(yīng)用,并避免“災(zāi)難性遺忘”。
順序微調(diào):對(duì)連續(xù)任務(wù)進(jìn)行迭代訓(xùn)練 LLM,逐步使其適應(yīng)特定用例,確保在整個(gè)微調(diào)過(guò)程中持續(xù)改進(jìn)。
少量樣本微調(diào):為模型提供一些相關(guān)示例以及提示,確保其能夠正確適應(yīng)新任務(wù),并產(chǎn)生高質(zhì)量的響應(yīng)。
B.基于人類反饋的強(qiáng)化學(xué)習(xí)(RLHF)
利用人類專業(yè)知識(shí)塑造語(yǔ)言模型 RLHF 是一種強(qiáng)大的微調(diào)方法,它利用人類反饋來(lái)訓(xùn)練能夠針對(duì)特定任務(wù)或領(lǐng)域微調(diào)語(yǔ)言模型的算法。通過(guò)利用人類評(píng)估者的專業(yè)知識(shí),RLHF 可確保語(yǔ)言模型產(chǎn)生更準(zhǔn)確的響應(yīng)并開(kāi)發(fā)出符合人類期望的精細(xì)功能,使其成為現(xiàn)實(shí)場(chǎng)景中的寶貴資產(chǎn)。
C.參數(shù)有效微調(diào)(PEFT)
參數(shù)高效微調(diào) (PEFT)是一種用于微調(diào)大型語(yǔ)言模型 (LLM) 的技術(shù),同時(shí)減少所需的計(jì)算資源和時(shí)間。這是通過(guò)凍結(jié)預(yù)訓(xùn)練模型的現(xiàn)有參數(shù)并添加要在微調(diào)期間調(diào)整的新參數(shù)來(lái)實(shí)現(xiàn)的。這大大減少了需要更改的參數(shù)數(shù)量,從而可以使用較小的數(shù)據(jù)集和傳統(tǒng)硬件對(duì)模型進(jìn)行微調(diào)。PEFT 還可以通過(guò)保留預(yù)訓(xùn)練模型的原始功能來(lái)幫助防止災(zāi)難性遺忘問(wèn)題。
D.低秩自適應(yīng)(LoRA)
低秩自適應(yīng) (LoRA)是 PEFT 的一種常用實(shí)現(xiàn),它跟蹤模型參數(shù)的變化,而不是直接更新它們。LoRA 使用低秩分解將表示參數(shù)修改方式的矩陣分解為兩個(gè)較小的矩陣,這需要較少的 CPU 和內(nèi)存來(lái)操作。
E.直接偏好優(yōu)化(DPO)
直接偏好優(yōu)化 (DPO)是一種比人工反饋強(qiáng)化學(xué)習(xí) (RLHF) 更簡(jiǎn)單、資源占用更少的方法。DPO 通過(guò)實(shí)施獎(jiǎng)勵(lì)機(jī)制的參數(shù)化版本,激勵(lì)預(yù)先訓(xùn)練的 LLM 參數(shù)生成標(biāo)記為正的輸出,并避開(kāi)標(biāo)記為負(fù)的輸出。研究表明,DPO 的性能優(yōu)于或與 RLHF 相當(dāng),同時(shí)消耗更少的計(jì)算資源,并且沒(méi)有 RLHF 固有的復(fù)雜性。
結(jié)論
通過(guò)精細(xì)調(diào)整的語(yǔ)言模型為企業(yè)賦能 隨著精細(xì)調(diào)整領(lǐng)域的不斷發(fā)展,語(yǔ)言模型所能實(shí)現(xiàn)的界限也在不斷被突破。組織正在發(fā)現(xiàn)精細(xì)調(diào)整的語(yǔ)言模型可以提供的巨大價(jià)值,為新用例、生成式人工智能的廣泛采用和進(jìn)一步創(chuàng)新鋪平了道路。隨著每一次進(jìn)步,企業(yè)都可以獲得強(qiáng)大的工具,這些工具可以改變其運(yùn)營(yíng)方式、提高效率并釋放新的增長(zhǎng)和成功機(jī)會(huì)。