無需人工標注,自生成指令框架打破ChatGPT等LLM的成本瓶頸
?ChatGPT 是今年年底 AI 圈的新晉頂流,人們驚嘆于它強大的問答語言能力和掌握的編程知識。但越是強大的模型,其背后的技術要求也就越高。
ChatGPT 是在 GPT 3.5 系列模型的基礎上,引入「人工標注數據 + 強化學習」(RLHF)來不斷微調預訓練語言模型,旨在讓大型語言模型(LLM)學會理解人類的命令,并學會根據給定的 prompt 給出最優的答案。
這種技術思路是當前語言模型的發展趨勢。這類模型雖然很有發展前景的,但模型訓練和微調所需的成本非常高。
根據 OpenAI 目前公開的信息,ChatGPT 的訓練過程共分為三個階段:
首先,第一個階段是類似于 GPT 3.5 的有監督策略模型,這個基礎模型很難理解人類不同類型指令中蘊含的意圖,也很難判斷生成內容的質量高低。研究人員從 prompt 數據集中隨機抽取了一些樣例,然后讓專業的標注人員根據指定 prompt 給出高質量的答案。這個人工過程獲得的 prompt 及其相應高質量答案被用于微調初始的有監督策略模型,使其具備基本的 prompt 理解能力,并初步提高生成答案的質量。
第二階段研究團隊抽取模型根據給定 prompt 生成的多個輸出,然后讓人類研究員對這些輸出進行排序,再用排序數據訓練獎勵模型(reward model,RM)。ChatGPT 采取 pair-wise loss 來訓練 RM。
第三階段研究團隊采用強化學習來增強預訓練模型的能力,利用上一階段學好的 RM 模型來更新預訓練模型參數。
我們可以發現,在 ChatGPT 訓練的三個階段中,只有第三階段不需要使用人工標注數據,而第一第二階段都需要大量的人工標注。因此 ChatGPT 這類模型雖然性能很好,但是為了提高其遵循指令的能力,人工成本非常高。隨著模型規模越來越大,能力范圍越來越廣,這個問題就會越發嚴重,最終成為阻礙模型發展的瓶頸。
一些研究嘗試提出解決這一瓶頸的方法,比如華盛頓大學等機構近期聯合發表了一篇論文《SELF-INSTRUCT: Aligning Language Model with Self Generated Instructions》,提出的新框架 SELF-INSTRUCT 通過引導模型自己的生成過程,提高了預訓練語言模型的指令遵循能力。
論文地址:https://arxiv.org/pdf/2212.10560v1.pdf
SELF-INSTRUCT 是一種半自動化過程,使用來自模型本身的指令信號對預訓練的 LM 進行指令調整。如下圖所示,整個過程是一個迭代引導算法。
SELF-INSTRUCT 從有限的種子集開始,指導整個生成過程的手動編寫指令。在第一階段,模型被 prompt 成為新任務生成指令,該步驟是利用現有的指令集來創建更廣泛的指令,以此來定義新任務。SELF-INSTRUCT 還為新生成的指令集創建輸入輸出實例,以用于監督指令調整。最后,SELF-INSTRUCT 還對低質量和重復指令進行修剪。整個過程是反復迭代執行的,最終模型能為大量任務生成指令。
為了驗證新方法的有效性,該研究在 GPT-3 上應用 SELF-INSTRUCT 框架,最終產生大約 52k 條指令,82k 實例輸入和目標輸出。研究者觀察到 GPT-3 在 SUPER-NATURALINSTRUCTIONS 數據集中的新任務上比原始模型獲得了 33.1% 的絕對改進,與使用私人用戶數據和人工標注訓練的 InstructGPT_001 性能相當。
為了進一步評估,該研究為新任務整理了一組專家編寫的指令,并通過人工評估表明,使用 SELF-INSTRUCT 的 GPT-3 性能會大大優于現有使用公共指令數據集的模型,并且僅比 InstructGPT_001 落后 5%。
SELF-INSTRUCT 提供了一種幾乎不需要人工標注的方法,實現了預訓練語言模型與指令對齊。已有多個工作在類似的方向上做出嘗試,都收獲了不錯的結果,可以看出這類方法對于解決大型語言模型人工標注成本高的問題非常有效。這將讓 ChatGPT 等 LLM 變得更強,走得更遠。?