與RLHF如何讓AI理解人類意圖)
1. 從“玩具”到“現(xiàn)象”ChatGPT的進(jìn)化之路如果你在2022年底之前問(wèn)我什么是GPT我可能會(huì)告訴你它是一個(gè)挺有意思的文本生成模型能寫點(diǎn)詩(shī)、編個(gè)故事偶爾也能回答些問(wèn)題但時(shí)不時(shí)會(huì)“一本正經(jīng)地胡說(shuō)八道”像個(gè)不太靠譜的聰明“玩具”。但今天當(dāng)“ChatGPT”成為一個(gè)家喻戶曉的名字甚至改變了無(wú)數(shù)人的工作與學(xué)習(xí)方式時(shí)我們?cè)倩仡^看會(huì)發(fā)現(xiàn)這條進(jìn)化之路充滿了戲劇性的轉(zhuǎn)折與精妙的技術(shù)抉擇。這堂課我們不堆砌復(fù)雜的數(shù)學(xué)公式也不羅列晦澀的論文標(biāo)題就用最直白的方式拆解從GPT-1到ChatGPT究竟發(fā)生了什么。核心就一句話它從一個(gè)“自說(shuō)自話”的文本續(xù)寫器進(jìn)化成了一個(gè)能“聽懂人話”、并“好好說(shuō)話”的對(duì)話伙伴。這場(chǎng)進(jìn)化絕非簡(jiǎn)單的模型變大而是一場(chǎng)圍繞“如何讓AI理解并遵循人類意圖”的深刻變革。無(wú)論你是好奇的普通用戶還是想入門AI的開發(fā)者理解這段歷史都能幫你真正看懂當(dāng)下AI浪潮的底層邏輯。2. 基石GPT-1與“預(yù)測(cè)下一個(gè)詞”的樸素智慧一切故事的起點(diǎn)都源于一個(gè)看似簡(jiǎn)單的任務(wù)給定一段文本預(yù)測(cè)下一個(gè)最可能出現(xiàn)的詞是什么這就像我們小時(shí)候玩成語(yǔ)接龍只不過(guò)這次接龍的“選手”是一個(gè)擁有數(shù)億甚至千億參數(shù)的神經(jīng)網(wǎng)絡(luò)。2.1 核心發(fā)動(dòng)機(jī)Transformer解碼器GPT系列的核心技術(shù)基石是2017年谷歌提出的Transformer架構(gòu)。但GPT只用了其中的一半——解碼器Decoder。你可以把它想象成一個(gè)擁有絕佳“記憶力”和“上下文理解力”的超級(jí)閱讀器。它的工作原理是這樣的當(dāng)模型看到“今天天氣真”這幾個(gè)字時(shí)它會(huì)將這段文本轉(zhuǎn)換成一系列數(shù)字向量然后利用解碼器的核心——自注意力機(jī)制——來(lái)分析這些字之間的關(guān)系。比如它會(huì)知道“天氣”和“真”經(jīng)常一起出現(xiàn)并且“真”后面接“好”或“不錯(cuò)”的概率很高。通過(guò)在海量互聯(lián)網(wǎng)文本如維基百科、新聞、書籍上進(jìn)行這種“猜詞”訓(xùn)練模型逐漸學(xué)會(huì)了語(yǔ)言的統(tǒng)計(jì)規(guī)律、語(yǔ)法結(jié)構(gòu)甚至一些淺層的常識(shí)和事實(shí)。注意GPT-12018年的參數(shù)量“僅”為1.17億。以今天的眼光看很小但它驗(yàn)證了一個(gè)關(guān)鍵假設(shè)僅使用無(wú)監(jiān)督的“下一個(gè)詞預(yù)測(cè)”任務(wù)在大規(guī)模數(shù)據(jù)上訓(xùn)練一個(gè)巨型模型就能讓模型學(xué)到豐富的語(yǔ)言表征能力。這為后續(xù)的“大力出奇跡”路線奠定了基礎(chǔ)。2.2 能力與局限一個(gè)博學(xué)但“跑題”的學(xué)者經(jīng)過(guò)訓(xùn)練的GPT-1能做什么它能生成連貫的文本段落完成一些簡(jiǎn)單的文本分類任務(wù)需要微調(diào)甚至進(jìn)行初步的問(wèn)答。但它的局限性也非常明顯缺乏方向性你問(wèn)它“如何做蛋糕”它可能會(huì)從蛋糕的歷史開始講起然后扯到小麥的種植最后才含糊地提到需要面粉和雞蛋。它生成的內(nèi)容是基于統(tǒng)計(jì)概率的“續(xù)寫”而不是針對(duì)問(wèn)題的“回答”。事實(shí)性錯(cuò)誤因?yàn)樗鼘W(xué)習(xí)的是文本的共現(xiàn)概率而非真實(shí)世界的知識(shí)圖譜所以經(jīng)常會(huì)生成聽起來(lái)合理但完全錯(cuò)誤的事實(shí)業(yè)內(nèi)戲稱為“幻覺”。無(wú)法持續(xù)對(duì)話它沒(méi)有“對(duì)話”的概念。每次輸入都是獨(dú)立的它不會(huì)記住上文聊過(guò)什么更談不上保持對(duì)話的一致性和角色設(shè)定。此時(shí)的GPT更像一個(gè)博覽群書但思維發(fā)散、經(jīng)常跑題的學(xué)者。它肚子里有墨水但你需要非常精確地引導(dǎo)和篩選才能得到一點(diǎn)有用的輸出。3. 進(jìn)化GPT-2與GPT-3規(guī)模帶來(lái)的“涌現(xiàn)”奇跡如果GPT-1證明了道路可行那么GPT-2和GPT-3就是在這條道路上踩足了油門將模型規(guī)模和數(shù)據(jù)量推向了前所未有的高度。這不僅僅是量的積累更引發(fā)了質(zhì)的“涌現(xiàn)”。3.1 GPT-2零樣本學(xué)習(xí)的曙光2019年的GPT-2將參數(shù)量提升到了15億。OpenAI發(fā)現(xiàn)當(dāng)模型足夠大、數(shù)據(jù)足夠多時(shí)出現(xiàn)了一種神奇的現(xiàn)象零樣本學(xué)習(xí)。即不需要針對(duì)特定任務(wù)進(jìn)行額外的訓(xùn)練或微調(diào)只需在輸入時(shí)以自然語(yǔ)言描述任務(wù)模型就能直接執(zhí)行。實(shí)操示例對(duì)比GPT-1方式需微調(diào)準(zhǔn)備大量“中文句子 - 情感標(biāo)簽正面/負(fù)面”的數(shù)據(jù)對(duì)重新訓(xùn)練模型得到一個(gè)情感分類器。GPT-2方式零樣本直接在輸入框里寫“請(qǐng)判斷以下句子的情感傾向‘這部電影真是太精彩了’ 選項(xiàng)正面負(fù)面?!?模型有很大概率直接輸出“正面”。這背后的邏輯是在它閱讀過(guò)的海量互聯(lián)網(wǎng)文本中包含了無(wú)數(shù)類似“翻譯”、“總結(jié)”、“問(wèn)答”的語(yǔ)料和描述。超大模型學(xué)會(huì)了這種“任務(wù)描述-執(zhí)行模式”的映射。GPT-2展示了通過(guò)擴(kuò)大規(guī)模模型可以將其在預(yù)訓(xùn)練階段學(xué)到的知識(shí)更靈活地泛化到新任務(wù)上。然而它的輸出依然不可控、不穩(wěn)定距離“好用”還很遠(yuǎn)。3.2 GPT-3參數(shù)量變引發(fā)能力質(zhì)變2020年的GPT-3將參數(shù)量推到了驚人的1750億。這是“大力出奇跡”的巔峰之作。除了零樣本學(xué)習(xí)GPT-3還展現(xiàn)了強(qiáng)大的少樣本學(xué)習(xí)和思維鏈的雛形。少樣本學(xué)習(xí)在輸入中給它提供幾個(gè)任務(wù)示例如2-3個(gè)“問(wèn)題-答案”對(duì)它就能模仿模式解決新的同類問(wèn)題。這極大降低了使用門檻。思維鏈雛形當(dāng)遇到復(fù)雜推理問(wèn)題時(shí)如果提示詞中鼓勵(lì)模型“一步步思考”它有時(shí)能生成中間推理步驟從而提升最終答案的準(zhǔn)確性。然而GPT-3的核心問(wèn)題依然沒(méi)解決對(duì)齊問(wèn)題。即模型的輸出與人類的真實(shí)意圖和價(jià)值觀難以對(duì)齊。它能力強(qiáng)大但更像一個(gè)不受控的“魔法卷軸”你永遠(yuǎn)不知道下一次召喚出來(lái)的是甘霖還是洪水。它可能寫出優(yōu)美的文章也可能生成帶有偏見、有害或不安全的內(nèi)容。要讓這樣一個(gè)龐然大物“聽話”成為安全、有用的工具需要新的訓(xùn)練范式。4. 關(guān)鍵轉(zhuǎn)折從“預(yù)測(cè)文本”到“理解指令”——指令微調(diào)與RLHFChatGPT之所以能脫穎而出關(guān)鍵不在于它比GPT-3更大事實(shí)上ChatGPT基于的模型參數(shù)量可能小于GPT-3而在于它經(jīng)歷了兩場(chǎng)至關(guān)重要的“后天教育”指令微調(diào)和基于人類反饋的強(qiáng)化學(xué)習(xí)。這是讓“天才少年”變成“有用之才”的過(guò)程。4.1 指令微調(diào)教會(huì)模型“聽指令”想象一下GPT-3是一個(gè)熟讀天下文章、知識(shí)淵博但不懂考試題型的學(xué)霸。指令微調(diào)就是給它做大量的“模擬題”訓(xùn)練。收集數(shù)據(jù)研究人員雇傭標(biāo)注人員編寫大量“指令-期望輸出”對(duì)。例如指令“用莎士比亞的風(fēng)格寫一首關(guān)于咖啡的十四行詩(shī)。”期望輸出一首符合要求的詩(shī)。指令“用一句話總結(jié)相對(duì)論的核心思想?!逼谕敵觥拔镔|(zhì)和能量會(huì)使時(shí)空彎曲而這種彎曲表現(xiàn)為引力?!北O(jiān)督微調(diào)用這些高質(zhì)量的數(shù)據(jù)對(duì)在預(yù)訓(xùn)練好的GPT-3模型上進(jìn)行有監(jiān)督的微調(diào)。這個(gè)過(guò)程不教模型新知識(shí)而是教它一種新的“行為模式”當(dāng)看到以人類指令形式出現(xiàn)的輸入時(shí)應(yīng)該輸出一個(gè)直接、有用、符合指令的回應(yīng)而不是自顧自地續(xù)寫。經(jīng)過(guò)指令微調(diào)后的模型我們稱之為InstructGPT。它已經(jīng)能很好地遵循指令但還有一個(gè)問(wèn)題對(duì)于同一個(gè)指令什么樣的回答才是“最好”的是篇幅最長(zhǎng)的用詞最華麗的還是最安全、最有用、最貼近人類偏好的這就需要引入人類的判斷。4.2 基于人類反饋的強(qiáng)化學(xué)習(xí)讓模型學(xué)會(huì)“選優(yōu)”RLHF是ChatGPT訓(xùn)練中最畫龍點(diǎn)睛的一筆。它的目的是讓模型的輸出不僅正確而且符合人類的主觀偏好如有幫助、誠(chéng)實(shí)、無(wú)害。這個(gè)過(guò)程分為三步第一步訓(xùn)練獎(jiǎng)勵(lì)模型對(duì)于同一個(gè)指令讓InstructGPT生成4-7個(gè)不同的回答。展示給人類標(biāo)注員讓他們對(duì)這些回答的質(zhì)量進(jìn)行排序哪個(gè)最好哪個(gè)次之哪個(gè)最差。利用這些排序數(shù)據(jù)訓(xùn)練一個(gè)獎(jiǎng)勵(lì)模型。這個(gè)模型的任務(wù)是學(xué)習(xí)人類的偏好并給任何一段“指令-回答”打出一個(gè)分?jǐn)?shù)分?jǐn)?shù)越高代表越符合人類偏好。第二步使用強(qiáng)化學(xué)習(xí)優(yōu)化策略模型將InstructGPT作為“策略模型”獎(jiǎng)勵(lì)模型作為“裁判”。讓策略模型針對(duì)新指令生成回答然后由獎(jiǎng)勵(lì)模型打分。通過(guò)強(qiáng)化學(xué)習(xí)算法如PPO不斷調(diào)整策略模型的參數(shù)目標(biāo)是讓它生成能獲得獎(jiǎng)勵(lì)模型高分的回答。這個(gè)過(guò)程就像訓(xùn)練一只小狗做對(duì)了高分就給獎(jiǎng)勵(lì)做錯(cuò)了低分就調(diào)整行為。第三步迭代優(yōu)化上述過(guò)程可以多次迭代。用優(yōu)化后的策略模型生成新的回答再收集人類對(duì)這批新回答的排序數(shù)據(jù)訓(xùn)練新的獎(jiǎng)勵(lì)模型再進(jìn)行強(qiáng)化學(xué)習(xí)……如此循環(huán)模型的表現(xiàn)會(huì)越來(lái)越貼近人類的復(fù)雜偏好。RLHF的巨大意義它首次將人類主觀的、模糊的“好”與“壞”標(biāo)準(zhǔn)轉(zhuǎn)化成了AI模型可以持續(xù)優(yōu)化的目標(biāo)。這讓ChatGPT的輸出風(fēng)格發(fā)生了根本性轉(zhuǎn)變它變得謙遜會(huì)承認(rèn)不知道、安全拒絕回答有害問(wèn)題、結(jié)構(gòu)化喜歡用列表和分點(diǎn)并且努力提供有用的信息。5. ChatGPT的最終形態(tài)一個(gè)精心調(diào)教的對(duì)話專家結(jié)合了指令微調(diào)和RLHF的ChatGPT已經(jīng)與它的“祖先”GPT-1有了本質(zhì)區(qū)別對(duì)話記憶與上下文管理ChatGPT被設(shè)計(jì)為一個(gè)對(duì)話代理它能記住同一會(huì)話中之前的信息并在此基礎(chǔ)上進(jìn)行回應(yīng)實(shí)現(xiàn)了真正的多輪對(duì)話。對(duì)齊的價(jià)值觀與安全護(hù)欄通過(guò)RLHF它被注入了“助人、無(wú)害、誠(chéng)實(shí)”的行為準(zhǔn)則內(nèi)置了強(qiáng)大的內(nèi)容過(guò)濾機(jī)制能主動(dòng)拒絕生成暴力、仇恨、違法等不良信息。用戶意圖的深度理解它不僅能理解字面指令還能處理隱含意圖。比如用戶說(shuō)“我有點(diǎn)冷”它可能會(huì)建議調(diào)高空調(diào)溫度或加件衣服而不會(huì)只回答“哦”。從技術(shù)棧上看ChatGPT可以粗略理解為強(qiáng)大的預(yù)訓(xùn)練語(yǔ)言模型如GPT-3.5 指令微調(diào) 基于人類反饋的強(qiáng)化學(xué)習(xí) 對(duì)話優(yōu)化與安全系統(tǒng)這個(gè)組合將一個(gè)在數(shù)據(jù)荒原上自學(xué)成才的“語(yǔ)言統(tǒng)計(jì)學(xué)家”培養(yǎng)成了一個(gè)在人類價(jià)值觀框架內(nèi)、樂(lè)于助人且能力超群的“對(duì)話專家”。6. 實(shí)操思考如何與ChatGPT有效溝通理解了它的原理我們就能更好地使用它。與ChatGPT溝通本質(zhì)上是為它編寫高質(zhì)量的“提示詞”。以下是一些基于其工作原理的實(shí)操技巧6.1 技巧一扮演角色與設(shè)定上下文因?yàn)樗?jīng)過(guò)指令微調(diào)對(duì)角色扮演特別敏感。不要直接問(wèn)“寫一份市場(chǎng)報(bào)告”而是說(shuō)“假設(shè)你是一位擁有10年經(jīng)驗(yàn)的數(shù)字營(yíng)銷總監(jiān)請(qǐng)為一款新型智能手表起草一份面向年輕群體的市場(chǎng)推廣報(bào)告大綱要求包含市場(chǎng)分析、目標(biāo)用戶畫像、核心推廣渠道和關(guān)鍵信息?!蓖ㄟ^(guò)設(shè)定角色和詳細(xì)上下文你激活了模型在訓(xùn)練中學(xué)到的相關(guān)領(lǐng)域知識(shí)和表達(dá)模式。6.2 技巧二明確步驟與輸出格式利用它的指令遵循能力將復(fù)雜任務(wù)分解。例如想讓它幫你修改文章“請(qǐng)按以下步驟處理我的文章1. 檢查并修正語(yǔ)法和拼寫錯(cuò)誤。2. 優(yōu)化句子結(jié)構(gòu)使其更流暢。3. 確保學(xué)術(shù)風(fēng)格一致。以下是文章內(nèi)容[你的文章]”清晰的步驟指令能極大提升輸出結(jié)果的準(zhǔn)確性和可用性。6.3 技巧三利用思維鏈進(jìn)行復(fù)雜推理對(duì)于數(shù)學(xué)、邏輯或編程問(wèn)題鼓勵(lì)它展示思考過(guò)程“請(qǐng)一步步推理如果3個(gè)人3天能喝3桶水那么9個(gè)人9天能喝多少桶水”在提示詞中加入“一步步推理”、“讓我們逐步思考”等短語(yǔ)能引導(dǎo)模型激活其內(nèi)部的邏輯推理路徑減少直接給出錯(cuò)誤答案的概率。6.4 常見問(wèn)題與排查問(wèn)題ChatGPT胡編亂造幻覺原因它的本質(zhì)仍是概率生成而非事實(shí)數(shù)據(jù)庫(kù)。當(dāng)訓(xùn)練數(shù)據(jù)中缺乏相關(guān)信息時(shí)它會(huì)基于語(yǔ)言模式“自信地”編造。應(yīng)對(duì)對(duì)于關(guān)鍵事實(shí)要求它提供信息來(lái)源盡管它可能編造引用或明確告知“如果你不確定請(qǐng)直接說(shuō)明”。最好的方式是將它作為創(chuàng)意和草稿生成工具事實(shí)核查仍需人工完成。問(wèn)題回答過(guò)于籠統(tǒng)或偏離重點(diǎn)原因指令不夠具體或?qū)υ捝舷挛倪^(guò)長(zhǎng)導(dǎo)致關(guān)鍵信息被稀釋。應(yīng)對(duì)在關(guān)鍵問(wèn)題上開啟新的對(duì)話會(huì)話確保指令清晰、具體、無(wú)歧義。對(duì)于長(zhǎng)對(duì)話適時(shí)進(jìn)行總結(jié)并明確新的指令焦點(diǎn)。問(wèn)題拒絕回答某些合理問(wèn)題原因安全護(hù)欄過(guò)于敏感誤判了問(wèn)題的意圖。應(yīng)對(duì)重新組織語(yǔ)言以更中性、更建設(shè)性的方式提問(wèn)。避免使用任何可能被理解為誘導(dǎo)性或邊緣性的詞匯。7. 回顧與展望原理背后的啟示回顧從GPT-1到ChatGPT的旅程我們看到一條清晰的主線從追求純粹的規(guī)模擴(kuò)張轉(zhuǎn)向追求模型行為與人類意圖的對(duì)齊。GPT-1到GPT-3解決了“能不能”的問(wèn)題展現(xiàn)了海量數(shù)據(jù)與算力下模型的“能力”潛力而指令微調(diào)和RLHF解決了“好不好”和“對(duì)不對(duì)”的問(wèn)題通過(guò)注入人類價(jià)值觀來(lái)引導(dǎo)和約束這種能力。我個(gè)人在深度使用各類大模型后的體會(huì)是ChatGPT的成功一半歸功于Transformer架構(gòu)和縮放定律的技術(shù)必然另一半則歸功于OpenAI在對(duì)齊工程上的堅(jiān)定投入和精巧設(shè)計(jì)。它告訴我們未來(lái)AI的發(fā)展不僅僅是造出更強(qiáng)大的“發(fā)動(dòng)機(jī)”更重要的是設(shè)計(jì)好與之匹配的“方向盤”和“交通規(guī)則”。對(duì)于想要深入這個(gè)領(lǐng)域的開發(fā)者或愛好者來(lái)說(shuō)理解這段歷史至關(guān)重要。它意味著未來(lái)構(gòu)建AI應(yīng)用的關(guān)鍵可能不在于從零開始訓(xùn)練一個(gè)巨模型而在于如何利用現(xiàn)有的基礎(chǔ)模型通過(guò)高質(zhì)量的數(shù)據(jù)和精巧的對(duì)齊技術(shù)讓它安全、可靠、高效地服務(wù)于你的特定場(chǎng)景。這才是ChatGPT原理課帶給我們的最寶貴的實(shí)戰(zhàn)啟示。