0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Transformer編碼器的chatGPT模型設(shè)計

深度學(xué)習(xí)自然語言處理 ? 來源:JioNLP ? 2023-01-11 16:51 ? 次閱讀

前言

這兩天,chatGPT模型真可謂稱得上是狂拽酷炫D炸天的存在了。一度登上了知乎熱搜,這對科技話題是非常難的存在。不光是做人工智能機(jī)器學(xué)習(xí)的人關(guān)注,而是大量的各行各業(yè)從業(yè)人員都來關(guān)注這個模型,真可謂空前盛世。

我趕緊把 openai 以往的 GPT-n 系列論文又翻出來,重新學(xué)習(xí)一下,認(rèn)真領(lǐng)會大規(guī)模預(yù)訓(xùn)練語言模型(Large Language Model)的強(qiáng)大之處。

可能很多深度學(xué)習(xí)相關(guān)從業(yè)人員的感受和我一樣,大家之前對 LLM 的感受依然是,預(yù)訓(xùn)練+finetune,處理下游任務(wù),依然需要大量的標(biāo)注數(shù)據(jù)和人工干預(yù),怎么突然間,chatGPT 就智能到如此地步?

接下來,我簡要梳理一下 openai 的 GPT 大模型的發(fā)展歷程。

一、還得從 Bert 說起

2018年,自然語言處理 NLP 領(lǐng)域也步入了 LLM 時代,谷歌出品的 Bert 模型橫空出世,碾壓了以往的所有模型,直接在各種NLP的建模任務(wù)中取得了最佳的成績。

Bert做了什么,主要用以下例子做解釋。

請各位做一個完形填空:___________和阿里、騰訊一起并成為中國互聯(lián)網(wǎng) BAT 三巨頭。

請問上述空格應(yīng)該填什么?有的人回答“百度”,有的人可能覺得,“字節(jié)”也沒錯。但總不再可能是別的字了。

不論填什么,這里都表明,空格處填什么字,是受到上下文決定和影響的

Bert 所作的事就是從大規(guī)模的上億的文本預(yù)料中,隨機(jī)地扣掉一部分字,形成上面例子的完形填空題型,不斷地學(xué)習(xí)空格處到底該填寫什么。所謂語言模型,就是從大量的數(shù)據(jù)中學(xué)習(xí)復(fù)雜的上下文聯(lián)系。

二、GPT 初代

與此同時,openai 早于 Bert 出品了一個初代 GPT 模型。

他們大致思想是一樣的。都基于 Transformer 這種編碼器,獲取了文本內(nèi)部的相互聯(lián)系。

7813a728-8508-11ed-bfe3-dac502259ad0.pngTransformer結(jié)構(gòu)

編解碼的概念廣泛應(yīng)用于各個領(lǐng)域,在 NLP 領(lǐng)域,人們使用語言一般包括三個步驟:

接受聽到或讀到的語言 -> 大腦理解 -> 輸出要說的語言。

語言是一個顯式存在的東西,但大腦是如何將語言進(jìn)行理解、轉(zhuǎn)化和存儲的,則是一個目前仍未探明的東西。

因此,大腦理解語言這個過程,就是大腦將語言編碼成一種可理解、可存儲形式的過程,這個過程就叫做語言的編碼

相應(yīng)的,把大腦中想要表達(dá)的內(nèi)容,使用語言表達(dá)出來,就叫做語言的解碼。

在語言模型中,編碼器和解碼器都是由一個個的 Transformer 組件拼接在一起形成的。

783a3488-8508-11ed-bfe3-dac502259ad0.png

Transformer編碼器組成的 Encoder-decoder模型

這里不展開講 Transformer 里的內(nèi)部結(jié)構(gòu),僅僅講一下 Bert 和 GPT 的區(qū)別。

兩者最主要的區(qū)別在于,Bert 僅僅使用了 encoder 也就是編碼器部分進(jìn)行模型訓(xùn)練,GPT 僅僅使用了 decoder 部分。兩者各自走上了各自的道路,根據(jù)我粗淺的理解,GPT 的decoder 模型更加適應(yīng)于文本生成領(lǐng)域。

