高端網(wǎng)站制作哪家靠譜現(xiàn)在推廣引流什么平臺比較火
學(xué)習(xí)RLAIF論文前,可以先學(xué)習(xí)一下基于人類反饋的強(qiáng)化學(xué)習(xí)RLHF,相關(guān)的微調(diào)方法(比如強(qiáng)化學(xué)習(xí)系列RLHF、RRHF、RLTF、RRTF)的論文、數(shù)據(jù)集、代碼等匯總都可以參考GitHub項(xiàng)目:GitHub - eosphoros-ai/Awesome-Text2SQL: Curated tutorials and resources for Large Language Models, Text2SQL, and more.,這個項(xiàng)目收集了Text2SQL+LLM領(lǐng)域的相關(guān)簡介、綜述、經(jīng)典Text2SQL方法、基礎(chǔ)大模型、微調(diào)方法、數(shù)據(jù)集、實(shí)踐項(xiàng)目等等,持續(xù)更新中!
(如果覺得對您有幫助的話,可以star、fork,有問題、建議也可以提issue、pr,歡迎圍觀)
論文概述
基本信息
- 英文標(biāo)題:RLAIF: Scaling Reinforcement Learning from Human Feedback with AI Feedback
- 中文標(biāo)題:RLAIF:利用人工智能反饋擴(kuò)展基于人類反饋的強(qiáng)化學(xué)習(xí)
- 發(fā)表時(shí)間:2023年9月
- 作者單位:Google Research
- 論文鏈接:https://arxiv.org/pdf/2309.00267.pdf
- 代碼鏈接:無
摘要
摘要生成任務(wù)有效,其他任務(wù)比如Text2SQL任務(wù)是否有效呢?
- 基于人類反饋的強(qiáng)化學(xué)習(xí)(RLHF)在將大型語言模型(llm)與人類偏好對齊方面是有效的,但收集高質(zhì)量的人類偏好標(biāo)簽是一個關(guān)鍵瓶頸。
- 作者提出了RLAIF(利用AI反饋代替人類反饋),并且和RLHF進(jìn)行對比,結(jié)果如下:
- 在摘要生成任務(wù)(summarization task)中,在約70%的情況下,人類評估者更喜歡來自RLAIF和RLHF的結(jié)果,而不是SFT模型。
- 此外,當(dāng)被要求對RLAIF和RLHF摘要進(jìn)行評分時(shí),人類對兩者的偏好率相同。
- 這些結(jié)果表明,RLAIF可以產(chǎn)生人類水平的性能,為RLHF的可擴(kuò)展性限制提供了一個潛在的解決方案。
數(shù)據(jù)可以讓AI生成,評估也可以讓AI評估,AI for anything
結(jié)果
上結(jié)果,有圖有真相
結(jié)果表明,RLAIF達(dá)到了與RLHF相似的性能。(人類打分,人類評估誰更好)
- RLHF 和 SFT 相比,RLHF有73%的情況更優(yōu)秀
- RLAIF 和 SFT 相比,RLAIF有71%的情況更優(yōu)秀
- RLHF 和 RLAIF 相比,RLHF有50%的情況下更優(yōu)秀,也就是兩者五五開。
碰巧還發(fā)現(xiàn)了一個論文的筆誤,結(jié)果應(yīng)該是論文中的圖1,論文寫的是表1。
論文還比較了RLHF和RLAIF分別和人類撰寫的參考摘要。
- RLAIF摘要在79%的情況下優(yōu)于參考摘要。
- RLHF摘要在80%的情況下優(yōu)于參考摘要。
結(jié)果表明,RLAIF和RLHF策略傾向于生成比SFT策略更長的摘要,這可以解釋一些質(zhì)量改進(jìn)。
但在控制長度后,兩者的表現(xiàn)仍然優(yōu)于SFT策略。
結(jié)論
證明了AI反饋的潛力
在這項(xiàng)工作中,論文證明了RLAIF可以在不依賴于人類注釋者的情況下產(chǎn)生與RLHF相當(dāng)?shù)母倪M(jìn)。
論文的實(shí)驗(yàn)表明,RLAIF在SFT基線上有很大的改進(jìn),改進(jìn)幅度與RLHF相當(dāng)。
在頭對頭比較中(head-to-head comparision,兩者單挑的意思),人類對RLAIF和RLHF的偏好率相似。
還是有一些局限性。
比如任務(wù)是否可以推廣到其他任務(wù)(和前面的摘要想法一樣)
AI反饋 和 人工反饋的成本
RLHF+RAIF 結(jié)合是不是更好
等等
核心方法
貢獻(xiàn)點(diǎn)
- 摘要任務(wù)上:RLAIF達(dá)到了和RLHF相當(dāng)?shù)男阅?/li>
- 比較了各種AI 標(biāo)簽的技術(shù),確定了最佳設(shè)置
RLHF
RLHF三部曲
SFT
RM
RL
SFT——提取專家知識
Supervised Fine-tuning有監(jiān)督微調(diào),簡稱為SFT。
SFT的數(shù)據(jù)通常是高質(zhì)量的標(biāo)注數(shù)據(jù),比如基于LLM完成Text2SQL任務(wù)的話,數(shù)據(jù)集可以構(gòu)造為如下形式:
以spider數(shù)據(jù)集示例:使用DB-GPT-Hub項(xiàng)目中預(yù)處理得到下面類似的數(shù)據(jù):
{"prompt": "I want you to act as a SQL terminal in front of an example database, you need only to return the sql command to me.Below is an instruction that describes a task, Write a response that appropriately completes the request.\n\"\n##Instruction:\ndepartment_management contains tables such as department, head, management. Table department has columns such as Department_ID, Name, Creation, Ranking, Budget_in_Billions, Num_Employees. Department_ID is the primary key.\nTable head has columns such as head_ID, name, born_state, age. head_ID is the primary key.\nTable management has columns such as department_ID, head_ID, temporary_acting. department_ID is the primary key.\nThe head_ID of management is the foreign key of head_ID of head.\nThe department_ID of management is the foreign key of Department_ID of department.\n###Input:\nHow many heads of the departments are older than 56 ?\n\n###Response:","output": "SELECT count(*) FROM head WHERE age > 56"}
我們可以做個測試,把prompt輸入到ChatGPT-3.5中,如下:可以發(fā)現(xiàn)這個和標(biāo)準(zhǔn)的SQL一致,這個SQL屬于比較簡單的那種。
RM——類似于loss function
Reward Modeling 獎勵模型,簡稱RM訓(xùn)練,最終目標(biāo)就是訓(xùn)練一個模型,這個模型可以對LLM生成的response進(jìn)行打分,得分高,代表response回答比較好。
RM的訓(xùn)練數(shù)據(jù)通常來說比SFT訓(xùn)練數(shù)據(jù)少,之前看見個例子說SFT數(shù)據(jù)占60%, RM數(shù)據(jù)占20%, RL數(shù)據(jù)占20%.
同樣的,我們還是以Text2SQL任務(wù)舉例子,RM數(shù)據(jù)可以構(gòu)造為(prompt,chosen,rejected}的三元組,如下所示:
- chosen數(shù)據(jù)就是SFT的標(biāo)準(zhǔn)輸出,groundtruth
- rejected數(shù)據(jù)通常來源于SFT 模型的錯誤輸出,也就是bad case
{"prompt": "I want you to act as a SQL terminal in front of an example database, you need only to return the sql command to me.Below is an instruction that describes a task, Write a response that appropriately completes the request.\n\"\n##Instruction:\ndepartment_management contains tables such as department, head, management. Table department has columns such as Department_ID, Name, Creation, Ranking, Budget_in_Billions, Num_Employees. Department_ID is the primary key.\nTable head has columns such as head_ID, name, born_state, age. head_ID is the primary key.\nTable management has columns such as department_ID, head_ID, temporary_acting. department_ID is the primary key.\nThe head_ID of management is the foreign key of head_ID of head.\nThe department_ID of management is the foreign key of Department_ID of department.\n###Input:\nHow many heads of the departments are older than 56 ?\n\n###Response:","chosen": "SELECT count(*) FROM head WHERE age > 56","rejected":"SELECT COUNT(head_name) FROM head WHERE age > 56;"}
損失函數(shù)如下形式:
- 這里的x就是輸入prompt
- y_w就是chosen data
- y_l就是rejected data
RL——引入強(qiáng)化學(xué)習(xí)方法
Reinforcement Learning 強(qiáng)化學(xué)習(xí),簡稱為RL,就是利用強(qiáng)化學(xué)習(xí)的方法訓(xùn)練一個模型,使得獎勵分?jǐn)?shù)最高。
如下所示:
- 優(yōu)化分?jǐn)?shù)最大使用的是max
- 使用了KL散度,讓訓(xùn)練的RL模型和原始模型差距不能過大
同樣的,我們還是以Text2SQL任務(wù)舉例子,RL數(shù)據(jù)可以構(gòu)造為(prompt,output}的三元組,如下所示:
- 數(shù)據(jù)形式和SFT階段保持一致
- SFT階段訓(xùn)練的數(shù)據(jù),不應(yīng)和RL數(shù)據(jù)重疊。
{"prompt": "I want you to act as a SQL terminal in front of an example database, you need only to return the sql command to me.Below is an instruction that describes a task, Write a response that appropriately completes the request.\n\"\n##Instruction:\ndepartment_management contains tables such as department, head, management. Table department has columns such as Department_ID, Name, Creation, Ranking, Budget_in_Billions, Num_Employees. Department_ID is the primary key.\nTable head has columns such as head_ID, name, born_state, age. head_ID is the primary key.\nTable management has columns such as department_ID, head_ID, temporary_acting. department_ID is the primary key.\nThe head_ID of management is the foreign key of head_ID of head.\nThe department_ID of management is the foreign key of Department_ID of department.\n###Input:\nHow many heads of the departments are older than 56 ?\n\n###Response:","output": "SELECT count(*) FROM head WHERE age > 56"}
RLAIF
進(jìn)入主題RLAIF
LLM偏好標(biāo)注
- 前言介紹和說明任務(wù)
- 1個例子說明:
-
- 需要輸入一段文本Text、一對摘要(摘要1和摘要2)
- 模型輸出偏好 Preferred Summary=1
- 給出文本和等待標(biāo)注的摘要1、摘要2
- 結(jié)束:給出偏好 Preferred Summary=
在給出輸入信息后,得到LLM的輸出偏好1 或者 2之后,計(jì)算對數(shù)概率和softmax,得到偏好分布。
論文提到計(jì)算偏好分布也有其他的替代方法:
- 比如直接讓模型輸出output = "The first summary is better"
- 或者直接讓偏好分布是one-hot編碼
那么論文為什么不這么做呢?因?yàn)檎撐恼f就用上面的方法(輸出1 或者 2),準(zhǔn)確率已經(jīng)足夠高了。
論文做了一個實(shí)驗(yàn),就是對比不同的任務(wù)前沿介紹,看看LLM標(biāo)注的差距。
- Base:代表任務(wù)介紹比較簡單,比如是“which summary is bet- ter?”(這個是論證任務(wù)介紹應(yīng)該簡單點(diǎn)還是詳細(xì)點(diǎn)?)
- OpenAI:代表任務(wù)介紹比較詳細(xì),密切模仿了OpenAI,生成的任務(wù)介紹包含了哪些構(gòu)成好的摘要信息
- COT:代表chain-of-thought思維鏈。(這個是論證思維鏈是否有效)
- 1-shot:代表給出1個例子,其他shot類似。(這個是論證上下文學(xué)習(xí)是否有效)
這個實(shí)驗(yàn)證明了:效果最好是OpenAI + COT + 0-shot
- 任務(wù)說明應(yīng)該詳細(xì)點(diǎn)好,OpenAI變現(xiàn)更好
- 思維鏈?zhǔn)怯行У?/li>
- 上下文學(xué)習(xí)無效,甚至?xí)档托Ч?#xff0c;因?yàn)閟hot越多,效果越差。
Position Bias位置偏差
注意例子不要都是第一個更好,或者都是第二個更好
這樣可能讓模型有記憶以為都是第一個更好/第二個更好
所以輸入要有隨機(jī)性。
論文如何減少這個偏差的?
實(shí)驗(yàn)兩次,取平均值。
- 正常順序來一次,比如輸入「摘要1-摘要2」
- 反方向順序來一次,比如輸入「摘要2-摘要1」
Chain-of-thought Reasoning思維鏈推理
思維鏈就是讓模型模仿人類思考問題的方式。
回答問題的時(shí)候,不僅要有答案,更要有思考的過程。
比如摘要任務(wù),選取第一個摘要更好,是因?yàn)榈谝粋€摘要的準(zhǔn)確性,覆蓋性更好。
Self-Consistency自洽性/前后一致性
采用多個推理路徑,得到答案。
取平均值。
RLAIF步驟
LLM標(biāo)記偏好后,訓(xùn)練獎勵模型RM模型來預(yù)測偏好。
- 論文的方法產(chǎn)生的是軟標(biāo)簽比如(preferencesi =[0.6, 0.4]),使用softmax交叉熵?fù)p失,而不是前面提到的RLHF中RM的損失函數(shù)。
蒸餾方法:用小模型去逼近大模型,讓小模型的輸出盡量和大模型保持一致。(模型輕量化的方法之一)
- 小模型:學(xué)生模型
- 大模型:教師模型
使用AI標(biāo)注的數(shù)據(jù)進(jìn)行訓(xùn)練RM模型,可以理解為模型蒸餾的一部分,因?yàn)锳I打標(biāo)簽的大模型LLM通常比RM更大、更強(qiáng)。
RL訓(xùn)練不使用PPO算法。
RL訓(xùn)練采用 Advantage Actor Critic (A2C)方法,因?yàn)楦唵?#xff0c;更有效,在摘要任務(wù)上。