GPT-4論文精讀【論文精讀·53】

GPT-4(2023.3.14)
博客地址:https://openai.com/research/gpt-4
- 技術(shù)報告的縮略版
GPT-4是一個多模態(tài)的模型,能夠接受文本或者是圖片的輸入,最后輸出純文本
- GPT-4在真實世界中與人還是存在差距,但是在很多具有專業(yè)性或者學術(shù)性的數(shù)據(jù)集或者任務(wù)上面上,GPT-4有時候能夠達到甚至超過人類的水平
GPT-4基本能夠達到類人的表現(xiàn),在事實性、可控性和安全性上有了很大的進步
- GPT-4能夠通過律師考試資格證考試,且能在所有參加考試的人中排名前10%(GPT-3.5在同樣的考試中無法通過,且只能排到最后10%)
訓練的穩(wěn)定性
在此次GPT-4的訓練過程中,訓練表現(xiàn)出了前所未有的穩(wěn)定性
- 訓練穩(wěn)定
- 硬件設(shè)施沒有出錯
- 訓練不會中斷,一次訓練直接跑到底
- loss沒有跑飛
- 更重要的是,可以準確預測模型訓練的結(jié)果(通過在小規(guī)模計算成本下訓練出來的模型可以準確地預估擴大計算成本之后模型的最終性能)
對于大模型來講,如果每次跑完訓練才知道結(jié)果(參數(shù)的好壞,改進是否有效),花銷比較大,一般會在較小的模型或者較小的數(shù)據(jù)集上做消融實驗,驗證之后再去大模型上進行實驗
- 對于語言模型來講,由于語言的擴展較大,所以導致在小規(guī)模模型上做的實驗可能有效,但是換到大模型上就達不到想要的結(jié)果了;并且大模型上特有的涌現(xiàn)能力在小模型上無法觀測
Training process
與之前的GPT模型類似,GPT-4也是通過預測文章中下一個詞的方式(Language Modeling Loss)去訓練的,訓練所用到的數(shù)據(jù)是公開數(shù)據(jù)(網(wǎng)絡(luò)數(shù)據(jù)和公司所購買的數(shù)據(jù))
- 數(shù)據(jù)集非常大,包含了非常多的內(nèi)容,比如數(shù)學問題的正確的解和不正確的解、弱推理、強推理、自相矛盾或者保持一致的陳述、各種意識形態(tài)和想法,以及更多的純文本數(shù)據(jù)
- 因為在大量的數(shù)據(jù)集上訓練過,而且有的時候是在不正確的答案上訓練過,所以預訓練模型(Base Model)有些時候的回答跟想要得到的回答相差很遠。為了能跟人的意圖盡可能保持一致,并且更加安全可控,所以使用RLHF(Reinforcement Learning with Human Feedback)的方法對模型進行了微調(diào)
模型的能力看起來像是從預訓練的過程中得到的,后續(xù)RLHF所進行的微調(diào)并不能夠提高在考試中的成績(如果沒有好好調(diào)參,甚至會降低考試的成績)
- 模型所謂的涌現(xiàn)的能力靠堆數(shù)據(jù)、堆算力,然后用簡單的Language Modeling Loss堆出來的
但是,RLHF用來對模型做控制,讓模型更加清楚人類的意圖,并且按照人類所能接受的方式做出回答
- 這個預訓練模型甚至需要prompt engineering才知道需要回答問題
Predictable scaling
可預測的擴展性
GPT-4的關(guān)鍵問題在于如何構(gòu)建深度學習的infrastructure,然后準確地進行擴大
- 主要原因是在大模型上是不可能做大規(guī)模的模型調(diào)參的,首先需要很多的算力,其次需要很長的訓練時間。如果增加訓練機器的數(shù)量,訓練的穩(wěn)定性也不能保證,多機器的并行訓練很容易導致Loss跑飛
OpenAI研發(fā)出來了一套整體的infrastructure和優(yōu)化方法,可以在多個尺度上的實驗上達到穩(wěn)定預測
- 為了驗證,利用內(nèi)部的代碼庫在GPT-4模型剛開始訓練的時候,就已經(jīng)可以準確地預測到GPT-4最終訓練完成的Loss(預測結(jié)果是由另外一個Loss外推出去的,用了比原始所需計算資源小一萬倍的計算資源上用同樣的計算方法訓練出來的模型)