GPT 初代其實個人認(rèn)為(當(dāng)然普遍也都這么認(rèn)為)略遜色于 Bert,再加上宣傳地不夠好,影響力也就小于 Bert。

我相信很多的 NLP 從業(yè)者對 LLM 的理解也大都停留在此。即,本質(zhì)上講,LLM 是一個非常復(fù)雜的編碼器,將文本表示成一個向量表示,這個向量表示有助于解決 NLP 的任務(wù)。

三、GPT-2

自從 Bert 炸街后,跟風(fēng)效仿的改進(jìn)模型也就越來越多了,比如 albert、roberta、ERNIE,BART、XLNET、T5 等等五花八門。

最初的時候,僅僅是一個完形填空任務(wù)就可以讓語言模型有了極大進(jìn)步,那么,給 LLM 模型出其它的語言題型,應(yīng)該也會對模型訓(xùn)練有極大的幫助。

想要出語言題型不是很簡單么,什么句子打亂順序再排序、選擇題、判斷題、改錯題、把預(yù)測單字改成預(yù)測實體詞匯等等,紛紛都可以制定數(shù)據(jù)集添加在模型的預(yù)訓(xùn)練里。很多模型也都是這么干的。

既然出題也可以,把各種NLP任務(wù)的數(shù)據(jù)集添加到預(yù)訓(xùn)練階段當(dāng)然也可以。

這個過程也和人腦很像,人腦是非常穩(wěn)定和泛化的,既可以讀詩歌,也可以學(xué)數(shù)學(xué),還可以學(xué)外語,看新聞,聽音樂等等,簡而言之,就是一腦多用。

我們一般的 NLP 任務(wù),文本分類模型就只能分類,分詞模型就只能分詞,機(jī)器翻譯也就只能完成翻譯這一件事,非常不靈活。

GPT-2 主要就是在 GPT 的基礎(chǔ)上,又添加了多個任務(wù),擴(kuò)增了數(shù)據(jù)集和模型參數(shù),又訓(xùn)練了一番。

786171ce-8508-11ed-bfe3-dac502259ad0.png

GPT-2學(xué)習(xí)效果圖

既然多個任務(wù)都在同一個模型上進(jìn)行學(xué)習(xí),還存在一個問題,這一個模型能承載的并不僅僅是任務(wù)本身,“汪小菲的媽是張?zhí)m”,這條文字包含的信息量是通用的,它既可以用于翻譯,也可以用于分類,判斷錯誤等等。也就是說,信息是脫離具體 NLP 任務(wù)存在的,舉一反三,能夠利用這條信息,在每一個 NLP 任務(wù)上都表現(xiàn)好,這個是 元學(xué)習(xí)(meta-learning),實際上就是語言模型的一腦多用。

四、GPT-3

大模型中的大模型

首先, GPT-3 的模型所采用的數(shù)據(jù)量之大,高達(dá)上萬億,模型參數(shù)量也十分巨大,學(xué)習(xí)之復(fù)雜,計算之繁復(fù)不說了,看圖吧。

788fd096-8508-11ed-bfe3-dac502259ad0.png

GPT-3 里的大模型計算量是 Bert-base 的上千倍。統(tǒng)統(tǒng)這些都是在燃燒的金錢,真就是 all you need is money。如此巨大的模型造就了 GPT-3 在許多十分困難的 NLP 任務(wù),諸如撰寫人類難以判別的文章,甚至編寫SQL查詢語句,React或者JavaScript代碼上優(yōu)異的表現(xiàn)。

首先 GPT-n 系列模型都是采用 decoder 進(jìn)行訓(xùn)練的,也就是更加適合文本生成的形式。也就是,輸入一句話,輸出也是一句話。也就是對話模式。

對話

我們是如何學(xué)會中文的?通過從0歲開始,聽,說,也就是對話。

我們是如何學(xué)外語的?看教材,聽廣播,背單詞。唯獨(dú)缺少了對話!正是因為缺少了對話這個高效的語言學(xué)習(xí)方式,所以我們的英語水平才如此難以提高。

