OpenAI 推出的 ChatGPT 對話模型掀起了新的 AI 熱潮,它面對多種多樣的問題對答如流,似乎已經打破了機器和人的邊界。這一工作的背后是大型語言模型 (Large Language Model,LLM) 生成領域的新訓練范式:來自普林斯頓博士生Ameet Deshpande講述《大型語言模型》技術細節,值得關注! 在本次演講中,我們將介紹從人工反饋中強化學習(RLHF)的基礎知識,以及如何使用這種技術來實現最先進的ML工具,如ChatGPT。演講的大部分內容將是相互關聯的ML模型的概述,并涵蓋自然語言處理和RL的基礎知識,以便了解RLHF如何在大型語言模型上使用。最后將討論RLHF的開放問題。
ChatGPT 背后的“功臣”——人類反饋強化學習RLHF 技術詳解
OpenAI 推出的 ChatGPT 對話模型掀起了新的 AI 熱潮,它面對多種多樣的問題對答如流,似乎已經打破了機器和人的邊界。這一工作的背后是大型語言模型 (Large Language Model,LLM) 生成領域的新訓練范式:來自OpenAI John Schulman講述《從人類反饋中強化學習:進展與挑戰》技術細節,值得關注!
在本次演講中,談論語言模型的幻覺問題,激活檢索,語言模型開放問題和真實性。
自20世紀50年代圖靈測試被提出以來,人類一直在探索機器對語言智能的掌握。語言本質上是一個受語法規則支配的復雜的人類表達系統。這對開發有能力的人工智能(AI)算法來理解和掌握語言提出了重大挑戰。作為一種主要的語言建模方法,在過去的二十年中,語言建模在語言理解和生成方面得到了廣泛的研究,從統計語言模型發展到神經語言模型。最近,通過在大規模語料庫上預訓練Transformer模型,人們提出了預訓練語言模型(PLM),在解決各種自然語言處理(NLP)任務方面顯示出強大的能力。由于研究人員發現模型縮放可以導致性能提高,他們通過將模型大小增加到更大的尺寸來進一步研究縮放效應。有趣的是,當參數規模超過一定水平時,這些放大的語言模型不僅實現了顯著的性能提升,而且顯示出一些在小規模語言模型(如BERT)中不存在的特殊能力(如上下文學習)。為了區別參數規模的差異,研究界創造了大型語言模型(LLM)這個術語,用于表示規模巨大的PLM(例如,包含數百億或千億參數)。近年來,學術界和工業界對LLMs的研究取得了很大進展,其中最顯著的進展是基于LLMs開發的ChatGPT(一個功能強大的人工智能聊天機器人)的推出,引起了社會的廣泛關注。LLM的技術發展對整個AI社區產生了重要影響,這將徹底改變我們開發和使用AI算法的方式。鑒于這種快速的技術進步,本綜述通過介紹背景、關鍵發現和主流技術,回顧了LLM的最新進展。重點關注LLM的四個主要方面,即預訓練、自適應調優、利用率和能力評估。此外,還總結了開發LLM的可用資源,并討論了剩余問題,以供未來發展方向。本綜述提供了關于LLM的文獻的最新綜述,對于研究人員和工程師來說,這可以是一個有用的資源。
最近,ChatGPT與DALL-E-2[1]和Codex[2]一起受到了社會的廣泛關注。因此,許多人對相關資源感興趣,并試圖揭開其令人印象深刻的性能背后的背景和秘密。**事實上,ChatGPT和其他生成式AI (GAI)技術屬于人工智能生成內容(AIGC)的范疇,它涉及通過AI模型創建數字內容,如圖像、音樂和自然語言。AIGC的目標是使內容創建過程更加高效和可訪問,允許以更快的速度生產高質量的內容。**AIGC是通過從人類提供的指令中提取和理解意圖信息,并根據其知識和意圖信息生成內容來實現的。近年來,大規模模型在AIGC中變得越來越重要,因為它們提供了更好的意圖提取,從而改善了生成結果。隨著數據和模型規模的增長,模型可以學習的分布變得更加全面和接近現實,從而產生更加真實和高質量的內容。**本文全面回顧了生成模型的歷史,基本組件,以及AIGC的最新進展,從單模態交互和多模態交互。**從單模態的角度,介紹了文本和圖像的生成任務和相關模型。從多模態的角度出發,介紹上述模態之間的交叉應用。最后討論了AIGC存在的開放問題和未來的挑戰。
1. 引言
近年來,人工智能生成內容(Artificial Intelligence Generated Content, AIGC)受到了計算機科學界以外的廣泛關注,全社會開始關注大型科技公司[3]構建的各種內容生成產品,如ChatGPT[4]和DALL-E2[5]。AIGC指的是使用高級生成AI (GAI)技術生成的內容,而不是由人類作者創建的內容,AIGC可以在短時間內自動創建大量內容。例如,ChatGPT是OpenAI開發的用于構建對話式人工智能系統的語言模型,可以有效地理解并以有意義的方式響應人類的語言輸入。此外,DALL-E-2是另一個最先進的GAI模型,也是由OpenAI開發的,它能夠在幾分鐘內從文本描述中創建獨特的高質量圖像,如圖1所示的“一個宇航員以逼真的風格騎馬”。隨著AIGC的卓越成就,許多人認為這將是人工智能的新時代,并將對整個世界產生重大影響。
**從技術上講,AIGC是指給定人工指令,可以幫助教學和指導模型完成任務,利用GAI算法生成滿足指令的內容。**該生成過程通常包括兩個步驟:從人工指令中提取意圖信息和根據提取的意圖生成內容。然而,如之前的研究[6,7]所示,包含上述兩個步驟的GAI模型的范式并不完全新穎。與之前的工作相比,最近的AIGC的核心進展是在更大的數據集上訓練更復雜的生成模型,使用更大的基礎模型架構,并能夠訪問廣泛的計算資源。例如,GPT-3的主框架保持與GPT-2相同,但預訓練數據大小從WebText 8增長到CommonCrawl9,基礎模型大小從1.5B增長到175B。因此,在人類意圖提取等任務上,GPT-3比GPT-2具有更好的泛化能力。
除了數據量和計算能力增加帶來的好處,研究人員還在探索將新技術與GAI算法集成的方法。例如,ChatGPT利用來自人類反饋的強化學習(RLHF)[10-12]來確定給定指令的最適當響應,從而隨著時間的推移提高模型的可靠性和準確性。這種方法使ChatGPT能夠更好地理解人類在長對話中的偏好。同時,在計算機視覺領域,由Stability提出了穩定擴散[13]。AI在2022年也在圖像生成方面取得了巨大成功。與之前的方法不同,生成擴散模型可以通過控制探索和利用之間的權衡來幫助生成高分辨率圖像,從而將生成圖像的多樣性和與訓練數據的相似性和諧地結合起來。
結合這些進展,模型在AIGC任務上取得了顯著進展,并被應用于各個行業,包括藝術[14]、廣告[15]、教育[16]等。在不久的將來,AIGC將繼續成為機器學習的一個重要研究領域。因此,對過去的研究進行廣泛的調研并確定該領域的開放問題至關重要。對AIGC領域的核心技術和應用進行了綜述。 **這是對AIGC的首次全面綜述,從技術和應用兩個方面對GAI進行了總結。之前的研究從不同的角度關注GAI,包括自然語言生成[17],圖像生成[18],多模態機器學習中的生成[7,19]。**然而,之前的工作只關注AIGC的特定部分。本文首先回顧了AIGC中常用的基礎技術。進一步對先進的GAI算法進行了全面的總結,包括單峰生成和多峰生成,如圖2所示。此外,還討論了AIGC的應用和潛在挑戰。最后指出了該領域存在的問題和未來的研究方向。
綜上所述,本文的主要貢獻如下:
據我們所知,我們是第一個為AIGC和AI增強生成過程提供正式定義和徹底調研的人。
回顧了AIGC的歷史和基礎技術,并從單模態生成和多模態生成的角度對GAI任務和模型的最新進展進行了全面分析。
討論了AIGC面臨的主要挑戰以及AIGC未來的研究趨勢。
調研的其余部分組織如下。第二節主要從視覺模態和語言模態兩個方面回顧了AIGC的歷史。第3節介紹了目前在GAI模型訓練中廣泛使用的基本組件。第4節總結了GAI模型的最新進展,其中第4.1節從單模態角度回顧了進展,第4.2節從多模態生成的角度回顧了進展。在多模態生成中,介紹了視覺語言模型、文本音頻模型、文本圖模型和文本代碼模型。第5節和第6節介紹了GAI模型在AIGC中的應用以及與該領域相關的一些重要研究。第7、8節揭示了AIGC技術存在的風險、存在的問題和未來的發展方向。最后,我們在9中總結了我們的研究。2. 生成式人工智能的歷史生成模型在人工智能領域有著悠久的歷史,可以追溯到20世紀50年代,隱馬爾可夫模型(HMM)[20]和高斯混合模型(GMMs)[21]的發展。這些模型生成了語音和時間序列等順序數據。然而,直到深度學習的出現,生成模型才在性能上看到了顯著的改進。
在早期的深度生成模型中,不同的領域通常沒有太多的重疊。在自然語言處理(NLP)中,傳統的生成句子的方法是使用N-gram語言建模[22]學習單詞分布,然后搜索最佳序列。然而,該方法不能有效地適應長句子。為了解決這個問題,循環神經網絡(RNN)[23]后來被引入到語言建模任務中,允許對相對較長的依賴關系進行建模。隨后,長短期記憶(LSTM)[24]和門控循環單元(GRU)[25]的發育,它們利用門控機制在訓練過程中控制記憶。這些方法能夠處理樣本[26]中的約200個標記,與N-gram語言模型相比,這是一個顯著的改進。 同時,在計算機視覺(CV)領域,在基于深度學習的方法出現之前,傳統的圖像生成算法使用紋理合成[27]和紋理映射[28]等技術。這些算法基于手工設計的特征,在生成復雜多樣的圖像方面能力有限。2014年,生成對抗網絡(Generative Adversarial Networks, GANs)[29]被首次提出,在各種應用中取得了令人印象深刻的結果,是該領域的一個重要里程碑。變分自動編碼器(vae)[30]和其他方法,如擴散生成模型[31],也已開發用于對圖像生成過程進行更細粒度的控制和生成高質量圖像的能力
生成模型在不同領域的發展遵循不同的路徑,但最終出現了交叉的問題:transformer架構[32]。Vaswani等人在2017年引入了NLP任務,Transformer后來被應用于CV中,然后成為不同領域許多生成模型的主要骨干[9,33,34]。在NLP領域,許多著名的大型語言模型,如BERT和GPT,采用transformer架構作為其主要的構建塊,比之前的構建塊(如LSTM和GRU)具有優勢。在CV中,Vision Transformer (ViT)[35]和Swin Transformer[36]后來通過將Transformer架構與視覺組件相結合,進一步發展了這一概念,使其可以應用于基于圖像的下游。除了transformer給單個模態帶來的改進之外,這種交叉還使來自不同領域的模型能夠融合在一起,以完成多模態任務。多模態模型的一個例子是CLIP[37]。CLIP是一種視覺-語言聯合模型,將transformer架構與視覺組件相結合,允許它在大量文本和圖像數據上進行訓練。由于它在預訓練時結合了視覺和語言知識,因此也可以作為多模態提示生成中的圖像編碼器。總而言之,基于transformer的模型的出現徹底改變了人工智能的產生,并導致了大規模訓練的可能性。
近年來,研究人員也開始引入基于這些模型的新技術。例如,在NLP中,人們有時喜歡少樣本提示[38],而不是微調,這是指在提示中包括從數據集中選擇的一些示例,以幫助模型更好地理解任務需求。在視覺語言中,研究人員經常將特定模態模型與自監督對比學習目標相結合,以提供更魯棒的表示。在未來,隨著AIGC越來越重要,會有越來越多的技術被引入,讓這個領域充滿活力。
3. 生成式人工智能
我們將介紹最先進的單模態生成模型。這些模型被設計為接受特定的原始數據模態作為輸入,例如文本或圖像,然后以與輸入相同的模態生成預測。我們將討論這些模型中使用的一些最有前途的方法和技術,包括生成語言模型,如GPT3[9]、BART[34]、T5[56]和生成視覺模型,如GAN[29]、VAE[30]和歸一化流[57]。
多模態模型
多模態生成是當今AIGC的重要組成部分。多模態生成的目標是通過學習數據[7]的多模態連接和交互來學習生成原始模態的模型。模態之間的這種連接和相互作用有時是非常復雜的,這使得多模態表示空間與單模態表示空間相比很難學習。然而,隨著前面提到的強大的特定于模式的基礎架構的出現,越來越多的方法被提出來應對這一挑戰。在本節中,我們將介紹視覺語言生成、文本音頻生成、文本圖形生成和文本代碼生成中的最先進的多模態模型。由于大多數多模態生成模型總是與實際應用高度相關,本節主要從下游任務的角度進行介紹。
4. 應用
5. 效率
在過去的十年中,具有神經網絡的深度生成式人工智能模型一直主導著機器學習領域,其崛起歸功于2012年的ImageNet競賽[210],這導致了一場創建更深入和更復雜模型的競賽。這種趨勢也出現在自然語言理解領域,像BERT和GPT-3這樣的模型已經開發出了大量參數。然而,不斷增加的模型占用空間和復雜性,以及訓練和部署所需的成本和資源,給現實世界中的實際部署帶來了挑戰。核心挑戰是效率,可以分解如下:
推理效率: 這與部署用于推理的模型的實際考慮有關,即為給定的輸入計算模型的輸出。推理效率主要與推理期間模型的大小、速度和資源消耗(例如,磁盤和RAM使用)有關。 * 訓練效率: 這涵蓋了影響訓練模型的速度和資源需求的因素,如訓練時間、內存占用和跨多個設備的可伸縮性。它還可能包括考慮在給定任務上實現最佳性能所需的數據量。
來源:哈爾濱工業大學、自然語言處理研究所(HIT-NLP)
2022年11月30日,OpenAI推出全新的對話式通用人工智能工具——ChatGPT。ChatGPT表現出了非常驚艷的語言理解、生成、知識推理能力,它可以很好地理解用戶意圖,做到有效的多輪溝通,并且回答內容完整、重點清晰、有概括、有邏輯、有條理。ChatGPT上線后,5天活躍用戶數高達100萬,2個月活躍用戶數已達1個億,成為歷史上增長最快的消費者應用程序。除了被廣大用戶追捧外,ChatGPT還受到了各國政府、企業界、學術界的廣泛關注,使人們看到了解決自然語言處理這一認知智能核心問題的一條可能的路徑,并被認為向通用人工智能邁出了堅實的一步,將對搜索引擎構成巨大的挑戰,甚至將取代很多人的工作,更將顛覆很多領域和行業。 哈工大自然語言處理研究所組織多位老師和同學撰寫了本調研報告,從技術原理、應用場景、未來發展等方面對ChatGPT進行了盡量詳盡的介紹及總結。
本報告僅供內部參考。 主要編撰人員 第一章由車萬翔、楊沐的、張偉男、趙妍妍、馮驍騁、孫承杰、李佳朋編寫;第二章由張偉男、隋典伯、高翠蕓、朱慶福、李明達、王雪松編寫;第三章由劉銘、朱聰慧、湯步洲編寫;第四章由徐永東、高翠蕓、朱慶福編寫;第五章由楊沐昀、張偉男、韓一、莊子或編寫;第六章由隋典伯、高翠蕓編寫;第七章由車萬翔、劉銘編寫。參與各章審校工作的還有:崔一鳴、徐志明等。 報告整體由車萬翔統稿。
目錄
第一章 ChatGPT的背景與意義
1.1 自然語言處理的發展歷史 1.2 大規模預訓練語言模型的技術發展歷程 1.3 ChatGPT技術發展歷程 1.3.1 ChatGPT的相關技術 1.3.2 ChatGPT技術發展脈絡的總結 1.3.3 ChatGPT的未來技術發展方向 1.4 ChatGPT的優勢與劣勢 1.4.1 ChatGPT的優勢 1.4.2 ChatGPT的劣勢 1.5 ChatGPT的應用前景 1.5.1 在人工智能行業的應用前景及影響 1.5.2 在其他行業的應用前景及影響 1.6 ChatGPT 帶來的風險與挑戰 第二章 ChatGPT相關核心算法
2.1 基于Transformer的預訓練語言模型.. 2.1.1 編碼預訓練語言模型(Encoder-only Pre-trained Models) 2.1.2 解碼預訓練語言模型(Decoder-only Pre-trained Models) 2.1.3 基于編解碼架構的預訓練語言模型(Encoder-decoder Pre-trained Models) 2.2 提示學習與指令精調 2.2.1 提示學習概述 2.2.2 ChatGPT中的指令學習 2.3 思維鏈(Chain of Thought,COT) 2.4 基于人類反饋的強化學習(Reinforcement Learning with Hu-man Feedback,RLHF) 第三章 大模型訓練與部署
3.1 大模型并行計算技術 3.2 并行計算框架 3.3 模型部署 3.3.1 預訓練模型部署的困難 3.3.2 部署框架和部署工具 3.3.3 部署技術和優化方法 3.4 預訓練模型的壓縮 3.4.1 模型壓縮方案概述 3.4.2 結構化模型壓縮策略 3.4.3 非結構化模型壓縮策略 3.4.4 模型壓縮小結 第四章 ChatGPT相關數據集
4.1 預訓練數據集 4.1.1 文本預訓練數據集 4.1.2 代碼預訓練數據集 4.2 人工標注數據規范及相關數據集. 4.2.1 指令微調工作流程及數據集構建方法 4.2.2 常見的指令微調數據集 4.2.3 構建指令微調數據集的關鍵問題 第五章 大模型評價方法
5.1 模型評價方式 5.1.1人工評價 5.1.2 自動評價 5.2 模型評價指標 5.2.1 準確性 5.2.2 不確定性 5.2.3 攻擊性 5.2.4 毒害性 5.2.5 公平性與偏見性 5.2.6 魯棒性 5.2.7 高效性 5.3 模型評價方法小結 第六章 現有大模型及對話式通用人工智能系統
6.1 現有大模型對比 6.2 對話式通用人工智能系統調研 6.2.1 對話式通用人工智能系統 6.2.2不同系統之間的比較 第七章 自然語言處理的未來發展方向
7.1 提高ChatGPT的能力 7.2 加深對模型的認識 7.3 實際應用 7.4 從語言到AGI的探索之路
OpenAI 推出的 ChatGPT 對話模型掀起了新的 AI 熱潮,它面對多種多樣的問題對答如流,似乎已經打破了機器和人的邊界。這一工作的背后是大型語言模型 (Large Language Model,LLM) 生成領域的新訓練范式:來自普林斯頓博士生Ameet Deshpande講述《大型語言模型》技術細節,值得關注!
OpenAI 推出的 ChatGPT 對話模型掀起了新的 AI 熱潮,它面對多種多樣的問題對答如流,似乎已經打破了機器和人的邊界。這一工作的背后是大型語言模型 (Large Language Model,LLM) 生成領域的新訓練范式:RLHF (Reinforcement Learning from Human Feedback) ,即以強化學習方式依據人類反饋優化語言模型。
過去幾年里各種 LLM 根據人類輸入提示 (prompt) 生成多樣化文本的能力令人印象深刻。然而,對生成結果的評估是主觀和依賴上下文的,例如,我們希望模型生成一個有創意的故事、一段真實的信息性文本,或者是可執行的代碼片段,這些結果難以用現有的基于規則的文本生成指標 (如 BLUE 和 ROUGE) 來衡量。除了評估指標,現有的模型通常以預測下一個單詞的方式和簡單的損失函數 (如交叉熵) 來建模,沒有顯式地引入人的偏好和主觀意見。 如果我們 用生成文本的人工反饋作為性能衡量標準,或者更進一步用該反饋作為損失來優化模型,那不是更好嗎?這就是 RLHF 的思想:使用強化學習的方式直接優化帶有人類反饋的語言模型。RLHF 使得在一般文本數據語料庫上訓練的語言模型能和復雜的人類價值觀對齊。 看看 ChatGPT 是如何解釋 RLHF 的:
ChatGPT 解釋的很好,但還沒有完全講透;讓我們更具體一點吧!
RLHF 是一項涉及多個模型和不同訓練階段的復雜概念,這里我們按三個步驟分解:
首先,我們使用經典的預訓練目標訓練一個語言模型。對這一步的模型,OpenAI 在其第一個流行的 RLHF 模型 InstructGPT 中使用了較小版本的 GPT-3; Anthropic 使用了 1000 萬 ~ 520 億參數的 Transformer 模型進行訓練;DeepMind 使用了自家的 2800 億參數模型 Gopher。 這里可以用額外的文本或者條件對這個 LM 進行微調,例如 OpenAI 對 “更可取” (preferable) 的人工生成文本進行了微調,而 Anthropic 按 “有用、誠實和無害” 的標準在上下文線索上蒸餾了原始的 LM。這里或許使用了昂貴的增強數據,但并不是 RLHF 必須的一步。由于 RLHF 還是一個尚待探索的領域,對于” 哪種模型” 適合作為 RLHF 的起點并沒有明確的答案。
接下來,我們會基于 LM 來生成訓練獎勵模型 (RM,也叫偏好模型) 的數據,并在這一步引入人類的偏好信息。
RM 的訓練是 RLHF 區別于舊范式的開端。這一模型接收一系列文本并返回一個標量獎勵,數值上對應人的偏好。我們可以用端到端的方式用 LM 建模,或者用模塊化的系統建模 (比如對輸出進行排名,再將排名轉換為獎勵) 。這一獎勵數值將對后續無縫接入現有的 RL 算法至關重要。 關于模型選擇方面,RM 可以是另一個經過微調的 LM,也可以是根據偏好數據從頭開始訓練的 LM。例如 Anthropic 提出了一種特殊的預訓練方式,即用偏好模型預訓練 (Preference Model Pretraining,PMP) 來替換一般預訓練后的微調過程。因為前者被認為對樣本數據的利用率更高。但對于哪種 RM 更好尚無定論。 關于訓練文本方面,RM 的提示 - 生成對文本是從預定義數據集中采樣生成的,并用初始的 LM 給這些提示生成文本。Anthropic 的數據主要是通過 Amazon Mechanical Turk 上的聊天工具生成的,并在 Hub 上可用 (//huggingface.co/datasets/Anthropic/hh-rlhf),而 OpenAI 使用了用戶提交給 GPT API 的 prompt。 關于訓練獎勵數值方面,這里需要人工對 LM 生成的回答進行排名。起初我們可能會認為應該直接對文本標注分數來訓練 RM,但是由于標注者的價值觀不同導致這些分數未經過校準并且充滿噪音。通過排名可以比較多個模型的輸出并構建更好的規范數據集。 對具體的排名方式,一種成功的方式是對不同 LM 在相同提示下的輸出進行比較,然后使用 Elo 系統建立一個完整的排名。這些不同的排名結果將被歸一化為用于訓練的標量獎勵值。 這個過程中一個有趣的產物是目前成功的 RLHF 系統使用了和生成模型具有 不同 大小的 LM (例如 OpenAI 使用了 175B 的 LM 和 6B 的 RM,Anthropic 使用的 LM 和 RM 從 10B 到 52B 大小不等,DeepMind 使用了 70B 的 Chinchilla 模型分別作為 LM 和 RM) 。一種直覺是,偏好模型和生成模型需要具有類似的能力來理解提供給它們的文本。
接下來是最后一步:利用 RM 輸出的獎勵,用強化學習方式微調優化 LM。
長期以來出于工程和算法原因,人們認為用強化學習訓練 LM 是不可能的。而目前多個組織找到的可行方案是使用策略梯度強化學習 (Policy Gradient RL) 算法、近端策略優化 (Proximal Policy Optimization,PPO) 微調初始 LM 的部分或全部參數。因為微調整個 10B~100B+ 參數的成本過高 (相關工作參考低秩適應 LoRA 和 DeepMind 的 Sparrow LM) 。PPO 算法已經存在了相對較長的時間,有大量關于其原理的指南,因而成為 RLHF 中的有利選擇。 事實證明,RLHF 的許多核心 RL 進步一直在弄清楚如何將熟悉的 RL 算法應用到更新如此大的模型。 讓我們首先將微調任務表述為 RL 問題。首先,該策略 (policy) 是一個接受提示并返回一系列文本 (或文本的概率分布) 的 LM。這個策略的行動空間 (action space) 是 LM 的詞表對應的所有詞元 (一般在 50k 數量級) ,觀察空間 (observation space) 是可能的輸入詞元序列,也比較大 (詞匯量 ^ 輸入標記的數量) 。獎勵函數是偏好模型和策略轉變約束 (Policy shift constraint) 的結合。 PPO 算法確定的獎勵函數具體計算如下:將提示 輸入初始 LM 和當前微調的 LM,分別得到了輸出文本 ,將來自當前策略的文本傳遞給 RM 得到一個標量的獎勵 。將兩個模型的生成文本進行比較計算差異的懲罰項,在來自 OpenAI、Anthropic 和 DeepMind 的多篇論文中設計為輸出詞分布序列之間的 Kullback–Leibler (KL) 散度的縮放,即 。這一項被用于懲罰 RL 策略在每個訓練批次中生成大幅偏離初始模型,以確保模型輸出合理連貫的文本。如果去掉這一懲罰項可能導致模型在優化中生成亂碼文本來愚弄獎勵模型提供高獎勵值。此外,OpenAI 在 InstructGPT 上實驗了在 PPO 添加新的預訓練梯度,可以預見到獎勵函數的公式會隨著 RLHF 研究的進展而繼續進化。 最后根據 PPO 算法,我們按當前批次數據的獎勵指標進行優化 (來自 PPO 算法 on-policy 的特性) 。PPO 算法是一種信賴域優化 (Trust Region Optimization,TRO) 算法,它使用梯度約束確保更新步驟不會破壞學習過程的穩定性。DeepMind 對 Gopher 使用了類似的獎勵設置,但是使用 A2C (synchronous advantage actor-critic) 算法來優化梯度。
作為一個可選項,RLHF 可以通過迭代 RM 和策略共同優化。隨著策略模型更新,用戶可以繼續將輸出和早期的輸出進行合并排名。Anthropic 在他們的論文中討論了迭代在線 RLHF,其中策略的迭代包含在跨模型的 Elo 排名系統中。這樣引入策略和 RM 演變的復雜動態,代表了一個復雜和開放的研究問題。
盡管 RLHF 取得了一定的成果和關注,但依然存在局限。這些模型依然會毫無不確定性地輸出有害或者不真實的文本。這種不完美也是 RLHF 的長期挑戰和動力 —— 在人類的固有領域中運行意味著永遠不會到達一個完美的標準。 收集人類偏好數據的質量和數量決定了 RLHF 系統性能的上限。RLHF 系統需要兩種人類偏好數據:人工生成的文本和對模型輸出的偏好標簽。生成高質量回答需要雇傭兼職人員 (而不能依賴產品用戶和眾包) 。另一方面,訓練 RM 需要的獎勵標簽規模大概是 50k 左右,所以并不那么昂貴 (當然遠超了學術實驗室的預算) 。目前相關的數據集只有一個基于通用 LM 的 RLHF 數據集 (來自 Anthropic) 和幾個較小的子任務數據集 (如來自 OpenAI 的摘要數據集) 。另一個挑戰來自標注者的偏見。幾個人類標注者可能有不同意見,導致了訓練數據存在一些潛在差異。 除開數據方面的限制,一些有待開發的設計選項可以讓 RLHF 取得長足進步。例如對 RL 優化器的改進方面,PPO 是一種較舊的算法,但目前沒有什么結構性原因讓其他算法可以在現有 RLHF 工作中更具有優勢。另外,微調 LM 策略的一大成本是策略生成的文本都需要在 RM 上進行評估,通過離線 RL 優化策略可以節約這些大模型 RM 的預測成本。最近,出現了新的 RL 算法如隱式語言 Q 學習 (Implicit Language Q-Learning,ILQL) 也適用于當前 RL 的優化。在 RL 訓練過程的其他核心權衡,例如探索和開發 (exploration-exploitation) 的平衡也有待嘗試和記錄。探索這些方向至少能加深我們對 RLHF 的理解,更進一步提升系統的表現。
首先介紹一些相關的開源工作: 關于 RLHF 的第一個項目,來自 OpenAI: PyTorch 的 repo: *
此外,Huggingface Hub 上有一個由 Anthropic 創建的大型數據集: 相關論文包括在現有 LM 前的 RLHF 進展和基于當前 LM 的 RLHF 工作:
本文翻譯自 Hugging Face 官方博客 () 參考資料部分鏈接請點擊閱讀原文到博客上查看。你也可以查看我們的直播活動回放了解更多: 本文譯者: 李濼秋,浙江大學計算機科學碩士,主要研究 NLP 領域。 我們正在招募更多翻譯志愿者幫助我們擴充官方公眾號內容,如果你感興趣,歡迎通過文章下方的留言功能介紹自己,并留下聯系方式。謝謝!
大型語言模型代表了人工智能領域的重大進步。基礎技術是進一步創新的關鍵,盡管有批評意見,甚至在社區和地區內禁止,大型語言模型仍然存在。這篇立場論文從學生和教師的角度介紹了大型語言模型的教育應用的潛在好處和挑戰。簡要討論了大型語言模型及其應用的現狀。強調了如何使用這些模型來創建教育內容,提高學生參與度和互動,以及個性化學習體驗。關于挑戰,本文認為,教育中的大型語言模型需要教師和學習者開發一套必要的能力和素養,以理解技術以及這些系統的局限性和意想不到的脆弱性。此外,為了在學習環境和教學課程中整合和充分利用大型語言模型,需要在教育系統中有一個明確的策略和一個明確的教學方法,重點關注批判性思維和事實檢查策略。其他挑戰,如輸出中的潛在偏見,需要持續的人工監督,以及濫用的可能性,并不是人工智能在教育中的應用所特有的。但我們相信,如果合理處理,這些挑戰可以在教育場景中提供見解和機會,讓學生盡早了解人工智能應用的潛在社會偏見、關鍵和風險。最后,我們提出了如何應對這些挑戰的建議,并確保在教育中以負責任和道德的方式使用這些模式。
//www.edu.sot.tum.de/fileadmin/w00bed/hctl/my_direct_uploads/ChatGPT_for_Good.pdf
**刷爆的ChatGPT什么算法這么強!臺大李宏毅老師國語講解《ChatGPT (可能)是怎么煉成的 》! **
** **
** **
ChatGPT是OpenAI推出的聊天機器人模型,月度用戶已破億,正在逐步探索商業化途徑。ChatGPT能夠通過學習和理解人類的語言來進行對話,還能根據聊天的上下文進行互動,真正像人類一樣來聊天交流,甚至能完成撰寫郵件、視頻腳本、文案、翻譯、代碼等任務。根據UBS統計數據顯示,ChatGPT上線2個月后月度用戶數量破1億。 OpenAI的商業模式為,會員收費、開放API以及與微軟的戰略合作。會員服務:2023年2月1日,OpenAI推出付費訂閱項目ChatGPTPlus,價格為$20/月,目前面向美國用戶。API服務:ChatGPT將在未來加入OpenAI的API,目前已在包括游戲虛擬人等泛娛樂內容產業和互聯網的多方面進行應用。1)辦公軟件:微軟計劃將包括ChatGPT等AI工具整合進旗下的所有產品中。ChatGPT已加入瀏覽器擴展程序,集成了ChatGPT-4的BING短暫上線。2)泛娛樂:AI或將不斷趨近人類思維敘事,AIGC是踏入元宇宙的重要一步,且已有公司在直播場景、游戲場景等泛娛樂中應用ChatGPT。 谷歌、百度等眾多公司推出自有AI產品,百度文心一言(ERNIEBot)預計三月份完成內測。百度擁有飛槳(深度學習開源框架)、百度AI大底座(全棧AI基礎設施)和文心大模型(AI應用場景全覆蓋)。ERNIE是百度開創性提出的基于知識增強的持續學習語義理解框架。ERNIE3.0參數量增大到了10B,訓練數據集為4TB。產品應用或可期待。
原創作者:李佳朋 轉載須標注出處:哈工大SCIR
就在上個月月末OpenAI發布了其最新的研究成果ChatGPT以及其測試接口。在發布后的短短幾天時間內,ChatGPT就火出了圈。根據相關媒體報道,目前ChatGPT全球用戶數已經突破了一百萬。筆者也懷揣著一顆好奇之心去體驗了ChatGPT,整體下來的體驗是其無論是在一些傳統NLP任務包括關系抽取、事件抽取、寫作、對話,還是一些其他任務包括寫代碼、角色扮演等都表現出一種滴水不漏,嚴絲合縫,不給人留下任何把柄的合理性。然而,客觀來講也存在一些不足,包括面對需要復雜邏輯推理問題的時候(比如應用題),會給出一本正經的廢話;面對事實性問題的時候缺乏對于事實性的判斷;面對主觀性問題的時候為保證立場的客觀,存在一定模版。
然而瑕不掩瑜,ChatGPT帶給我們更多的是驚喜與震撼,震撼之余更多的是思考,思考在大模型時代,在現階段我們的研究方向應該是什么,有哪些真正值得做的有意義的、有影響力的工作。 那么ChatGPT究竟是怎樣煉成的呢?OpenAI目前沒有給出相關的論文,但是在官方的摘要中,其生成ChatGPT有一個"孿生兄弟",即InstructGPT,兩者采用了相同的訓練方式。InstructGPT是OpenAI在今年一月末發表的一篇工作,其核心思想是采用人工反饋的方式,利用強化學習的方法去進一步微調大模型,從而使大模型生成更加符合人類預期的回復。本文將詳細介紹InstructGPT的原理,通過InsructGPT向大家揭開ChatGPT的神秘面紗。
還是蠻驚人的,這里給他臨時定義了一個文本分類的任務,ChatGPT可以理解我的意圖,并且正確的對我給出的文本正確的分類
圖1 ChatGPT在自定義的文本分類任務上的效果 這里接下來給了它一個無法進行分類的任務,即讓他定一個會議室。他可以明確知道訂會議室不在我定義的類別之中,并且給出合理的回復。而在添加了這個類別以后,ChatGPT就可以正確的識別對應的類別。
圖2 在添加新的分類類別后ChatGPT的效果 讓其寫一個具有李清照風格的代碼。
圖3 ChatGPT寫代碼 故事創作。
圖4 ChatGPT進行故事生成 知識型問答,但是可以看出一些問題,就是作帶魚并不需要用水焯去血水。這很有可能是因為訓練數據中存在糖醋排骨相關的資源,排骨下鍋前需要水焯,模型記住了這個,并且在生成的時候生成出來了。
圖5 知識型問答[1]
以GPT3為代表的大語言模型,利用提示學習的方法,雖然已經可以進行各種各樣的任務,并且生成流暢的回復,但是在一些情況下仍然會產生不符合人類預期的回復,包括不真實的、有毒害的、致幻性的回復。換句話說,大模型產生的回復與人類真實的回復是有偏置的。InstructGPT的目標就是緩解這種生成回復與真實回復之間的偏置產生更加符合人類預期的回復。
在這篇工作里,OpenAI的研究人員從數據層面和方法層面兩方面對模型生成的質量進行了改善。數據層面,聘請標注人員標注一部分訓練數據用于微調GPT3;而方法層面使用基于人工反饋的強化學習方法(RLHF)對模型進一步進行微調,使其生成結果更符合人類預期 數據層面,如下圖所示,標注分為兩個階段:標注人員首先撰寫一些相關的Prompt,這些Prompt描述了要進行的任務;第二階段,從Prompt中采樣,標注人員需要根據被采樣出的Prompt寫出其理想的回復。這樣的一個Prompt與其對應的回復被稱為demonstration。這些人工構造出來的demonstration是高質量的訓練數據,這些訓練數據被用作微調GPT3之中
圖6 InstructGPT 數據標注示意圖[2] 方法層面,如下圖所示,InstructGPT的訓練實際上是分為三個階段的,第一階段就是我們上文所述,利用人工標注的數據微調GPT3;第二階段,需要訓練一個評價模型即Reward Model,該模型需學習人類對于模型回復的評價方式,對于給定的上文與生成回復給出分數;第三階段,利用訓練好的Reward Model作為反饋信號,去指導GPT進一步進行微調,將目標設定為Reward分數最大化,從而使模型產生更加符合人類偏好的回復。
圖7 InstructGPT整體訓練流程[3]
那么該工作是如何訓練的Reward Model呢?評價模型實際上是利用大模型做一個回歸任務,相信回歸任務大家應該都比較熟悉,即在模型的輸出層[CLS]位置添加一個MLP,最后得到的數值即為Reward Model給出的分數。 接下來我們看一下OpenAI是如何構造數據的,如下圖所示,在訓練Reward Model的時候采用排序任務,即針對同一個上文,利用第一階段訓練好GPT3在多次采樣下可以生成4個( 或9個)不同的回復。標注人員在標注過程中,需要根據這4個不同回復與上文之間的關聯程度,給出一個相關性的偏序關系。
圖8 InstructGPT第二階段的數據標注過程與訓練過程[2]
在訓練階段,這4個回復之間兩兩組合可以形成6個pair,優化目標為每對之中與上文關系大的分數高于與上文關系小的,其損失函數為:
在第二階段訓練好一個Reward Model以后,我們就可以利用這個模型作為反饋信號,代替人類去指導大模型進行微調了。在該階段OpenAI采用近端策略優化算法(PPO)這一強化學習方法對模型進行微調。PPO算法是OpenAI之前提出的一個針對策略梯度算法進行改進的算法。這一算法目前已經廣泛應用于各種強化學習模型中,并被證實有良好的性能。但是,將這一算法應用于序列生成任務中的相關工作卻少之又少。 要想理解這部分實現,首先需要明確該任務中的狀態(state)、動作(action)、價值函數(Value Function)、獎勵(Reward)以及策略模型(Policy Model)分別是什么? 為了方便理解,我們這里需要類比一個典型的強化學習場景,即一個游戲場景。在游戲場景中,一場游戲從開始到結束整個過程是一條訓練數據;在自然語言生成場景中,生成的每一個句子類比于一場游戲,是一條訓練數據。在游戲場景中,玩家每一次進行決策就是一個動作;在自然語言生成場景中,生成每一個token,從詞表中采樣即是一個動作。在游戲場景中,環境的信息、角色的狀態、歷史動作的選擇這些共同構成了當前的狀態;在自然語言生成場景中,對話歷史與之前生成的序列構成了當前的狀態。在游戲場景中,玩家所有可選的動作集合構成動作空間;后者詞表即為動作空間。游戲的最終結局,勝利與否作為前者的獎勵;評價模型對于生成回復的分數即為后者的獎勵。負責基于當前狀態學習輸出一個關于動作空間上的概率分布的模型即為策略模型,顯然在本文中GPT3就是這個策略模型。 在PPO算法中,存在一個長期獎勵即Reward,他負責評價整個過程中生成序列的好壞;還存在一個短期獎勵即價值函數,他負責評價生成過程中每一步生成的好壞。而負責輸出長期獎勵的Reward Model就是我們在第二階段訓練的評價模型,而價值函數模型也是使用二階段訓練好的評價模型進行初始化的。兩者的不同在于Reward Model的參數在整個三階段訓練過程中是固定參數的,而Value Function Model的參數是可變的。 那么在搞清楚這些強化學習概念的定義之后,我們就可以正式的聊聊PPO算法了。作為一種策略梯度算法,它也遵循著強化學習的基本框架。整體分為離線數據收集和利用PPO算法對模型梯度進行更新兩個部分。兩部分交替迭代進行,即收集一批新數據以后,立即利用這批數據進行訓練;在利用這部分數據更新完模型參數以后,再利用新模型去收集新一批數據。在整個訓練過程中,需要更新參數的包括策略模型和價值函數模型兩者。 模型整體流程如下圖所示,其中Policy Model就是第三階段進行微調的GPT3, Alignment Model是固定參數不參與微調的GPT3,兩者均由階段一訓練的GPT3進行初始化;Value Function Model是一個可訓練的價值函數,其輸出值代表著GPT3生成的每一個token的質量,是一個短期的獎勵, Reward Model是一個固定參數的模型,其輸出值代表著整個句子的好壞程度,是一個長期獎勵。
圖9 InstructGPT第三階段訓練流程示意圖 首先,對于一個給定的對話上文,通過Policy Model可以得到關于每一步生成的詞表上的概率分布;與此同時通過Alignment Model可以得到一個未經過三階段微調的模型給出的詞表上的概率分布。將兩者傳入Reward Model, 評價模型會根據生成質量給出一個分數,并計算Policy Model與 Alignment Model之間的差異性,將這個分數作為一個額外的懲罰項,若Policy Model生成結果過于天馬行空,導致與未經過訓練前的模型相距甚遠,則會因為過高的懲罰被賦予低分。 這個計算結果即為Reward。同時,將policy model的輸出傳遞給 value function model,其將計算出生成序列中每一個token的分數,即為價值函數分數。重復以上步驟直到收集完成一個mini-batch的所有數據,則在線數據收集完成。 最后我們來聊聊如何利用PPO算法對模型參數進行更新。首先,要明確一件事情,在線數據收集來的數據可能很多,模型在參數更新過程中,需要將這部分數據分成若干個step依次進行利用。因此,隨著參數的更新Policy Model與Value Function Model參數會與收集數據時參數產生異步性,即訓練過程中模型的參數新于采集數據時模型的參數,所以我們不妨約定,把數據采集過程中模型的輸出稱為old xxx, 而訓練過程中產生的輸出稱為new xxx。 整個訓練過程是由三個loss組成的,分別是用于訓練策略模型的PPO loss,用于訓練價值函數模型的Value Function loss以及用于訓練生成序列的Entropy loss。其中,用于訓練生成序列和價值函數模型的loss均是交叉熵損失函數,兩者的lable分別是人工標注的回復和數據采集過程中價值模型輸出的vf_old。而用于訓練策略模型的損失函數則是采用PPO算法進行計算得到的,其計算公式如下圖所示。
圖10 PPO算法計算公式與GAE計算公式 公式中的與分別代表來自訓練過程中與數據收集過程中策略模型在每一步關于詞表概率分布的輸出,叫做策略優勢估計,是PPO算法的核心,其給出一種利用長期獎勵與短期獎勵計算當前步好壞的計算方法,在第t步的分數越高,則代表該位置生成的質量越高。而且PPO算法不會參考第t步之前的狀態信息,相反的,其根據當前位置往后的T步去計算當前狀態的好壞,這是因為其已知整個序列的生成結果與概率分布,因此其可以根據最終結果的好壞來反推當前這一步是否合理。而跟隨在后面計算的KL散度則作為一個懲罰項,約束著每一次梯度更新以后不要產生與原模型相距甚遠的回復。保證了模型訓練的穩定性。
OpenAI采用人工評測,讓標注者從真實性(truthful)、毒害性(toxic)、事實性(make up fact)和合理性(appropriate)四個角度對InstructGPT與GPT3進行評價。標注人員會在不知情的條件下,拿到GPT3和InstructGPT生成的回復,其需要比較兩者之間的好壞關系。如下圖所示人們相較于175B的GPT3略偏好1.3B參數的InstructGPT,而同等參數下的InstructGPT更是有超過六成的勝率。
圖11 InstructGPT與GPT3的勝率對比,其中PPO即為InstructGPT,GPT代表GPT3[3]
InstructGPT為解決大模型生成回復不符合人們預期這一問題,分別從數據和模型兩方面進行了設計,通過改善數據質量與基于人工反饋的微調兩個方面減小了模型生成回復與人類真實回復之間的偏置。并且在實驗中表明,在GPT3 1/100 的參數條件下表現出相近的性能。
在測試過程中也發現了ChatGPT存在的一些問題,在這里與大家分享一下。
圖12 ChatGPT在解答應用題時缺乏底層的邏輯推理能力[1] 首先發現第一個問題是ChatGPT不具有復雜問題推理的能力。以這道相遇問題為例,雖然看起來頭頭是道,但是實際上已經是在胡謅了。之所以可以生成這段,我猜測是訓練過程中見過類似的應用題。但是實際上沒有明白應用題背后的原理與解答過程,即這個推理過程。
圖13 ChatGPT在回答主觀性問題時,為保證安全性存在模版[1] 在一些需要主觀評價的問題上,出于安全考慮在訓練過程中采用了一定的模版,導致生成的回復有明顯的模版生成的感覺。
圖14 ChatGPT缺乏事實性檢測 缺乏一些事實性檢測,西游記的作者并不是馬未都,但是模型并未識別出來。
ChatGPT的表現是大家有目共睹的,但是一味的吹捧ChatGPT的強大或者針對其各種目前尚未解決的問題找茬挑刺都是沒有意義,不利于思考的。相信和我一樣,在大模型的時代,很多NLP的研究人員有時會感到迷茫,這種迷茫來源于以GPT為代表的大模型的時代下,我們個體研究人員沒有大公司大資金大機器的情況下,該如何做出有價值有影響力的工作。很多時候,我們專注于一項工作,從開展到設計,再到實驗最后投稿,修改到錄用,這個周期短則半年,長則一年的時間。但是,當一篇工作真正被錄用的時候,已經有更加前沿更加有影響力的工作產生,顯得很多時候我們的工作那么渺小。那么我就在想,究竟應該作什么樣的工作,才能受時間影響小一點,沒那么容易過時呢?
研究一些更底層的,大小模型都適用的問題比如,如何提高模型的魯棒性與泛化能力;如何提高模型的邏輯推理能力,即使強如ChatGPT,在一些復雜的推理問題中還是很難學會其中的底層邏輯,更多時候只是從已經看見過的數據中進行類比與生成。
研究一些與特定領域結合的任務與其他領域結合,比如醫療,金融,生物制藥等領域,通過融合相關領域的特異性知識,進行模型結構上的設置,融入一些巧思,做好特定的任務。比如前一陣子看到的scBERT,做的就是一項利用mRNA的表達進行細胞類型判斷的任務,通過結合mRNA的特性與相關知識,設計了特有的類別編碼與基因編碼以及預訓練任務,成功將預訓練模型引入這一領域。
做以數據為中心的任務OpenAI相關工作人員曾指出,在訓練大模型的時候高質量的數據是至關重要的。吳恩達這兩年也提出Data-centic AI(DCAI),將焦點從模型開發轉移到數據層面,研究如何將有限的數據變得更多更好。
[1]圖片來自于文章"作為普通NLP科研人員對ChatGPT的一些思考",原文鏈接://mp.weixin.qq.com/s/yanBgjAYbuUgKdh6spti1Q [2]圖片來自于視頻"深度學習之應用: OpenAI InstructGPT 從人類回饋中學習 ChatGPT 的前身", 視頻鏈接: [3]Ouyang, Long, et al. "Training language models to follow instructions with human feedback." arXiv preprint arXiv:2203.02155 (2022).
李佳朋,就讀于哈爾濱工業大學社會計算與信息檢索研究中心,對話技術(DT)組,2021級碩士研究生,師從張偉男副教授。研究方向為基于基于知識增強的對話生成,曾參與Doc2Dial國際評測比賽并獲得第二名并于ACL-IJCNLP發表學術論文一篇。
本期責任編輯:馮驍騁本期編輯:彭 湃