近段時間,ChatGPT 橫空出世并獲得巨大成功,使得 RLHF、SFT、IFT、CoT 等這些晦澀的縮寫開始出現(xiàn)在普羅大眾的討論中。這些晦澀的首字母縮略詞究竟是什么意思?為什么它們?nèi)绱酥匾??我們調(diào)查了相關的所有重要論文,以對這些工作進行分類,總結(jié)迄今為止的工作,并對后續(xù)工作進行展望。
我們先來看看基于語言模型的會話代理的全景。ChatGPT 并非首創(chuàng),事實上很多組織在 OpenAI 之前就發(fā)布了自己的語言模型對話代理 (dialog agents),包括 Meta 的 BlenderBot,Google 的 LaMDA,DeepMind 的 Sparrow,以及 Anthropic 的 Assistant (Anthropic 的 Claude 就是部分基于 Assistant 繼續(xù)開發(fā)而得的)。
語言模型對話代理產(chǎn)品論文鏈接:
Meta 的 BlenderBot:
https://arxiv.org/abs/2208.03188
Google 的 LaMDA:
https://arxiv.org/abs/2201.08239
DeepMind 的 Sparrow:
https://arxiv.org/abs/2209.14375
Anthropic 的 Assistant:
https://arxiv.org/abs/2204.05862
其中一些團隊還公布了他們構(gòu)建開源聊天機器人的計劃,并公開分享了路線圖 (比如 LAION 團隊的 Open Assistant),其他團隊肯定也有類似的內(nèi)容,但尚未宣布。你可以在 Open Assistant 的 GitHub 倉庫中找到其愿景 & 路線圖文檔:?https://github.com/LAION-AI/Open-Assistant
下表根據(jù)是否能公開訪問、訓練數(shù)據(jù)、模型架構(gòu)和評估方向的詳細信息對這些 AI 聊天機器人進行了比較。ChatGPT 沒有這些信息的記錄,因此我們改為使用 InstructGPT 的詳細信息,這是一個來自 OpenAI 的指令微調(diào)模型,據(jù)信它是 ChatGPT 的基礎。
? | LaMDA | BlenderBot 3 | Sparrow | ChatGPT / InstructGPT | Assistant |
---|---|---|---|---|---|
組織 | Meta | DeepMind | OpenAI | Anthropic | |
能否公開訪問 | 否 | 能 | 否 | 有限 | 否 |
大小 | 137B | 175B | 70B | 175B | 52B |
預訓練 基礎模型 |
未知 | OPT | Chinchilla | GPT-3.5 | 未知 |
預訓練語料庫大小?(詞數(shù)) | 2.81T | 180B | 1.4T | 未知 | 400B |
模型是否可以 訪問網(wǎng)絡 |
? | ? | ? | ? | ? |
有監(jiān)督 微調(diào) |
? | ? | ? | ? | ? |
微調(diào) 數(shù)據(jù)大小 |
質(zhì)量:6.4K 安全性:8K 真實性:4K IR:49K |
大小從 18K 到 1.2M 不等的 20 個 NLP 數(shù)據(jù)集 | 未知 | 12.7K (此為 InstructGPT,ChatGPT 可能更多) | 150K+ LM 生成的數(shù)據(jù) |
RLHF | ? | ? | ? | ? | ? |
人為制定的安全規(guī)則 | ? | ? | ? | ? | ? |
評價標準 |
1、質(zhì)量 (合情性、具體性、趣味性) 2、安全性 (偏見) 3、真實性 |
1、質(zhì)量 (參與度、知識運用) 2、安全性 (毒性、偏見) |
1、校直 (有幫助,無害,正確) 2、證據(jù) (來自網(wǎng)絡) 3、是否違反規(guī)則 4、偏見和刻板印象 5、誠信度 |
1、 校直 (有幫助、無害、真實) 2、偏見 |
1、校直 (有幫助、無害、誠實) 2、偏見 |
用于數(shù)據(jù)標注的眾包平臺 | 美國供應商 | 亞馬遜 MTurk | 未知 | Upwork 和 Scale AI | Surge AI、Amazon MTurk 和 Upwork |
我們觀察到,盡管在訓練數(shù)據(jù)、模型和微調(diào)方面存在許多差異,但也存在一些共性。上述所有聊天機器人的一個共同目標是「指令依從 (instruction following)」,即遵循用戶指定的指令。例如,要求 ChatGPT 寫一首關于微調(diào)的詩。
ChatGPT 指令示例
從預測文本到遵循指令
通常,基礎模型的語言建模目標不足以讓模型學會以有用的方式遵循用戶的指令。模型創(chuàng)建者使用「指令微調(diào) (Instruction Fine-Tuning,IFT)」方法來達到該目的,該方法除了使用情感分析、文本分類、摘要等經(jīng)典 NLP 任務來微調(diào)模型外,還在非常多樣化的任務集上向基礎模型示范各種書面指令及其輸出,從而實現(xiàn)對基礎模型的微調(diào)。這些指令示范由三個主要部分組成 —— 指令、輸入和輸出。輸入是可選的,一些任務只需要指令,如上文使用 ChatGPT 做開放式文本生成的示例。當存在輸入時,輸入和輸出組成一個「實例 (instance)」。給定指令可以有多個輸入和輸出實例。如下例 (摘自 Wang 等,'22):
指令和實例示例
IFT 的訓練數(shù)據(jù)通常是人工編寫的指令及用語言模型自舉 (bootstrap) 生成的實例的集合。在自舉時,先使用少樣本技術輸入一些樣本給 LM 用于提示它 (如上圖所示),隨后要求 LM 生成新的指令、輸入和輸出。每一輪都會從人工編寫的樣本和模型生成的樣本中各選擇一些送給模型。人類和模型對創(chuàng)建數(shù)據(jù)集的貢獻構(gòu)成了一個譜圖,見下圖:
IFT 譜圖
譜圖的一端是純模型生成的 IFT 數(shù)據(jù)集,例如 Unnatural Instructions (Honovich 等,'22);另一端是經(jīng)由社區(qū)的大量努力精心制作的指令如 Super-natural instructions (Wang 等,'22)。在這兩者之間的工作是使用一小組高質(zhì)量的種子數(shù)據(jù)集,然后進行自舉生成最終數(shù)據(jù)集,如 Self-Instruct (Wang 等,'22)。為 IFT 整理數(shù)據(jù)集的另一種方法是將現(xiàn)有的用于各種任務 (包括提示)的高質(zhì)量眾包 NLP 數(shù)據(jù)集使用統(tǒng)一模式或不同模板轉(zhuǎn)換為指令。這一系列工作包括 T0 (Sanh 等,'22)、Natural instructions 數(shù)據(jù)集 (Mishra 等,'22)、FLAN LM (Wei 等,'22) 和 OPT-IML (Iyer 等,'22)。
論文鏈接:
Unnatural Instructions (Honovich 等, '22):
https://arxiv.org/abs/2212.09689
Super-natural instructions (Wang 等, '22):
https://arxiv.org/abs/2204.07705
Self-Instruct (Wang 等, '22):
https://arxiv.org/abs/2212.10560
T0 (Sanh 等, '22):
https://arxiv.org/abs/2110.08207
Natural instructions 數(shù)據(jù)集 (Mishra 等, '22):
https://arxiv.org/abs/2104.08773
FLAN LM (Wei 等, '22):
https://arxiv.org/abs/2109.01652
OPT-IML (Iyer 等, '22):
https://arxiv.org/abs/2212.12017
安全地遵循指令
然而,經(jīng)過指令微調(diào)的 LM 并不總是能生成?有幫助的?和?安全的?響應。這種行為的例子包括通過總是給出無益的回應來逃避,例如 “對不起,我不明白?!?或?qū)γ舾?a href="http://wenjunhu.com/v/tag/" target="_blank">話題的用戶輸入生成不安全的響應。為了減輕這種行為,模型開發(fā)人員使用?有監(jiān)督微調(diào) (Supervised Fine-tuning, SFT),在高質(zhì)量的人類標注數(shù)據(jù)上微調(diào)基礎語言模型,以提高有用性和無害性。例如,請參閱下面的表格(摘自 Sparrow 論文的附錄 F)。
SFT 和 IFT 聯(lián)系非常緊密。指令微調(diào)可以看作是有監(jiān)督微調(diào)的一個子集。在最近的文獻中,SFT 階段經(jīng)常被用于提高響應的安全性,而不是接在 IFT 后面提高指令相應的具體性。將來,這種分類和劃分應該日臻成熟,形成更清晰的使用場景和方法論。
人工安全規(guī)則
谷歌的 LaMDA 也根據(jù)一組規(guī)則 (論文附錄 A) 在帶有安全標注的對話數(shù)據(jù)集上進行微調(diào)。這些規(guī)則通常由模型創(chuàng)建者預先定義和開發(fā),涵蓋廣泛的主題,包括傷害、歧視、錯誤信息。
微調(diào)模型
同時,OpenAI 的 InstructGPT、DeepMind 的 Sparrow 和 Anthropic 的 Constitutional AI 使用?人類反饋強化學習 (Reinforcement Learning From Human Feedback,RLHF)?來微調(diào)模型,該方法使用基于人類偏好的標注數(shù)據(jù)。在 RLHF 中,根據(jù)人類反饋來對模型的響應進行排序標注 (如,根據(jù)人類偏好選擇文本簡介)。然后,用這些帶標注的響應來訓練偏好模型,該模型用于返回 RL 優(yōu)化器的標量獎勵。最后,通過強化學習訓練對話代理來模擬偏好模型。有關更多詳細信息,請參閱我們之前關于 RLHF 的文章:?ChatGPT 背后的“功臣”——RLHF 技術詳解。
思維鏈 (Chain-of-thought,CoT)?提示 (Wei 等,'22) 是指令示范的一種特殊情況,它通過引發(fā)對話代理的逐步推理來生成輸出。使用 CoT 微調(diào)的模型使用帶有逐步推理的人工標注的指令數(shù)據(jù)集。這是?Let’s think step by step?這一著名提示的由來。下面的示例取自 Chung 等,'22,橙色高亮的部分是指令,粉色是輸入和輸出,藍色是 CoT 推理。
CoT 圖解
如 Chung 等,'22 中所述,使用 CoT 微調(diào)的模型在涉及常識、算術和符號推理的任務上表現(xiàn)得更好。
如 Bai 等,'22 的工作所示,CoT 微調(diào)也顯示出對無害性非常有效 (有時比 RLHF 做得更好),而且對敏感提示,模型不會回避并生成 “抱歉,我無法回答這個問題” 這樣的回答。更多示例,請參見其論文的附錄 D。
CoT 和 RLHF 的對比
論文鏈接:
思維鏈提示 (Wei 等, '22):
https://arxiv.org/abs/2201.11903
Let’s think step by step:
https://arxiv.org/abs/2205.11916
CoT 圖解示例 (Chung 等, '22):
https://arxiv.org/abs/2210.11416
CoT 微調(diào)也顯示出對無害性非常有效 (Bai 等, '22):
ttps://www.anthropic.com/constitutional.pdf
要點
與預訓練數(shù)據(jù)相比,您只需要非常小的一部分數(shù)據(jù)來進行指令微調(diào) (幾百個數(shù)量級);
使用人工標注的有監(jiān)督微調(diào)使模型輸出更安全和有用;
CoT 微調(diào)提高了模型在需要逐步思考的任務上的性能,并使它們在敏感話題上不那么回避。
對話代理的進一步工作
這個博客總結(jié)了許多關于使對話代理有用的現(xiàn)有工作。但仍有許多懸而未決的問題有待探索。我們在這里列出了其中的一些。
RL 在從人類反饋中學習有多重要?我們能否通過在 IFT 或 SFT 中使用更高質(zhì)量的數(shù)據(jù)進行訓練來獲得 RLHF 的性能?
為了安全的角度看,Sparrow 中的 SFT+RLHF 與 LaMDA 中僅使用 SFT 相比如何?
鑒于我們有 IFT、SFT、CoT 和 RLHF,預訓練有多大的必要性?如何折衷?人們應該使用的最佳基礎模型是什么 (公開的和非公開的)?
本文中引用的許多模型都經(jīng)過 紅藍對抗 (red-teaming) 的精心設計,工程師特地搜尋故障模式并基于已被揭示的問題改進后續(xù)的訓練 (提示和方法)。我們?nèi)绾蜗到y(tǒng)地記錄這些方法的效果并重現(xiàn)它們?
紅藍對抗 (red-teaming) 論文地址:
https://arxiv.org/abs/2209.07858
P.s. 如果您發(fā)現(xiàn)本博客中的任何信息缺失或不正確,請告知我們。
引用:
Rajani et al.,"What Makes a Dialog Agent Useful?", Hugging Face Blog, 2023.
BibTeX 引用:
@article?{rajani2023ift, ??author?=?{Rajani,?Nazneen?and?Lambert,?Nathan?and?Sanh,?Victor?and?Wolf,?Thomas}, ??title?=?{What?Makes?a?Dialog?Agent?Useful?}, ??journal?=?{Hugging?Face?Blog}, ??year?=?{2023}, ??note?=?{https://huggingface.co/blog/dialog-agents}, } 編輯:黃飛
?
?
?
評論
查看更多