對于語言模型,同理。

對話是涵蓋一切NLP 任務(wù)的終極任務(wù)。從此 NLP不再需要模型建模這個過程。比如,傳統(tǒng) NLP 里還有序列標(biāo)注這個任務(wù),需要用到 CRF 這種解碼過程。在對話的世界里,這些統(tǒng)統(tǒng)都是冗余的。

其實 CRF 這項技術(shù)還是蠻經(jīng)典的,在深度學(xué)習(xí)這塊,CRF這也才過去沒幾年。sigh……

in-context learning

以往的預(yù)訓(xùn)練都是兩段式的,即,首先用大規(guī)模的數(shù)據(jù)集對模型進(jìn)行預(yù)訓(xùn)練,然后再利用下游任務(wù)的標(biāo)注數(shù)據(jù)集進(jìn)行 finetune,時至今日這也是絕大多數(shù) NLP 模型任務(wù)的基本工作流程。

GPT-3 就開始顛覆這種認(rèn)知了。它提出了一種 in-context 學(xué)習(xí)方式。這個詞沒法翻譯成中文,下面舉一個例子進(jìn)行解釋。

用戶輸入到 GPT-3:你覺得 JioNLP 是個好用的工具嗎?

GPT-3輸出1:我覺得很好啊。

GPT-3輸出2:JioNLP是什么東西?

GPT-3輸出3:你餓不餓,我給你做碗面吃……

GPT-3輸出4:Do you think jionlp is a good tool?

按理來講,針對機(jī)器翻譯任務(wù),我們當(dāng)然希望模型輸出最后一句,針對對話任務(wù),我們希望模型輸出前兩句中的任何一句。顯然做碗面這個輸出句子顯得前言不搭后語。

這時就有了 in-context 學(xué)習(xí),也就是,我們對模型進(jìn)行引導(dǎo),教會它應(yīng)當(dāng)輸出什么內(nèi)容。如果我們希望它輸出翻譯內(nèi)容,那么,應(yīng)該給模型如下輸入:

用戶輸入到 GPT-3:請把以下中文翻譯成中文:你覺得 JioNLP 是個好用的工具嗎?

如果想讓模型回答問題:

用戶輸入到 GPT-3:模型模型你說說,你覺得 JioNLP 是個好用的工具嗎?

OK,這樣模型就可以根據(jù)用戶提示的情境,進(jìn)行針對性的回答了。

這里,只是告知了模型如何做,最好能夠給模型做個示范

用戶輸入到 GPT-3:請把以下中文翻譯成中文:蘋果 => apple; 你覺得 JioNLP 是個好用的工具嗎?=>

其中 蘋果翻譯成 apple,是一個示范樣例,用于讓模型感知該輸出什么。只給提示叫做 zero-shot,給一個范例叫做 one-shot,給多個范例叫做 few-shot。

78a96be6-8508-11ed-bfe3-dac502259ad0.png

范例給幾個就行了,不能再給多了!一個是,咱們沒那么多標(biāo)注數(shù)據(jù),另一個是,給多了不就又成了 finetune 模式了么?

78bb9ff0-8508-11ed-bfe3-dac502259ad0.png

在 GPT-3 的預(yù)訓(xùn)練階段,也是按照這樣多個任務(wù)同時學(xué)習(xí)的。比如“做數(shù)學(xué)加法,改錯,翻譯”同時進(jìn)行。這其實就類似前段時間比較火的 prompt。