- 圖中綠色的點是GPT-4最終的Loss的結(jié)果
- 縱坐標可以理解成Loss的大小,單位是Bits per word
- 橫坐標表示所使用的算力(這里將數(shù)據(jù)集的大小、模型的大小全部混在一起,表示總體訓練一個模型所需要的算力),越往左,模型的訓練代價越小
- OpenAI通過將不同訓練代價下的Loss點進行擬合,從而準確得到GPT-4最終的Loss
- 在同等的資源下,可以以更快的速度嘗試更多的方法,最后得到更優(yōu)的模型
拓展
訓練的穩(wěn)定性多么難能可貴——斯坦福MLSYS 在MetaAi怎樣用三個月的時間做了一個跟GPT-3同等大小的語言模型(OPT-175Billion)
- 地址:https://www.bilibili.com/video/BV1XT411v7c9?t=1283.6
- 模型雖然性能一般,但是整個過程干貨比較多

- OPT-175Billion在整個一個多月的訓練過程中,因為各種各樣的原因(機器崩掉,網(wǎng)絡(luò)中斷、Loss跑飛等),中間一共中斷了五十多次,圖中的每一段就代表跑的一段
- 訓練一個大的模型的工程復雜度是難以想象的
還有一些能力是不能完全準確預測的
- inverse scaling prize競賽,專門給大模型找茬,用來測試是否存在一些任務(wù)是小模型做的好,大模型反而做不好的,而且最好能夠找到那些任務(wù)(隨著計算成本的增加,任務(wù)的結(jié)果越來越差)

- hindsight neglect:過去做一件事情的時候,使用很理性地判斷做出一個決斷,這個決斷按道理來講是正確的,但是運氣不好導致最終的結(jié)果不是很好,那么如果回到過去,是繼續(xù)選擇當初選擇的理性做法還是愿意賭一把選擇一個更冒險的方式
- 按道理來講,每次做選擇都應該按照最理性的方式做選擇,但是大模型在這種情況下出現(xiàn)了一個很有意思的現(xiàn)象:隨著模型越來越大,反而越來越不理性,會根據(jù)最后的結(jié)果來判斷到底應不應該做出決定
- GPT-4的準確度達到了100%,從側(cè)面說明了可能GPT-4已經(jīng)擁有了一定的推理能力,不會受到最后結(jié)果的影響
hindsight neglect舉例
Capabilities
在日常對話中,GPT-3.5和GPT-4的區(qū)別是非常小的,但是這個區(qū)別隨著任務(wù)難度的增加慢慢會體現(xiàn)出來
- GPT-4更加可靠,更加具有創(chuàng)造力,而且能夠處理更加細微的人類的指示
為了弄清楚這兩個模型之間的區(qū)別,OpenAI設(shè)計了一系列的benchmark,包含很多之前專門為人類設(shè)計的模擬考試,使用了最近公開的一些數(shù)據(jù),比如奧賽題目、AP(美國高中的一些大學先修課中的問題、購買的執(zhí)照考試的版權(quán)數(shù)據(jù))。在這些考試上沒有做過特殊的訓練
- 可能有一些問題是之前在模型預訓練的過程中被模型見過的,這里OpenAI為了澄清,他們跑了兩個版本:一個版本是模型直接考試然后匯報分數(shù);另一個版本雖然采用同樣的模型,但是把在預訓練數(shù)據(jù)集中出現(xiàn)的問題拿掉,只在那些模型可能沒見過的問題上再做一次測試,最后取這兩次的分鐘較低的那一次來作為GPT-4的分數(shù)。希望這么做能更加具有說服力。
- 這里的問題去重并沒有說明具體的方法
- GPT-4能在眾多的考試中都取得較好的結(jié)果,說明其參加考試的能力還是不錯的
- GPT-4考試結(jié)果如下圖所示

