Hugging Face: 一個(gè)提供豐富預(yù)訓(xùn)練模型和工具的領(lǐng)先平臺(tái),助力自然語言處理(NLP)任務(wù)的快速開發(fā)與部署。
一、公司介紹
Hugging Face 是一家專注于自然語言處理(NLP)模型訓(xùn)練和部署的平臺(tái)公司。
二、平臺(tái)特點(diǎn)
提供多種 NLP 任務(wù)的模型庫,如語言翻譯、文本生成和問答。
提供了在特定數(shù)據(jù)集上微調(diào)預(yù)訓(xùn)練模型的工具。
提供了訪問和利用應(yīng)用程序中預(yù)訓(xùn)練模型的 API。
提供了構(gòu)建定制模型并將其部署到云端的工具。
三、使用優(yōu)勢 模型多樣性 :提供大量預(yù)訓(xùn)練的 NLP 模型,滿足不同任務(wù)需求。
二、Fine-tuning 的原理
大模型微調(diào) 的步驟:在選定相關(guān)數(shù)據(jù)集和預(yù)訓(xùn)練模型的基礎(chǔ)上,通過設(shè)置合適的超參數(shù)并對模型進(jìn)行必要的調(diào)整,使用特定任務(wù)的數(shù)據(jù)對模型進(jìn)行訓(xùn)練以優(yōu)化其性能。
大模型微調(diào) 包含以下四個(gè)核心步驟:
數(shù)據(jù)準(zhǔn)備 :
選擇與任務(wù)相關(guān)的數(shù)據(jù)集。
對數(shù)據(jù)進(jìn)行預(yù)處理,包括清洗、分詞、編碼等。
選擇基礎(chǔ)模型 :
選擇一個(gè)預(yù)訓(xùn)練好的大語言模型,如BERT、GPT-3等。
設(shè)置微調(diào)參數(shù) :
設(shè)定學(xué)習(xí)率、訓(xùn)練輪次(epochs)、批處理大?。╞atch size)等超參數(shù)。
根據(jù)需要設(shè)定其他超參數(shù),如權(quán)重衰減、梯度剪切等。
微調(diào)流程 :
加載預(yù)訓(xùn)練的模型和權(quán)重。
根據(jù)任務(wù)需求對模型進(jìn)行必要的修改,如更改輸出層。
選擇合適的損失函數(shù)和優(yōu)化器。
使用選定的數(shù)據(jù)集進(jìn)行微調(diào)訓(xùn)練,包括前向傳播、損失計(jì)算、反向傳播和權(quán)重更新。
RLHF(Reinforcement Learning from Human Feedback): 一種利用人類反饋?zhàn)鳛楠?jiǎng)勵(lì)信號(hào)來訓(xùn)練強(qiáng)化學(xué)習(xí)模型的方法,旨在提升模型生成文本等內(nèi)容的質(zhì)量,使其更符合人類偏好。
強(qiáng)化學(xué)習(xí)(Reinforcement Learning)結(jié)合人類反饋(Human Feedback)來微調(diào)大語言模型(Large Language Models)的一般過程:
一、使用監(jiān)督數(shù)據(jù)微調(diào)語言模型 :
這一步與傳統(tǒng)的fine-tuning 類似,即使用標(biāo)注過的數(shù)據(jù)來調(diào)整預(yù)訓(xùn)練模型的參數(shù),使其更好地適應(yīng)特定任務(wù)或領(lǐng)域。
二、訓(xùn)練獎(jiǎng)勵(lì)模型 :
獎(jiǎng)勵(lì)模型用于評估文本序列的質(zhì)量,它接受一個(gè)文本作為輸入,并輸出一個(gè)數(shù)值,表示該文本符合人類偏好的程度。
訓(xùn)練數(shù)據(jù)通常由多個(gè)語言模型生成的文本序列組成,這些序列經(jīng)過人工評估或使用其他模型(如ChatGPT)進(jìn)行打分。
這個(gè)獎(jiǎng)勵(lì)信號(hào)在后續(xù)的強(qiáng)化學(xué)習(xí)訓(xùn)練中至關(guān)重要,因?yàn)樗笇?dǎo)模型生成更符合人類期望的文本。
三、訓(xùn)練RL模型 :
在強(qiáng)化學(xué)習(xí)框架中,需要定義狀態(tài)空間、動(dòng)作空間、策略函數(shù)和價(jià)值函數(shù)。
狀態(tài)空間是輸入序列的分布,動(dòng)作空間是所有可能的token(即詞匯表中的詞)。
價(jià)值函數(shù)結(jié)合了獎(jiǎng)勵(lì)模型的輸出和策略約束,用于評估在給定狀態(tài)下采取特定動(dòng)作的價(jià)值。
策略函數(shù)就是經(jīng)過微調(diào)的大型語言模型,它根據(jù)當(dāng)前狀態(tài)選擇下一個(gè)動(dòng)作(token),以最大化累計(jì)獎(jiǎng)勵(lì)。
三、Fine-tuning 的應(yīng)用
大模型微調(diào) 的方式:可通過全量調(diào)整所有參數(shù)以充分適應(yīng)新任務(wù),或采用參數(shù)高效微調(diào)技術(shù)僅優(yōu)化部分參數(shù)以實(shí)現(xiàn)快速且低成本的遷移學(xué)習(xí)。
一、全量微調(diào)(Full Fine-Tuning )
全量微調(diào)利用特定任務(wù)數(shù)據(jù)調(diào)整預(yù)訓(xùn)練模型的所有參數(shù),以充分適應(yīng)新任務(wù)。它依賴大規(guī)模計(jì)算資源,但能有效利用預(yù)訓(xùn)練模型的通用特征。
二、參數(shù)高效微調(diào)(Parameter-Efficient Fine-Tuning, PEFT)
PEFT旨在通過最小化微調(diào)參數(shù)數(shù)量和計(jì)算復(fù)雜度,實(shí)現(xiàn)高效的遷移學(xué)習(xí)。它僅更新模型中的部分參數(shù),顯著降低訓(xùn)練時(shí)間和成本,適用于計(jì)算資源有限的情況。PEFT技術(shù)包括Prefix Tuning、Prompt Tuning、Adapter Tuning等多種方法,可根據(jù)任務(wù)和模型需求靈活選擇。
Prefix Tuning
方法:在輸入前添加可學(xué)習(xí)的virtual tokens作為Prefix。
特點(diǎn):僅更新Prefix參數(shù),Transformer其他部分固定。
優(yōu)點(diǎn):減少需要更新的參數(shù)數(shù)量,提高訓(xùn)練效率。
Prompt Tuning
方法:在輸入層加入prompt tokens。
特點(diǎn):簡化版的Prefix Tuning,無需MLP調(diào)整。
優(yōu)點(diǎn):隨著模型規(guī)模增大,效果接近full fine-tuning。
P-Tuning
方法:將Prompt轉(zhuǎn)換為可學(xué)習(xí)的Embedding層,并用MLP+LSTM處理。
特點(diǎn):解決Prompt構(gòu)造對下游任務(wù)效果的影響。
優(yōu)點(diǎn):提供更大的靈活性和更強(qiáng)的表示能力。
P-Tuning v2
方法:在多層加入Prompt tokens。
特點(diǎn):增加可學(xué)習(xí)參數(shù)數(shù)量,對模型預(yù)測產(chǎn)生更直接影響。
優(yōu)點(diǎn):在不同任務(wù)和模型規(guī)模上實(shí)現(xiàn)更好的性能。
Adapter Tuning
方法:設(shè)計(jì)Adapter結(jié)構(gòu)并嵌入Transformer中。
特點(diǎn):僅對新增的Adapter結(jié)構(gòu)進(jìn)行微調(diào),原模型參數(shù)固定。
優(yōu)點(diǎn):保持高效性的同時(shí)引入少量額外參數(shù)。
LoRA
方法:在矩陣相乘模塊中引入低秩矩陣來模擬full fine-tuning 。
特點(diǎn):更新語言模型中的關(guān)鍵低秩維度。
優(yōu)點(diǎn):實(shí)現(xiàn)高效的參數(shù)調(diào)整,降低計(jì)算復(fù)雜度。
支持微調(diào)的模型和數(shù)據(jù)集 :大型語言模型通過微調(diào)可以適應(yīng)不同任務(wù),而中文微調(diào)數(shù)據(jù)集為模型在中文領(lǐng)域的應(yīng)用提供了關(guān)鍵資源。
一、支持微調(diào)的模型:?
二、大模型微調(diào)開源數(shù)據(jù)集
1. 對于大型語言模型 的微調(diào),數(shù)據(jù)集是關(guān)鍵。
instruction
字段通常用于描述任務(wù)類型或給出指令,input
字段包含模型需要處理的文本數(shù)據(jù),而output
字段則包含對應(yīng)輸入的正確答案或期望輸出。
2. 常用中文微調(diào)數(shù)據(jù)集可能包括:
中文問答數(shù)據(jù)集(如CMRC 2018、DRCD等),用于訓(xùn)練問答系統(tǒng)。
中文情感分析數(shù)據(jù)集(如ChnSentiCorp、Fudan News等),用于訓(xùn)練情感分類模型。
中文文本相似度數(shù)據(jù)集(如LCQMC、BQ Corpus等),用于訓(xùn)練句子對匹配和相似度判斷任務(wù)。
中文摘要生成數(shù)據(jù)集(如LCSTS、NLPCC等),用于訓(xùn)練文本摘要生成模型。
中文對話數(shù)據(jù)集(如LCCC、ECDT等),用于訓(xùn)練聊天機(jī)器人或?qū)υ捪到y(tǒng)。
文章轉(zhuǎn)自微信公眾號(hào)@架構(gòu)師帶你玩轉(zhuǎn)AI
我們有何不同?
API服務(wù)商零注冊
多API并行試用
數(shù)據(jù)驅(qū)動(dòng)選型,提升決策效率
查看全部API→