這種引導(dǎo)學(xué)習(xí)的方式,在超大模型上展示了驚人的效果:只需要給出一個或者幾個示范樣例,模型就能照貓畫虎地給出正確答案。注意啊,是超大模型才可以,一般幾億參數(shù)的大模型是不行的。(我們這里沒有小模型,只有大模型、超大模型、巨大模型

78d1b66e-8508-11ed-bfe3-dac502259ad0.png

這個表格彷佛在嘲諷我:哎,你沒錢,你就看不著這種優(yōu)質(zhì)的效果,你氣不氣?

五、chatGPT

charGPT 模型上基本上和之前都沒有太大變化,主要變化的是訓(xùn)練策略變了。

強(qiáng)化學(xué)習(xí)

幾年前,alpha GO 擊敗了柯潔,幾乎可以說明,強(qiáng)化學(xué)習(xí)如果在適合的條件下,完全可以打敗人類,逼近完美的極限。

強(qiáng)化學(xué)習(xí)非常像生物進(jìn)化,模型在給定的環(huán)境中,不斷地根據(jù)環(huán)境的懲罰和獎勵(reward),擬合到一個最適應(yīng)環(huán)境的狀態(tài)。

78f8275e-8508-11ed-bfe3-dac502259ad0.png

NLP + 強(qiáng)化學(xué)習(xí)

強(qiáng)化學(xué)習(xí)之所以能比較容易地應(yīng)用在圍棋以及其它各種棋牌游戲里,原因就是因為對莫 alpha Go 而言,環(huán)境就是圍棋,圍棋棋盤就是它的整個世界。

而幾年前就有提問,NLP + 強(qiáng)化學(xué)習(xí),可以做嗎?怎么做呢?

底下回答一片唱衰,原因就是因為,NLP 所依賴的環(huán)境,是整個現(xiàn)實世界,整個世界的復(fù)雜度,遠(yuǎn)遠(yuǎn)不是一個19乘19的棋盤可以比擬的。無法設(shè)計反饋懲罰和獎勵函數(shù),即 reward 函數(shù)。除非人們一點(diǎn)點(diǎn)地人工反饋。

哎,open-ai 的 chatGPT 就把這事給干了。

不是需要人工標(biāo)反饋和獎勵嗎?那就撒錢,找40個外包,標(biāo)起來!

794a7040-8508-11ed-bfe3-dac502259ad0.png

這種帶人工操作的 reward,被稱之為 RLHF(Reinforcement Learning from Human Feedback)。

具體操作過程就是下圖的樣子,采用強(qiáng)化學(xué)習(xí)的方式來對模型進(jìn)行訓(xùn)練。已經(jīng)拋棄了傳統(tǒng)的 LM 方式。

7968ba8c-8508-11ed-bfe3-dac502259ad0.png

這里重點(diǎn)是第二部中,如何構(gòu)建一個 reward 函數(shù),具體就是讓那40名外包人員不斷地從模型的輸出結(jié)果中篩選,哪些是好的,哪些是低質(zhì)量的,這樣就可以訓(xùn)練得到一個 reward 模型。

通過reward 模型來評價模型的輸出結(jié)果好壞。

講真,這個 reward 模型,黑客帝國》的母體 matrix 既視感有木有????!

只要把預(yù)訓(xùn)練模型接一根管子在 reward 模型上,預(yù)訓(xùn)練模型就會開始像感知真實世界那樣,感知reward。

由此,我們就可以得到這個把全世界都震碎的高音?。ㄕ`,模型)

chatGPT 功能一覽

能回答知乎上的問題

79a439cc-8508-11ed-bfe3-dac502259ad0.png

你別想耍它

79bc7398-8508-11ed-bfe3-dac502259ad0.png

能回答困難的問題

79d0dd10-8508-11ed-bfe3-dac502259ad0.png

能理解亂序文本

79ebb004-8508-11ed-bfe3-dac502259ad0.png

會做高數(shù)

7a0ec152-8508-11ed-bfe3-dac502259ad0.jpg

知道自己是程序,不會做你女票

7a2563ee-8508-11ed-bfe3-dac502259ad0.png

還能處理程序 bug

7a407da0-8508-11ed-bfe3-dac502259ad0.jpg

六、影響

NLP 領(lǐng)域的影響

個人認(rèn)為,NLP 領(lǐng)域的一些里程碑性的技術(shù)重要性排序如下:

chatGPT > word2vec > Bert (純個人看法)

chatGPT 的關(guān)注度已經(jīng)很大程度讓人們感覺到,什么天貓精靈、小愛同學(xué)等等人工智障的時代似乎過去了。只要模型足夠大,數(shù)據(jù)足夠豐富,reward 模型經(jīng)過了更多的人迭代和優(yōu)化,完全可以創(chuàng)造一個無限逼近真實世界的超級 openai 大腦。

當(dāng)然,chat GPT 依然是存在回答不好的情況的,比如會重復(fù)一些詞句,無法分清楚事實等等。

而且,chatGPT 目前看,它是沒有在推理階段連接外部信息的。

7a636dba-8508-11ed-bfe3-dac502259ad0.png

模型知道自己的回答邊界,知道自己只是一個沒有情感的回答工具。那么,試想 openai 把外部信息也導(dǎo)入到 chatGPT 里。

另一些影響

我看到 chatGPT 居然可以寫代碼,還能幫我改代碼,debug,作為程序員,我不禁深深陷入了沉思。

據(jù)說,debug 程序員網(wǎng)站 stackoverflow,已經(jīng)下場封殺 chatGPT 了。

7aa6e824-8508-11ed-bfe3-dac502259ad0.png

當(dāng)然,完全不僅僅是程序界。據(jù)說 GPT-4 正在做圖文理解,那么,對于教師、醫(yī)生、咨詢師、等等等等,各行各業(yè),是不是都是一個巨大的沖擊?所謂專業(yè)領(lǐng)域的知識門檻,也將被模型一步踏平。到時候,可能人類真的要靠邊站了,除了某些高精尖的行業(yè)精英。

有人講 google 將被替代,我認(rèn)為也就還好吧,依照google那財大氣粗的樣子,沒準(zhǔn) google 此時此刻,NLP+強(qiáng)化學(xué)習(xí)也已經(jīng)在路上了。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 解碼器
    +關(guān)注

    關(guān)注

    9

    文章

    1143

    瀏覽量

    40742
  • 編碼器
    +關(guān)注

    關(guān)注

    45

    文章

    3643

    瀏覽量

    134531
  • nlp
    nlp
    +關(guān)注

    關(guān)注

    1

    文章

    488

    瀏覽量

    22038
  • ChatGPT
    +關(guān)注

    關(guān)注

    29

    文章

    1561

    瀏覽量

    7683

原文標(biāo)題:一文讀懂chatGPT模型原理(無公式)

文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    編碼器仿真模型

    在搗鼓溫度控制仿真,需要用到編碼器,型號為EC11E.原理圖都畫好了,其他仿真模型也都有了,就是編碼器仿真模型找不到,求救?。。。?/div>
    發(fā)表于 07-15 01:30

    什么是編碼器 什么叫編碼器 編碼器什么意思

    什么是編碼器 什么叫編碼器 編碼器什么意思 第一種含義:編碼器是把角位移或直線位移轉(zhuǎn)換成電信號的一種裝置。前者成為碼盤,后者稱碼尺.按照讀
    發(fā)表于 12-18 00:13 ?1.5w次閱讀
    什么是<b class='flag-5'>編碼器</b> 什么叫<b class='flag-5'>編碼器</b> <b class='flag-5'>編碼器</b>什么意思

    編碼器,編碼器是什么意思

    編碼器,編碼器是什么意思 編碼器 編碼器(encoder)是將信號
    發(fā)表于 03-08 15:04 ?3106次閱讀

    光電編碼器,光電編碼器是什么意思

    光電編碼器,光電編碼器是什么意思 光電編碼器光電編碼器,是一種通過光電轉(zhuǎn)換將輸出軸上的機(jī)械幾何位移量轉(zhuǎn)換成脈沖或
    發(fā)表于 03-08 15:20 ?1521次閱讀

    PCM編碼器,PCM編碼器是什么意思

    PCM編碼器,PCM編碼器是什么意思 優(yōu)先編碼器: 上述機(jī)械式按鍵編碼電路雖然比較簡單,但當(dāng)同時按下兩個或更多個鍵時,其輸出將是
    發(fā)表于 03-08 16:27 ?2357次閱讀

    光電編碼器分類

    光電編碼器主要有增量式編碼器、絕對式編碼器、混合式絕對值編碼器、旋轉(zhuǎn)變壓、正余弦伺服電機(jī)編碼器
    的頭像 發(fā)表于 10-21 10:32 ?1.6w次閱讀

    光電編碼器型號含義_光電編碼器應(yīng)用實例

    本文主要闡述了光電編碼器型號含義及光電編碼器應(yīng)用實例。
    的頭像 發(fā)表于 11-06 11:21 ?1.8w次閱讀
    光電<b class='flag-5'>編碼器</b>型號含義_光電<b class='flag-5'>編碼器</b>應(yīng)用實例

    STM32——編碼器測速原理及STM32編碼器模式

    本問講解了編碼器測速原理及STM32編碼器模式,文末有STM32編碼器模式例程。
    發(fā)表于 11-26 11:36 ?271次下載
    STM32——<b class='flag-5'>編碼器</b>測速原理及STM32<b class='flag-5'>編碼器</b>模式

    基于transformer編碼器-解碼模型的工作原理

    與基于 RNN 的編碼器-解碼模型類似,基于 transformer編碼器-解碼
    發(fā)表于 06-11 14:17 ?2259次閱讀
    基于<b class='flag-5'>transformer</b>的<b class='flag-5'>編碼器</b>-解碼<b class='flag-5'>器</b><b class='flag-5'>模型</b>的工作原理

    基于 Transformers 的編碼器-解碼模型

    基于 transformer編碼器-解碼模型是 表征學(xué)習(xí) 和 模型架構(gòu) 這兩個領(lǐng)域多年研究成果的結(jié)晶。本文簡要介紹了神經(jīng)
    的頭像 發(fā)表于 06-16 16:53 ?893次閱讀
    基于 Transformers 的<b class='flag-5'>編碼器</b>-解碼<b class='flag-5'>器</b><b class='flag-5'>模型</b>

    編碼器種類及型號

    編碼器種類及型號:最常見的編碼器類型是旋轉(zhuǎn)編碼器和線性編碼器。旋轉(zhuǎn)編碼器通常用于測量機(jī)器人的關(guān)節(jié)位置,以及測量車輛和船只的轉(zhuǎn)向角度。線性
    的頭像 發(fā)表于 05-18 11:15 ?5726次閱讀
    <b class='flag-5'>編碼器</b>種類及型號

    神經(jīng)編碼器-解碼模型的歷史

    基于 transformer編碼器-解碼模型是 表征學(xué)習(xí) 和 模型架構(gòu) 這兩個領(lǐng)域多年研究成果的結(jié)晶。本文簡要介紹了神經(jīng)
    的頭像 發(fā)表于 06-20 15:42 ?893次閱讀
    神經(jīng)<b class='flag-5'>編碼器</b>-解碼<b class='flag-5'>器</b><b class='flag-5'>模型</b>的歷史

    磁性編碼器和光電編碼器的比較

    伺服電機(jī)編碼器是一種關(guān)鍵的反饋裝置,用于測量和控制電機(jī)的轉(zhuǎn)速和位置。在選擇伺服電機(jī)編碼器時,常常面臨一個選擇:使用磁電編碼器還是光電編碼器。接下來將從幾個關(guān)鍵方面比較這兩種類型的
    的頭像 發(fā)表于 01-18 10:29 ?3208次閱讀

    編碼器好壞怎么判斷,編碼器原理

    編碼器(Encoder)是將輸入數(shù)據(jù)轉(zhuǎn)化為特定編碼表示的一種技術(shù)。對于不同類型的編碼器,評判其好壞可以從多個方面進(jìn)行考量,包括編碼質(zhì)量、速度、模型
    的頭像 發(fā)表于 01-23 10:58 ?1902次閱讀

    磁電編碼器和光電編碼器的區(qū)別

    磁電編碼器和光電編碼器是兩種不同類型的編碼器,它們在原理、結(jié)構(gòu)、性能和應(yīng)用領(lǐng)域上都有所不同。 磁電編碼器和光電編碼器的區(qū)別 1. 引言
    的頭像 發(fā)表于 10-12 09:54 ?1161次閱讀