- 柱狀圖是按照GPT-3.5的性能從低到高進行排列的
- GPT-3.5在最右側(cè)的AP Environmental Science中表現(xiàn)是最好的
- 淡綠色(no vision)表示沒有使用圖片
- 圖中可以看出GPT-4在有了圖片加持之后,在有些考試上還能獲得更大的進步
- 在AP Caculus BC、AMC12、Codeforces Rating、AMC10上表現(xiàn)較差,GPT系列在數(shù)學上的表現(xiàn)比較差
- 此外,雖然GPT-4能夠修改文案,修改語法、潤色文章,但是在高中英語文學課上以及高中英語語言本身的考試上得分都比較差。GPT系列的模型雖然能夠生成大段大段的文字,但是它所寫出來的東西很多時候就是翻來覆去地說話,都是一些空話大話,非常冠冕堂皇,并沒有真正的思考,從而形成深刻的洞見
- 具體的考試結(jié)果如下圖所示

- ?33:15?
GPT-4在傳統(tǒng)的benchmark上的性能測試結(jié)果如下圖所示

- ?37:06?
GPT-4在多語言方面的能力
- GPT-4在多語言上已經(jīng)做得很好了,不僅是英語語系中的各種語言,對中文的支持也是不錯的(能夠識別拼音的輸入,簡體/繁體的轉(zhuǎn)換也能夠處理)
- OpenAI為了進行測試,將MMLU全部進行了翻譯(將14000多個多選題用微軟的翻譯全部翻譯成不同的語言),通過測試發(fā)現(xiàn),在26個語言中,其中24個語言中的測試結(jié)果GPT-4都要優(yōu)于GPT-3.5和其他的一些大模型(Google的Chinchilla、PaLM),而且甚至在那些沒有什么訓練語料庫的語言(Latvian、Welsh、Swahili)上表現(xiàn)也很好
- 測試結(jié)果如下圖所示

- ?40:02?
OpenAI內(nèi)部自己也一直在用GPT-4,用途如下
- 客服
- 銷售
- content moderation
- 編程
- 第二階段做Alignment的時候也會使用GPT-4進行輔助
使用GPT-4寫文章或者潤色文章真的靠譜嗎?是否需要人進行再次校驗?
- 目前還是需要有人進行校驗
- ?42:48?
Visual inputs
GPT-4是一個多模態(tài)的模型,可以接受圖片作為輸入
- GPT-4可以允許用戶任意自定義視覺或者語言任務(wù)
- 不管用戶輸入的是文本、圖片或者是圖片和文本混合的形式,GPT-4都能生成文本(自然語言、代碼)
- GPT-4在其他任務(wù)上的表現(xiàn)也很不錯,尤其是test-time techniques
- ?44:41?
但是目前圖像輸入還是內(nèi)測階段,暫時不對大眾開放。OpenAI目前只選擇了一家合作伙伴Be My Eyes來測試視覺功能
- 初衷是將圖片轉(zhuǎn)化成文字,然后再轉(zhuǎn)成語音,從而為盲人提供更加便利的生活
GPT-4視覺輸入的例子
1、用戶輸入幾張照片,然后詢問GPT-4這幾張照片搞笑的地方在哪里?

- 很多時候GPT-4都能給出解釋,而且是一步一步的解釋為什么搞笑
2、圖中是一個截圖,并不是機器能夠直接閱讀的,需要內(nèi)部自己做一個OCR才能讓模型知道圖片中到底是什么內(nèi)容(截圖中是一道法語描述的物理題)

- GPT-4用英語進行了一步一步的解釋,最后得出答案
3、將一篇論文直接輸入進GPT-4,讓它輸出對論文的總結(jié)

- GPT-4能夠很好地總結(jié)所輸入的論文
- 最近github上也發(fā)布了幾個工具,通過調(diào)用OpenAI或者其他的模型,用戶輸入一個pdf,工具直接輸出文章的摘要,而且也可以在里面隨意地進行搜索(交互式地詢問,而不用一個一個地找)
GPT-4在視覺(尤其是多模態(tài)數(shù)據(jù)集)上的性能

