分析ChatGPT優(yōu)秀的上下文連續(xù)對話能力來源
OpenAI 的 ChatGPT 會怎樣影響國內(nèi)的 NLP 研究恬惯?
ChatGPT誕生記:先撈錢兵钮,再談理想|OpenAI翻身史
這兩篇講LLM的部分重合度很高帅涂,但也都沒完全看懂晶渠,需要時間消化
張俊林:由ChatGPT反思大語言模型(LLM)的技術(shù)精要
張俊林:通向AGI之路:大型語言模型(LLM)技術(shù)精要
關(guān)于ChatGPT八個技術(shù)問題的猜想
這篇文章這幾個問題提的都很關(guān)鍵,但是回答臭長鸯檬。下面是簡易版本。而且注意這些回答都是猜測,畢竟chatgpt論文沒有公布区匠,而且這么大的黑盒可能沒法驗證。
1. ChatGPT的通用性為何做得如此之好帅腌?
根據(jù)Google的Instruction Tuning研究工作FLAN驰弄,當(dāng)模型達(dá)到一定規(guī)模(e.g. 68B)且Instruction任務(wù)的類型達(dá)到一定數(shù)目(e.g. 40),模型就涌現(xiàn)出對新意圖的識別能力速客。
OpenAI從其開放的API中收集了全球用戶各種任務(wù)類型的對話數(shù)據(jù)揩懒,根據(jù)意圖分類和標(biāo)注,然后在175B參數(shù)GPT-3.5上進(jìn)行Instruction Tuning挽封,自然就涌現(xiàn)出了通用的意圖識別能力已球。
2. 為什么面向?qū)υ挼奈⒄{(diào)沒有遭遇災(zāi)難性遺忘問題?
ChatGPT似乎不存在這個問題辅愿,其在基礎(chǔ)模型GPT-3.5上進(jìn)行了兩次微調(diào)智亮,第一次依據(jù)人工標(biāo)注的對話數(shù)據(jù)進(jìn)行微調(diào),第二次根據(jù)人類反饋的強化學(xué)習(xí)進(jìn)行微調(diào)点待,微調(diào)使用的數(shù)據(jù)很少阔蛉,尤其是人類反饋的打分排序數(shù)據(jù)更少,微調(diào)后竟然仍然表現(xiàn)出強大的通用能力癞埠,而并沒有完全過擬合到對話任務(wù)状原。
可能有兩方面的原因,
- 一方面是ChatGPT使用的對話微調(diào)數(shù)據(jù)實際可能包含了非常全面的NLP各種任務(wù)(很多都不是簡單的對話苗踪,還有分類颠区、問答、摘要通铲、翻譯毕莱、代碼生成等等),因此,ChatGPT實際是對若干任務(wù)同時進(jìn)行了微調(diào)朋截;
- 另一方面蛹稍,可能當(dāng)基礎(chǔ)模型足夠大之后,在較小數(shù)據(jù)上的微調(diào)不會對模型產(chǎn)生很大影響部服,可能僅在基礎(chǔ)模型參數(shù)空間非常小的鄰域中優(yōu)化唆姐,所以不會顯著影響基礎(chǔ)模型的通用能力。
3. ChatGPT的大范圍上下文連續(xù)對話能力是如何做到的廓八?
猜測這個能力可能有三方面的來源厦酬。
- 首先,高質(zhì)量的多輪對話數(shù)據(jù)是基礎(chǔ)和關(guān)鍵瘫想,正如Google的LaMDA仗阅,OpenAI也采用人工標(biāo)注的方式構(gòu)造了大量高質(zhì)量多輪對話數(shù)據(jù),在此之上進(jìn)行的微調(diào)將會激發(fā)模型的多輪對話能力国夜。
- 其次减噪,基于人類反饋的強化學(xué)習(xí)因為提升了模型回復(fù)的擬人性,也會間接增強模型多輪對話的一致性能力车吹。
- 最后筹裕,模型對8192個語言單元(Token)的顯式建模能力使其幾乎可以記憶普通人一整天的對話數(shù)據(jù),在一次對話交流中很難超出這個長度窄驹,因此朝卒,所有對話歷史都已經(jīng)被有效記憶,從而可以顯著提升連續(xù)多輪對話的能力乐埠。
4. ChatGPT的交互修正能力是如何煉成的抗斤?
- OpenAI人工構(gòu)建的對話數(shù)據(jù)中包含一些交互修正的案例,微調(diào)后擁有了這樣的能力丈咐;
- 人工反饋的強化學(xué)習(xí)使得模型輸出更加符合人類偏好瑞眼,從而在信息修正這類對話中表現(xiàn)得更加遵循人類的修正意圖;
- 可能大模型達(dá)到一定規(guī)模(e.g. 60B)之后棵逊,原始訓(xùn)練數(shù)據(jù)中的交互修正案例就被學(xué)到了伤疙,模型交互修正的能力自然就涌現(xiàn)出來了。
5. ChatGPT的邏輯推理能力是如何學(xué)到的辆影?
- 相關(guān)對比研究發(fā)現(xiàn)徒像,當(dāng)模型足夠大,并且程序代碼與文本數(shù)據(jù)混合訓(xùn)練時蛙讥,程序代碼的完整邏輯鏈就會遷移泛化到語言大模型锯蛀,從而大模型就擁有了一定的推理能力。
- 這種推理能力的習(xí)得有點神奇键菱,但是也能理解谬墙,可能代碼注釋是從邏輯代碼到語言大模型推理能力遷移泛化的橋梁今布。
6. ChatGPT是否針對不同下游任務(wù)采用不同的解碼策略经备?
如果ChatGPT能夠?qū)W習(xí)到任務(wù)相關(guān)的非常理想的概率分布拭抬,那確實非常厲害,基于采樣的解碼策略就可以適用于所有任務(wù)侵蒙。通常造虎,關(guān)于機器翻譯、數(shù)學(xué)計算纷闺、事實性問答等答案比較確定或者100%確定的任務(wù)算凿,一般采用基于貪婪解碼,也就是每次輸出概率最高的詞語犁功。如果希望輸出相同語義的多樣性輸出氓轰,大多采用基于柱搜索的解碼方法,但較少采用基于采樣的解碼策略浸卦。從與ChatGPT的交互看署鸡,所有任務(wù)它似乎都采用了基于采樣的解碼方法,真是暴力美學(xué)限嫌。
7. ChatGPT能否解決事實可靠性問題靴庆?
如果仍然延續(xù)GPT系列架構(gòu),基礎(chǔ)模型不做改變怒医,從理論上講是難以解決ChatGPT回復(fù)的事實可靠性問題炉抒。和搜索引擎的結(jié)合目前看是非常務(wù)實的一種方案,搜索引擎負(fù)責(zé)搜索可靠的事實信息來源稚叹,ChatGPT負(fù)責(zé)總結(jié)和歸納焰薄。
8. ChatGPT能否實現(xiàn)實時信息的學(xué)習(xí)?
一個疑問是為何ChatGPT不將修改后正確的信息存儲到模型中呢扒袖?這里有兩方面的問題蛤奥。
- 首先,用戶反饋的信息并不一定是正確的僚稿,有時候故意引導(dǎo)ChatGPT做出不合理的回答凡桥。而ChatGPT在同一個對話過程中會非常相信用戶的反饋。
- 其次蚀同,即使用戶反饋的信息是正確的缅刽,但因為可能出現(xiàn)頻率不高,基礎(chǔ)大模型不能根據(jù)低頻數(shù)據(jù)更新參數(shù)蠢络,否則大模型就會對某些長尾數(shù)據(jù)進(jìn)行過擬合從而失去通用性衰猛。
所以,讓ChatGPT實時進(jìn)行學(xué)習(xí)非常困難刹孔,一種簡單直觀的方案就是每經(jīng)過一段時間就利用新的數(shù)據(jù)微調(diào)ChatGPT啡省。或者采用觸發(fā)機制,當(dāng)多個用戶提交相同或相似反饋時觸發(fā)模型的參數(shù)更新卦睹,從而增強模型的動態(tài)學(xué)習(xí)能力畦戒。