用通俗的語(yǔ)言解釋ChatGPT的實(shí)現(xiàn)原理

大家好,我是孟德。
最近ChatGPT的問答對(duì)話在網(wǎng)上真是賺足了眼球,想必大家都已經(jīng)見識(shí)到了。
不知道大家有沒有這樣的疑問,ChatGPT的實(shí)現(xiàn)原理到底是什么,他的能力邊界又在哪里?
為了解決這一問題,我進(jìn)行了大量的網(wǎng)上沖浪,但網(wǎng)上很多內(nèi)容要不就是講了跟沒講一樣,要不就是講的過于專業(yè),理解起來(lái)比較困難。
如果你希望能夠以通俗易懂的方式去理解ChatGPT的實(shí)現(xiàn)原理,那么就請(qǐng)繼續(xù)往下看吧。
ChatGPT是Chat和GPT兩個(gè)詞的組合,實(shí)際上是GPT在聊天場(chǎng)景下的應(yīng)用,所以要理解ChatGPT首先要從理解GPT開始。
一、理解GPT(Generative Pre-Trained Transformer)
我們可以把GPT理解為一個(gè)會(huì)做文字接龍的模型。當(dāng)我們給出一個(gè)不完整的句子,GPT會(huì)接上一個(gè)可能的詞或字。類似我們?cè)谑褂幂斎敕〞r(shí),我們輸入上文,輸入法會(huì)聯(lián)想出下文一樣。
舉個(gè)例子:
當(dāng)你輸入“我們”,GPT可能會(huì)給出“去哪”;
當(dāng)你輸入"我們?nèi)ツ?#34;,GPT可能會(huì)給出“吃飯”;
當(dāng)你輸入“我們?nèi)ツ某燥垺?,GPT可能會(huì)給出“呀”
... ...
以此類推。最后可能生成一句話“我們?nèi)ツ某燥堁???/span>
用GPT的好處是:它可以利用互聯(lián)網(wǎng)中大量的文本內(nèi)容進(jìn)行學(xué)習(xí),這種學(xué)習(xí)可以自動(dòng)進(jìn)行,不需要人工標(biāo)注。
然而GPT也有他的弊端
1.GPT不是以問答的形式進(jìn)行內(nèi)容輸出的。
例如:當(dāng)你輸入“中國(guó)最高的山是哪座?”,GPT輸出的可能是“誰(shuí)能告訴我答案呀?”。顯然這并不是你想要得答案。
2.GPT是按照概率對(duì)結(jié)果進(jìn)行輸出的,因此它可能會(huì)輸出各種各樣的結(jié)果。
還是以上面那個(gè)那句話為例,當(dāng)你輸入“我們”時(shí),GPT可能會(huì)輸出多種結(jié)果,比如“我們今天放假”“我們交個(gè)朋友吧”等等。
怎么解決這個(gè)問題呢?那就需要來(lái)引導(dǎo)GPT的輸出方向了。
二、引導(dǎo)GPT的輸出方向。
圖中為ChatGPT的原理圖,這個(gè)引導(dǎo)的訓(xùn)練過程我們可以分為三步來(lái)理解:

第一步(STEP 1):
采用問答式的樣本對(duì)GPT模型的輸出方向進(jìn)行監(jiān)督訓(xùn)練,引導(dǎo)GPT采用問答對(duì)話的形式進(jìn)行內(nèi)容輸出。
第二步(STEP 2):
訓(xùn)練一個(gè)獎(jiǎng)勵(lì)模型(RM)。這個(gè)獎(jiǎng)勵(lì)模型就好比一個(gè)老師,當(dāng)給出一個(gè)問題和四個(gè)答案,老師負(fù)責(zé)按照人類的偏好給這些答案進(jìn)行打分,將答案進(jìn)行排序,如圖所示就是D>C>A>B。
用問題和四個(gè)答案作為獎(jiǎng)勵(lì)模型的輸入,人工打分作為問題的輸出,通過一定數(shù)量樣本的訓(xùn)練,可以讓這個(gè)獎(jiǎng)勵(lì)模型模仿人類老師對(duì)結(jié)果進(jìn)行打分。
第三步(STEP 3):
通過以上兩步,我們有了一個(gè)具備對(duì)話能力的GPT,和一個(gè)能夠按照人類偏好進(jìn)行打分的獎(jiǎng)勵(lì)模型。從而便可以構(gòu)建一套強(qiáng)化學(xué)習(xí)模型對(duì)GPT進(jìn)行進(jìn)一步的訓(xùn)練。
強(qiáng)化學(xué)習(xí)的過程我們同樣可以用老師和學(xué)生的例子來(lái)進(jìn)行理解。GPT就好比一個(gè)學(xué)生,他會(huì)針對(duì)問題給出自己的回答。而獎(jiǎng)勵(lì)模型就是一個(gè)老師,會(huì)對(duì)GPT的答案進(jìn)行打分,學(xué)生為了得到更高的分?jǐn)?shù),就要學(xué)著去給出老師更喜歡的答案。從而便實(shí)現(xiàn)了GPT的自我訓(xùn)練。
通過以上的訓(xùn)練后,一個(gè)ChatGPT的模型就產(chǎn)生了。
三、ChatGPT在生活中的應(yīng)用
其實(shí)我們生活中的一些場(chǎng)景非常適合用于ChatGPT的訓(xùn)練。
當(dāng)你在網(wǎng)上搜索一個(gè)問題時(shí),搜索引擎會(huì)給出多種結(jié)果。在眾多的結(jié)果中,你選擇了其中的一部分進(jìn)行瀏覽,同時(shí)在瀏覽完成之后可能會(huì)有點(diǎn)贊、評(píng)論或轉(zhuǎn)發(fā)的操作。
搜索出的多種結(jié)果可以類比為GPT輸出了幾種不同的答案。人類的瀏覽、點(diǎn)贊、評(píng)論或轉(zhuǎn)發(fā)的行為便是獎(jiǎng)勵(lì)模型。
GPT為了在互聯(lián)網(wǎng)中獲得更多的認(rèn)可就需要不斷調(diào)整自己生成的內(nèi)容去迎合人的喜好。而在這個(gè)訓(xùn)練過程中,我們每個(gè)人都扮演了老師的角色。
所以我認(rèn)為國(guó)內(nèi)能夠利用這項(xiàng)技術(shù)實(shí)現(xiàn)騰飛的,還得是掌握的大量用戶入口和用戶數(shù)據(jù)的應(yīng)用,例如:百度、頭條、B站、騰訊、抖音、知乎等。此外,由于這些算法模型對(duì)大算力的要求,可能會(huì)對(duì)硬件產(chǎn)品如服務(wù)器、算力芯片等能帶來(lái)一波新的刺激。
四、ChatGPT未來(lái)演化的方向
關(guān)于ChatGPT未來(lái)的演化方向,我覺得一個(gè)可能的方向是要通過大數(shù)據(jù)去構(gòu)建一個(gè)評(píng)價(jià)“誰(shuí)才是好老師”的模型,讓好老師的認(rèn)可比水軍老師的認(rèn)可更有價(jià)值,這樣才會(huì)讓社會(huì)向著正確的方向繼續(xù)發(fā)展。
其實(shí)到目前為止,很多互聯(lián)網(wǎng)中的評(píng)價(jià)體系中并沒有引入這個(gè)“誰(shuí)才是好老師”的模型,利用水軍或好評(píng)返現(xiàn)刷評(píng)價(jià)的情況仍蔚然成風(fēng)。
最后我們不妨再來(lái)看一下人工智能的演化模式:
1.學(xué)生自我學(xué)習(xí);
2.建立一個(gè)老師模型來(lái)對(duì)學(xué)生進(jìn)行引導(dǎo);
3.建立一個(gè)考核模型來(lái)對(duì)老師進(jìn)行引導(dǎo);
4.建立一個(gè)更高層級(jí)的模型對(duì)考核模型進(jìn)行引導(dǎo);
... ...以此類推
其實(shí)這個(gè)過程和數(shù)學(xué)中的一個(gè)概念很相似
1.有一個(gè)函數(shù)f(x);
2.用f(x)一階導(dǎo)數(shù)對(duì)f(x)的方向進(jìn)行引導(dǎo);
3.用f(x)二階導(dǎo)數(shù)對(duì)f(x)一階導(dǎo)數(shù)的方向進(jìn)行引導(dǎo)。
... ...按照這個(gè)思維,目前我們的人工智能的訓(xùn)練模式才進(jìn)行到一階導(dǎo)數(shù)的模式,未來(lái)還有無(wú)限次求導(dǎo)的可能,至于未來(lái)是否要這么做,則需要結(jié)合成本與收益進(jìn)行綜合考量。
好啦,以上便是今天要分享的所有內(nèi)容啦,如果覺得有幫助的話,也請(qǐng)不要吝嗇自己的拇指啦
長(zhǎng)按點(diǎn)贊,一鍵三連,或許不會(huì)影響你的生活,但是卻能帶給我快樂,你不點(diǎn)一個(gè)再走嘛?