測試結(jié)果雖然一般,不如在NLP中的測試結(jié)果那么驚艷,但是這些分數(shù)并不能完全代表GPT-4的能力,因為還在持續(xù)不斷地發(fā)掘GPT-4更多的能力
Steerability
定義語言模型的行為,讓語言模型按照用戶所想要的方式進行答復
- 相比于ChatGPT,ChatGPT的人格是固定的,每次都是同樣的語調(diào)語氣,回復的風格也是一致的;最新的GPT-4開發(fā)了一個新功能,除了發(fā)給它的prompt(描述用戶需求的文字),前面添加了System Message
- System Message可以定義AI使用什么樣的語氣語調(diào)進行對話
System Message是由整個Community發(fā)現(xiàn)的
Steerability舉例
作為一個蘇格拉底式的輔導員,回復永遠都應該是保持蘇格拉底的風格,即永遠不告訴學生真正的答案,而是詢問一些啟發(fā)式的問題,通過暗示來進行輔導讓學生自己意識到問題的解決方式,從而培養(yǎng)學生自己解決問題的能力。在這個過程中,將難度較大的問題進行拆分,在學生能夠聽懂的水平上進行因材施教

Limitations
1、在能力和局限性方面,GPT-4和之前的GPT系列模型差不多,還是不能完全可靠,有的時候還是會瞎編亂造,扭曲事實,并且推理的時候也可能會出錯。因此在使用這些大模型的時候還是需要更加小心謹慎,尤其是在一些高風險的領(lǐng)域(法律、金融、新聞、政治)中
- 雖然這些問題依然存在,但是GPT-4跟之前其他的模型以及外面的模型相比,在安全性上已經(jīng)大幅提高了
- 在OpenAI內(nèi)部專門用來進行對抗性測試的Evaluation Benchmark上,GPT-4比之前的GPT-3.5的得分要高出40%以上,提升顯著

- 圖中縱坐標表示準確度,橫坐標表示OpenAI內(nèi)部所使用的benchmark所涉及的領(lǐng)域
2、GPT-4本身還會有各種各樣的偏見,目前已經(jīng)取得了一些進步,但是還有很多需要做的
3、GPT-4一般是缺少2021年9月份之后的知識,因為預訓練數(shù)據(jù)就是截止到2021年9月份
- 但是ChatGPT有很多個版本,可能后續(xù)微調(diào)或者RLHF的時候,可能包含更新之后的數(shù)據(jù),所以有時候也能正確回答2021年之后的一些問題
4、GPT-4在很多的領(lǐng)域里都表現(xiàn)出強大的能力,取得很高的分數(shù),但是有時候會犯一些非常簡單的推理錯誤,看上去有點不可思議
- 如果用戶故意輸入一些虛假的陳述,GPT-4還非常容易上當受騙
5、在一些特別困難的問題上,GPT-4跟人差不多,都會出現(xiàn)安全隱患,可能會寫出不正確的代碼。但是GPT-4哪怕有的時候預測錯誤了,也會非常自信
- 通過研究發(fā)現(xiàn),這是因為經(jīng)過預訓練之后,GPT-4的model calibration做的非常完美
- ?60:55?

- 從圖中能夠看出,模型經(jīng)過了完美的矯正(可以因為預訓練的語料庫比較大,已經(jīng)掌握了客觀事實的規(guī)律,因此模型對自己產(chǎn)生的結(jié)果比較自信)
- 但是經(jīng)過后處理(Instructed Tuning或者是RLHF)之后,calibration的效果就沒有了,模型的校準就沒有處理前好了(可能是經(jīng)過RLHF之后,模型更接近于人,具備一定的主觀性,因此校準性能就下降了)
Risks&mitigations
1、Red Teaming
- 通過找各個領(lǐng)域的專家詢問模型該問和不該問的問題,希望讓模型知道哪些應該回答,哪些不該回答,通過人力的過程搜集數(shù)據(jù),從而提升GPT-4的能力,能夠拒絕不合理的要求
2、GPT-4還利用自己來提升安全性的要求,在后續(xù)的RLHF的訓練過程中,又新加了一個專門做安全的reward signal
- 這個reward signal是從自己已經(jīng)預訓練好的GPT-4模型開始,通過分類器分類當前prompt到底是不是sensitive,是不是存在危險,可能不應該進行回答
- 通過reward signal讓RLHF更加智能,讓模型更加貼合人的意圖,而且更加安全
這種減少risk的方式能夠顯著提升GPT-4的安全性能,和GPT-3.5相比,對于那些不該回答的問題,GPT-4能比GPT-3.5少回答82%的問題
舉例

總的來說,模型層面的干擾技巧能夠很大程度上防止模型生成不好的行為,但是也不能完全阻止,總歸是能找出各種各樣的漏洞,還有很多的工作要做
ChatGPT Plus
如果想體驗GPT-4可以購買ChatGPT Plus的會員就可以使用了
API
Aparks of Artificial General Intelligence:Early experiments with GPT-4
論文地址:https://arxiv.org/abs/2303.12712
GPT-4潛在能力
1、圖像生成
- 用戶給GPT-4一些指示,生成一些能夠作畫的代碼,然后使用這些代碼直接生成圖畫,從而變相地進行圖像生成(簡單作畫)
- 不光能夠生成畫,還能夠不斷地對生成的畫(實際上是代碼)進行改進(GPT-4不光是可以根據(jù)用戶的指示不斷進化從而得到更好的結(jié)果,同時GPT-4的模型自己也在進化)
2、音樂生成
3、使用工具
GPTs are GPTs: An Early Look at the Labor Market Impact Potential of Large Language Models
論文地址:https://arxiv.org/abs/2303.10130
結(jié)論:
1、大概有80%的美國勞動力會因為大語言模型的到來而受到影響,大概是平時工作中10%的任務(wù)(剩余90%的任務(wù)仍然需要人來完成),19%的工人會發(fā)現(xiàn)有50%的工作有可能會被影響(AI至少能夠完成50%以上的工作任務(wù))
2、受影響比較多的工作
- 如果有做科研(基礎(chǔ)科學研究)的能力或者思維比較縝密,能夠快速做出合理的決定,這些技能點大語言模型暫時還不具備
- 和大語言模型沖突的技能點:寫代碼、寫文章。凡是和這兩個技能點相關(guān)的工作可能會收到較大的影響
- 哪些職業(yè)會受到較大的影響:

- ?01:13:26?
3、基本不受影響的職業(yè)

- 這些職業(yè)都是需要實際動手操作的,在機械臂和機器人成熟之前,必須要真人進行操作,因此這些工種暫時是不會受到大語言模型影響的
Do Large language models need sensory grounding for meaning and understanding?
現(xiàn)在的很多大語言模型還是需要很多的改進,現(xiàn)在還不能稱之為智能
- 現(xiàn)在的大語言模型雖然性能非常驚人,但是同時也會范一些非常愚蠢的錯誤
- 大語言模型對真實的世界一無所知,因為他們沒有常識,也不能計劃自己的輸出(模型都是一個token一個token地生成然后向外輸出的,而且每次生成的都不一樣)
未來研究方向
現(xiàn)在機器學習還有很多的問題懸而未決,而且現(xiàn)在大語言模型遇到的問題其實跟30年前機器學習領(lǐng)域遇到的問題還是一樣的,現(xiàn)在依然不知道大語言模型到底是怎樣工作、怎么泛化的:
- 如何從單語言到多語言?
- 為什么會具有涌現(xiàn)的能力?
- 如何提高模型做推理的能力(尤其是做因果推理)?
- 需要更多的方式阻止語言模型生成有害的文字或者帶來比較壞的社會影響
- 目前模型僅僅局限于文本,更多的問題都是在文本之外的,還有更多的模態(tài)等待探索
----end----