目錄
BERT和GPT簡介
BERT和GPT核心差異
GPT的優(yōu)勢
GPT的劣勢
總結(jié)
隨著近期ChatGPT的火熱,引發(fā)各行各業(yè)都開始討論AI,以及AI可以如何應(yīng)用到各個(gè)細(xì)分場景。為了不被時(shí)代“拋棄”,我也投入了相當(dāng)?shù)木τ糜谘芯亢吞剿?。但在試?yàn)的過程中,我的直觀感受是,NLP很厲害,但GPT并不好用,反倒是BERT更加順手,如臂使指。
同樣是大語言模型,那引爆AI浪潮的,為什么是GPT,而不是BERT呢?嘗試對這個(gè)話題進(jìn)行一下探討。
BERT和GPT簡介
Encoder-Decoder是NLP中的經(jīng)典架構(gòu):Encoder對文本進(jìn)行編碼,輸出Embedding;Decoder基于Embedding進(jìn)行計(jì)算,完成各種任務(wù),得到輸出。示例如下:
?之所以會(huì)誕生這種架構(gòu),個(gè)人認(rèn)為,是因?yàn)閷ξ谋具M(jìn)行特征工程,轉(zhuǎn)化為機(jī)器可以處理的向量,是一件反人類的事情。因此,專門設(shè)計(jì)了Encoder來完成這個(gè)工作。
2017年,Google提出了Transformer,在性能、結(jié)果、穩(wěn)定性等多個(gè)方面都優(yōu)于RNN模型,使得NLP領(lǐng)域進(jìn)入了下一個(gè)階段。緊接著2018年,Google基于Transformer架構(gòu),提出了BERT,將“預(yù)訓(xùn)練”這一模式發(fā)揚(yáng)光大。而隨著OpenAI煉丹多年,發(fā)布了ChatGPT,將NLP帶入大眾視野,使得GPT變成了當(dāng)前的主流。
BERT和GPT的實(shí)現(xiàn)原理,簡單來說就是:BERT是Encoder-only,即上圖的左半邊;GPT是Decoder-only,即上圖的右半邊。
具體來說,BERT的最終輸出其實(shí)是Embedding,它并不關(guān)注任務(wù)具體是什么。而這個(gè)Embedding足夠好用,使得其可以通過拼接其他算法,完成各種任務(wù)(比如基于Embedding去分類)。
而GPT則是有固定任務(wù)的,predict next word。GPT的工作模式,就是通過不斷的predict next word,拼接成完整的語句,得到結(jié)果。這就是所謂的“生成式”。
各類NLP算法的工作范式如下:
三個(gè)階段的NLP技術(shù)范式。引用自:關(guān)于ChatGPT:GPT和BERT的差別(易懂版) - 知乎
BERT和GPT核心差異
BERT的核心產(chǎn)出是Embedding。在接觸之后,Embedding的效果可以用“驚艷”來形容。下面基于幾個(gè)具體示例來展示Embedding的強(qiáng)大之處:
TransE
在知識(shí)圖譜中,有一種基于距離的模型,可以用來完成兩個(gè)實(shí)體間關(guān)系的挖掘和構(gòu)建。其大致效果如下:
Washington和US作為兩個(gè)實(shí)體,被Embedding后,形成了一個(gè)類似于力矩的空間,可以輕松完成各種加減運(yùn)算,得到目標(biāo)結(jié)果。
KeyBert
類似的,在文本摘要任務(wù)中,有一種基于余弦相似度的算法。其原理和TransE類似,在Embedding把文本進(jìn)行向量化表示的情況下,Embedding之間的余弦相似度就等同于詞義之間的相似度。
機(jī)器擅長于處理向量的各種運(yùn)算,但語言是一種非結(jié)構(gòu)化的信息,這是兩者之間最大的GAP。為了調(diào)和這個(gè)GAP,我們設(shè)計(jì)了各種各樣的編程語言,由人來完成自然語言到機(jī)器語言的轉(zhuǎn)化工作。但Embedding的出現(xiàn),讓機(jī)器能夠自己將自然語言進(jìn)行向量化表示,并且向量化結(jié)果還能夠匹配人類所理解的各種語言和認(rèn)知邏輯,這也是我認(rèn)為機(jī)器理解人類世界的關(guān)鍵所在。
與BERT專注于編碼不同,GPT專注于回答問題。我認(rèn)為這也是GPT的Decoder-only架構(gòu)在結(jié)果表現(xiàn)上最核心的優(yōu)勢:
- 對于BERT來說,Encoder生產(chǎn)完Embedding只是第一步,還需要嵌套一層其他算法,才能完成具體任務(wù)。而由于Embedding比較好用,往往又不傾向于再疊加更復(fù)雜的算法,基本都是一個(gè)線性層+softmax搞定。
- 對于GPT來說,則不關(guān)注中間過程,直接回答結(jié)果。因此,在同等參數(shù)量級情況下,理論上Decoder-only會(huì)有更多的資源投入到完成任務(wù)中去,所以會(huì)獲得更好的結(jié)果表現(xiàn)。
因此,ChatGPT表現(xiàn)出了通用智能的效果(完成任務(wù)能力更強(qiáng)),而BERT仍然需要經(jīng)過特定領(lǐng)域的fine-tuning(每個(gè)領(lǐng)域下的embedding邏輯并不通用),才能完成應(yīng)用。
關(guān)于為什么現(xiàn)在LLM都在搞Decoder-only,知乎上有相關(guān)討論(為什么現(xiàn)在的LLM都是Decoder only的架構(gòu)? - 知乎),但沒有明確結(jié)論。基于討論內(nèi)容,個(gè)人傾向于判斷,各種架構(gòu)在結(jié)果上其實(shí)是沒有太大差異的,純粹是因?yàn)楝F(xiàn)在大家都追求高效&通用,所以更適合Decoder-only來進(jìn)行處理。
進(jìn)一步展開,BERT和GPT的核心差異,我認(rèn)為在于這個(gè)中間結(jié)果,Embedding。
?當(dāng)大家都在討論GPT隨著參數(shù)量的擴(kuò)增,出現(xiàn)智能的“涌現(xiàn)”時(shí),我嘗試去思考了一個(gè)問題:為什么沒人去擴(kuò)增BERT的參數(shù)量?搜索良久不得答案后,我想到了一個(gè)可能:“夠用了”。
Embedding是為了具體任務(wù)而生的,不同場景下,同一個(gè)詞會(huì)展現(xiàn)為不同的詞性,因此需要通過fine-tuning來讓BERT遷移到不同的領(lǐng)域中去。而當(dāng)模型只是為了完成某個(gè)特定領(lǐng)域的任務(wù),擴(kuò)增參數(shù)就變得完全沒有必要了。而反過來,Embedding也限制了BERT只能成為特定領(lǐng)域的專家工具,具備較高的使用門檻,因此很難得到普及。
GPT的優(yōu)勢
OpenAI最大的功勞,應(yīng)該是設(shè)計(jì)出了對話模式,大幅度降低了AI的“體驗(yàn)”門檻(注意,是體驗(yàn),不是應(yīng)用),從而讓各行各業(yè)都開始關(guān)注AI的變化和可能。
那么,冷靜下來思考,GPT的強(qiáng)大之處到底是什么呢。是GPT能夠處理非結(jié)構(gòu)化的文本信息嗎?是GPT所擁有的龐大知識(shí)儲(chǔ)備嗎?我認(rèn)為,這都不是GPT的獨(dú)有能力,BERT增加參數(shù)量和訓(xùn)練量后應(yīng)該同樣能夠做到。
?而人們真正感到興奮的,應(yīng)該是GPT展現(xiàn)出來的創(chuàng)造能力。在這之前,機(jī)器無法取代人類的場景,基本都是多領(lǐng)域融合的問題。比如寫文檔、編程,不是僅僅會(huì)打字和懂語法就夠了,你還得理解背后的業(yè)務(wù)邏輯,才能夠完成。(類比于翻譯,雖然也會(huì)涉及一定的專業(yè)背景,但即使啥都不懂,依靠詞典和例句,也能翻譯個(gè)大概。所以過往機(jī)器能夠完成翻譯任務(wù)。)而這種多領(lǐng)域融合的創(chuàng)造能力,是GPT在結(jié)合“Transformer的知識(shí)儲(chǔ)備”和“生成式的通用解題范式”,所帶來的獨(dú)有能力。
- BERT雖然也有強(qiáng)大的知識(shí)儲(chǔ)備,但完成任務(wù)的模式相對固定。如果要處理復(fù)雜任務(wù),還得訓(xùn)練同等量級的Decoder,反倒不如GPT的Decoder-only來得直接。
- RNN雖然是生成式的,但串型結(jié)構(gòu)帶來的效率瓶頸和遺忘問題,限制其了知識(shí)儲(chǔ)備。
因此,GPT的這種創(chuàng)造力,可以大幅度擴(kuò)展AI的應(yīng)用場景,使得更多的人類工作被替代。
GPT的劣勢
既然GPT擁有更好的通用性,那我們應(yīng)該萬物皆GPT嘛?我倒覺得大可不必。
ROI考量
任何能力的擴(kuò)增,其實(shí)都會(huì)帶來運(yùn)算成本的增長,因此,我們需要在ROI上進(jìn)行考量。
舉個(gè)簡單的例子,你要完成一個(gè)數(shù)學(xué)運(yùn)算,是使用計(jì)算器合適,還是問GPT更合適呢?答案顯然是前者,哪怕GPT增加插件模式,可以準(zhǔn)確完成數(shù)學(xué)運(yùn)算,但它的計(jì)算開銷是遠(yuǎn)高于計(jì)算器本身的。同理,在流水線工作中,使用單一功能的機(jī)器,ROI也遠(yuǎn)高于雇一個(gè)人。
?所以,越是固定的任務(wù),其所需要的模型能力越低。明明有固定的輸入輸出模式,非得轉(zhuǎn)成對話模式去做處理,多少有點(diǎn)“殺雞用牛刀”的感覺了。
數(shù)據(jù)量限制
目前GPT(或者NLP領(lǐng)域)能夠處理的輸入長度都是有限制的。相比于其內(nèi)部計(jì)算的百億級參數(shù),幾千個(gè)token的輸入長度,多少顯得有點(diǎn)不夠看了。
語言是一種非結(jié)構(gòu)化信息,它的信息傳輸效率是遠(yuǎn)低于結(jié)構(gòu)化的特征的。過去在進(jìn)行推薦、分類等各種任務(wù)時(shí),我們可以人工運(yùn)算出十萬維度的特征來,交由模型去進(jìn)行處理。但在GPT模式下,如何把這十萬維的特征以文本的形態(tài)輸入GPT進(jìn)去呢?又或者,可以在GPT之前增加一個(gè)Encoder來負(fù)責(zé)處理。但這樣一來,通用性無法得到保障,很可能需要自己訓(xùn)練一個(gè)GPT,而不是直接使用大公司預(yù)訓(xùn)練好的模型。
?因此,GPT目前更擅長的,其實(shí)是引經(jīng)據(jù)典,回答各種知識(shí)點(diǎn)性質(zhì)的問題。而對于基于龐大輸入完成的綜合決策過程,并不適合使用GPT來解決。
?文章來源地址http://www.zghlxwxcb.cn/news/detail-463590.html
總結(jié)
本篇一定程度上是因面對GPT的過度吹捧,有感而發(fā)。個(gè)人認(rèn)為,目前火熱的不是GPT,而是ChatGPT把AI重新帶回大眾視野,引發(fā)了更多的AI應(yīng)用嘗試。
而這波熱潮帶給我的最大收益,是引發(fā)了NLP對于非結(jié)構(gòu)化數(shù)據(jù)的處理能力的研究思考,應(yīng)當(dāng)能夠解決過往很多數(shù)據(jù)處理的難題。
?至于GPT本身,因?yàn)榻邮蛰斎氲牟蛔?,我認(rèn)為不足以作為一個(gè)線上功能去使用。(所以現(xiàn)在的產(chǎn)品形態(tài)基本都是Copilot,相當(dāng)于更高階版的搜索引擎。)但其展現(xiàn)的創(chuàng)造性潛力,確實(shí)值得我們保持關(guān)注和探索。文章來源:http://www.zghlxwxcb.cn/news/detail-463590.html
?
到了這里,關(guān)于為什么是ChatGPT引發(fā)了AI浪潮?的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!