這些技術,ChatGPT和它的潛在競爭者們都在用

機器之心pro 發佈 2024-04-29T09:24:35.153547+00:00

機器之心報導編輯:王強、杜偉如今的人工智慧圈,ChatGPT 等 AI 聊天機器人火的一塌糊塗,甚至讓 Stack Overflow 訪問量暴跌。那麼這些 AI 聊天機器人背後的技術以及異同點有哪些呢?本文作者探索並試圖回答這些問題。

機器之心報導

編輯:王強、杜偉

如今的人工智慧圈,ChatGPT 等 AI 聊天機器人火的一塌糊塗,甚至讓 Stack Overflow 訪問量暴跌。那麼這些 AI 聊天機器人背後的技術以及異同點有哪些呢?本文作者探索並試圖回答這些問題。

隨著 ChatGPT 的出現以及隨之而來的廣泛討論,RLHF、SFT、IFT、CoT 等晦澀的縮略詞出現在公眾面前,這都歸功於 ChatGPT 的成功。這些晦澀的縮略詞是什麼?為什麼它們如此重要?本文作者查閱了所有關於這些主題的重要論文,進行了分類總結。

ChatGPT 並不是第一個基於語言模型(LM)的對話智能體,事實上,許多機構在 OpenAI 之前發布過語言模型對話智能體,包括 Meta BlenderBot、Google LaMDA、DeepMind 的 Sparrow 和 Anthropic Assistant。一些機構也宣布建立開源聊天機器人的計劃,並公開了路線圖(如 LAION 的 Open-Assistant)。肯定還有其它機構在做同樣的工作,只是沒有宣布。

下表根據上面提到的 AI 聊天機器人是否可公開訪問、訓練數據、模型架構和評估的詳細信息,對它們進行了比較。ChatGPT 沒有相關數據,這裡使用的是 InstructGPT 的資料,它是 OpenAI 的一個微調模型,被認為是 ChatGPT 的基礎。

儘管在訓練數據、模型和微調方面存在許多差異,但這些聊天機器人也存在一些共性 —— 指令遵循(instruction following),即根據用戶的指令,給出響應。例如讓 ChatGPT 寫一首關於微調的詩。

從預測文本到遵循指令

通常而言,基礎語言建模的目標不足以讓模型高效地遵循用戶的指示。模型創建者還使用指令微調(Instruction Fine-Tuning,IFT),它可以在多樣化任務上對基本模型進行微調,還能應用在情感分析、文本分類、摘要等經典 NLP 任務。

IFT 主要由三個部分組成:指令、輸入和輸出。輸入是可選的,有些任務只需要指令,如上面的 ChatGPT 示例。輸入和輸出構成實例(instance)。給定的指令可以有多個輸入和輸出。相關示例如下([Wang et al., 『22])。

IFT 的數據通常使用人類的指令和語言模型 bootstrapped 的指令集合。對於 bootstraping,LM 會在零樣本的情況下根據 prompt,生成新的指令、輸入和輸出。在每一輪中,模型都會得到從人類編寫和生成模型中選擇的樣本的 prompt。人類和模型貢獻數據集的情況可以用頻譜表示,如下圖所示。

一種是純模型生成的 IFT 數據集如 Unnatural Instructions,另一種是集社區努力、手動創建的指令如 Super natural Instructions。位於這兩者之間,選用高質量種子數據集然後進行 bootstrap 如 Self-instruct。為 IFT 收集數據集的另一種方法是將現有高質量眾包 NLP 數據集用於各種任務(包括 prompting),並使用統一的模式或不同的模板將這些數據集作為指令,相關工作包括 T0、Natural instructions 數據集、FLAN LM 和 OPT-IML。

安全遵循指令

LM 使用微調後的指令,可能並不總是生成有用安全的響應。這種行為的示例包括無效回應(託詞),總是給出諸如「對不起,我不明白」之類的無效回答,或者對用戶關於敏感話題的輸入做出不安全的回應。

為了解決這種問題,模型開發人員使用監督式微調(Supervised Fine-tuning, SFT),在高質量的人類標記數據上微調基礎語言模型,以實現有效和安全的響應。

SFT 和 IFT 緊密相連。指令調優可以看作是監督式微調的子集。在最近的文獻中,SFT 階段通常用於安全主題,而不是在 IFT 之後進行的指令特定主題。未來這種分類和描述會有更清晰的用例和方法。

谷歌的 LaMDA 也是根據一組規則對帶有安全注釋的對話數據集微調。這些規則通常是由模型創建者預先定義和制定的,包含一系列廣泛的主題,如有害、歧視和錯誤信息。

模型微調

另一方面,OpenAI 的 InstructGPT、DeepMind 的 Sparrow 和 Anthropic 的 ConstitutionalAI 均使用從人類反饋中強化學習(reinforcement learning from human feedback, RLHF)的技術。在 RLHF 中,模型響應基於人類反饋(如選擇一個更好的答案)進行排序,然後用這些帶注釋的響應訓練模型,以返回 RL 優化器的 scalar 獎勵,最後通過強化學習訓練對話智能體來模擬偏好模型。

思維鏈(Chain-of-thought, CoT)是指令演示的特殊情況,通過從對話智能體中引出逐步推理生成輸出。用 CoT 進行微調的模型使用帶有逐步推理的人類注釋的指令數據集。如下示例所示,橙色標記代表指令,粉色標記代表輸入和輸出,藍色標記代表 CoT 推理。

用 CoT 來微調的模型在涉及常識、算術和符號推理的任務上表現得更好。CoT 進行微調也顯示出對實現無害性非常有效(有時比 RLHF 做得更好),並且模型不會迴避並產生「對不起,我無法回答這個問題」等回復。

要點總結

本文要點總結如下:

1、 與預訓練數據相比,只需要非常小的一部分數據來對指令進行微調。

2、 監督式微調使用人工標註使模型輸出更安全和更有幫助。

3、 CoT 微調提高模型在逐步思考任務上的性能,並減少了它們在敏感話題上的無效響應或迴避不答。

對話智能體的進一步工作思考

最後,作者對未來對話智能體的發展給出了自己的一些思考。

1、 RL 在從人類反饋中學習有多重要?可以通過 IFT 或 SFT 中的高質量數據訓練獲得與 RLHF 一樣的性能嗎?

2、 與在 LaMDA 中使用 SFT 相比,在 Sparrow 中使用 SFT+RLHF 的安全性如何?

3、 IFT、SFT、CoT 和 RLHF,需要怎樣程度的預訓練?tradeoff 是什麼?應該使用的最好的基礎模型是什麼?

4、 文中介紹的許多模型都是經過精心設計,工程師們專門收集導致失敗的模式,並根據已處理的問題改善未來的訓練(prompts 和方法)。要如何系統地記錄這些方法的效果並重現它們?

關鍵字: