7月18日凌晨,OpenAI在官網(wǎng)發(fā)布了最新技術(shù)研究——Prover-Verifier-Games。
隨著ChatGPT在法律、金融、營(yíng)銷等領(lǐng)域的廣泛使用,確保模型的安全、準(zhǔn)確輸出同時(shí)被很好理解變得非常重要。但由于神經(jīng)網(wǎng)絡(luò)的復(fù)雜和多變性,我們根本無法驗(yàn)證其生成內(nèi)容的準(zhǔn)確性,這也就會(huì)出現(xiàn)輸出“黑盒”的情況。
為了解決這個(gè)難題,OpenAI提出了全新訓(xùn)練框架Prover-Verifier Games(簡(jiǎn)稱“PVG”),例如,用GPT-3這樣的小模型來驗(yàn)證、監(jiān)督,GPT-4大模型的輸出,從而提升輸出準(zhǔn)確率以及可控性。
PVG技術(shù)概念早在2021年8月的一篇論文中就被提出來,OpenAI也正是受此靈感啟發(fā)。這是一種基于博弈論的訓(xùn)練方法,通過模擬證明者和驗(yàn)證者之間的互動(dòng),提高模型的輸出質(zhì)量。
在這個(gè)機(jī)制中,Prover(證明者)的任務(wù)就是生成內(nèi)容,而Verifier(驗(yàn)證者)的任務(wù)就是判斷這些內(nèi)容是否正確。
這樣做的目的是讓驗(yàn)證者學(xué)會(huì)如何從大量的內(nèi)容中識(shí)別出正確的答案。在驗(yàn)證的過程中,證明者和驗(yàn)證者的角色是相互依賴的。證明者需要生成能夠說服驗(yàn)證者的內(nèi)容,而驗(yàn)證者則需要具備足夠的判斷力來識(shí)別出正確的內(nèi)容。
在訓(xùn)練PVG時(shí),每輪訓(xùn)練都包括驗(yàn)證者和證明者的優(yōu)化。在每一輪中,驗(yàn)證者首先使用監(jiān)督學(xué)習(xí)來預(yù)測(cè)內(nèi)容的正確性,幫助驗(yàn)證者學(xué)會(huì)如何從大量的內(nèi)容中識(shí)別出正確的答案。使證明者通過強(qiáng)化學(xué)習(xí)來優(yōu)化其生成的內(nèi)容。
例如,當(dāng)用戶提出問題“肖娜的父親的年齡是肖娜的5倍。肖娜目前的年齡是阿莉亞的3倍。如果阿莉亞3歲,肖娜的父親有多大?”GPT-4的輸出為45歲。而驗(yàn)證者模型GPT-3需要確定阿莉亞的年齡,然后根據(jù)阿莉亞的年齡計(jì)算出肖娜的年齡,最后再根據(jù)肖娜的年齡計(jì)算出肖娜父親的年齡,整個(gè)過程需要多輪驗(yàn)證。
此外,在訓(xùn)練過程中,OpenAI還引入了一種名為“可檢查性訓(xùn)練”(checkability training)的方法。
通過交替訓(xùn)練驗(yàn)證器和證明者模型,從而驗(yàn)證使用監(jiān)督學(xué)習(xí)來預(yù)測(cè)從之前輪次的證明者中采樣的解決方案的正確性。證明者則使用強(qiáng)化學(xué)習(xí),根據(jù)當(dāng)前輪次驗(yàn)證器的接受度和解決方案的正確性來進(jìn)行持續(xù)優(yōu)化。
研究人員表示,隨著訓(xùn)練輪次的增加,驗(yàn)證者的健全性逐漸提升,表現(xiàn)為對(duì)狡猾論證者生成的錯(cuò)誤解決方案的抵抗力增強(qiáng)。同時(shí),有益論證者生成的解決方案也變得更清晰,更易于被人類理解。
分不清9.9與9.11誰大?大模型數(shù)學(xué)能力堪憂
大部分大模型都在給出答案的同時(shí)呈現(xiàn)了推理過程。智譜清言給出的推理過程顯示,在比較13.11%和13.8%時(shí),13.11%是更大的數(shù)值。這是因?yàn)楫?dāng)比較兩個(gè)百分?jǐn)?shù)時(shí),我們首先比較整數(shù)部分,如果它們相同,則比較小數(shù)部分。在這里,兩個(gè)數(shù)的整數(shù)部分都是13,但13.11的小數(shù)部分(11)大于13.8的小數(shù)部分(8),因此13.11%大于13.8%。
從推理過程判斷,可能由于小數(shù)點(diǎn)后數(shù)位不同,大模型在比較過程中產(chǎn)生了幻覺。經(jīng)過兩輪提問后,智譜清言給出了正確回答。
當(dāng)把問題換成“9.9與9.11誰大”,零一萬物的萬知大模型等同樣在一開始給出錯(cuò)誤答案,當(dāng)記者進(jìn)一步追問“9.11減9.9等于多少”,甚至有大模型給出“0.21”的答案。
萬知的推理過程稍顯混亂:在比較9.9和9.11時(shí),由于整數(shù)部分都是9,所以比較小數(shù)點(diǎn)后的第一位數(shù)字。9.9的小數(shù)點(diǎn)后第一位是9,而9.11的小數(shù)點(diǎn)后第一位是1。由于9小于10,所以在比較小數(shù)點(diǎn)后第二位數(shù)字時(shí),9.9的小數(shù)點(diǎn)后第二位是0(隱含的),而9.11的小數(shù)點(diǎn)后第二位是1。因此,9.9的小數(shù)點(diǎn)后第二位數(shù)字(隱含的0)小于9.11的小數(shù)點(diǎn)后第二位數(shù)字(1),所以9.9小于9.11。
為何會(huì)出現(xiàn)有大模型認(rèn)為13.11大于13.8的情況?ChatGPT給出的回答顯示,出現(xiàn)這種情況的原因可能是由于計(jì)算或比較方式的錯(cuò)誤??赡艿恼`差原因包括:數(shù)值理解錯(cuò)誤,有時(shí)系統(tǒng)可能會(huì)誤解數(shù)字的小數(shù)點(diǎn)位置;字符串比較,如果直接按字符串比較,可能會(huì)出現(xiàn)錯(cuò)誤。因?yàn)樽址容^是按字符順序逐一比較的,而不是按數(shù)值比較;代碼實(shí)現(xiàn)錯(cuò)誤,在編程中,可能存在比較邏輯或轉(zhuǎn)換錯(cuò)誤。
文心一言給出的解答則是,訓(xùn)練數(shù)據(jù)偏差、輸入處理與理解、模型幻覺、推理能力不足等原因。訓(xùn)練數(shù)據(jù)偏差層面,即大模型在訓(xùn)練過程中,可能接觸到了大量包含數(shù)字的數(shù)據(jù),但這些數(shù)據(jù)并不總是以比較大小為目的。例如,數(shù)字可能出現(xiàn)在版本號(hào)、股票代碼、基金表現(xiàn)、匯率等上下文中,這些場(chǎng)景下的數(shù)字大小并不總是具有直接的比較意義。如果訓(xùn)練數(shù)據(jù)中存在關(guān)于數(shù)字比較的偏差或不足,模型可能無法學(xué)習(xí)到正確的比較規(guī)則。
另一方面,可能由于大模型在處理輸入文本時(shí),將數(shù)字視為字符序列,而不是具有數(shù)值意義的實(shí)體。因此,在比較數(shù)字大小時(shí),模型可能沒有正確地將其轉(zhuǎn)換為數(shù)值進(jìn)行比較。另外,模型在處理小數(shù)時(shí)可能存在困難,特別是當(dāng)小數(shù)位數(shù)不同時(shí)。模型可能沒有正確地理解小數(shù)部分的比較規(guī)則。