九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
ChatGPT為啥這么強(qiáng):萬(wàn)字長(zhǎng)文詳解 by WolframAlpha之父
ChatGPT 發(fā)自 凹非寺
量子位 | 公眾號(hào) QbitAI

Wolfram語(yǔ)言之父Stephen Wolfram,又來(lái)給ChatGPT背書了。

上個(gè)月,他還專門寫過(guò)一篇文章,力薦自家的計(jì)算知識(shí)搜索引擎WolframAlpha,希望能跟ChatGPT來(lái)個(gè)完美結(jié)合。

大概表達(dá)的意思就是,“你計(jì)算能力不達(dá)標(biāo),那可以把我的’超能力’注入進(jìn)去嘛”。

而時(shí)隔一個(gè)多月,Stephen Wolfram圍繞“ChatGPT是什么”“為什么它能這么有效”兩個(gè)問(wèn)題,再次發(fā)表萬(wàn)字長(zhǎng)文做了番深入淺出的詳解。

(為了保證閱讀體驗(yàn),以下內(nèi)容將以Stephen Wolfram的第一人稱來(lái)敘述;文末有彩蛋!

一次添加一個(gè)單詞

ChatGPT 能夠自動(dòng)生成類似于人類撰寫的文本,這一點(diǎn)非常引人注目,也是出乎意料的。那么,它是如何實(shí)現(xiàn)的?為什么它能夠如此出色地生成有意義的文本呢?

在本文中,我將大致介紹 ChatGPT 內(nèi)部運(yùn)作的機(jī)制,并探討它為什么能夠成功地生成令人滿意的文本。

需要說(shuō)明的是,我將重點(diǎn)關(guān)注 ChatGPT 的整體機(jī)制,雖然會(huì)提到一些技術(shù)細(xì)節(jié),但不會(huì)做深入的探討。同時(shí),還要強(qiáng)調(diào)的一點(diǎn)是,我所說(shuō)的內(nèi)容同樣適用于當(dāng)前其它的“大型語(yǔ)言模型”(LLM),而不僅僅限于 ChatGPT。

首先需要解釋的一點(diǎn)是,ChatGPT 的核心任務(wù)始終是生成一個(gè)“合理的延續(xù)”,即根據(jù)已有的文本,生成一個(gè)符合人類書寫習(xí)慣的下一個(gè)合理內(nèi)容。所謂“合理”,是指根據(jù)數(shù)十億個(gè)網(wǎng)頁(yè)、數(shù)字化書籍等人類撰寫內(nèi)容的統(tǒng)計(jì)規(guī)律,推測(cè)接下來(lái)可能出現(xiàn)的內(nèi)容。

例如,我們輸入了文本“AI 最好的事情是它的能力”,ChatGPT 就會(huì)在數(shù)十億頁(yè)的人類文本中查找類似文本,然后統(tǒng)計(jì)下一個(gè)單詞出現(xiàn)的概率。需要注意的是,ChatGPT 并不是直接對(duì)比文字本身,而是以某種意義上的“意思匹配”為依據(jù)。最終,ChatGPT 會(huì)生成一個(gè)可能的單詞列表,并給出每個(gè)單詞的概率排名:

值得注意的是,當(dāng)ChatGPT完成像寫文章這樣的任務(wù)時(shí),它實(shí)際上只是一遍又一遍地詢問(wèn):“在已有的文本的基礎(chǔ)上,下一個(gè)詞應(yīng)該是什么?”——并且每次都會(huì)添加一個(gè)詞(更準(zhǔn)確地說(shuō),如我所解釋的,它添加一個(gè)“token”,這可能只是單詞的一部分,這就是為什么它有時(shí)會(huì)“創(chuàng)造新詞”的原因)。

在每一步中,它都會(huì)得到一個(gè)帶有概率的單詞列表。但是,它應(yīng)該選擇哪個(gè)單詞來(lái)添加到它正在寫作的文章(或任何其他東西)中呢?

有人可能認(rèn)為應(yīng)該選擇“排名最高”的單詞(即被分配最高“概率”的單詞)。但這就是一些神秘的事情開始悄悄發(fā)生的地方。因?yàn)橛捎谀撤N原因——也許有一天我們會(huì)有一種科學(xué)式的理解——如果我們總是選擇排名最高的單詞,我們通常會(huì)得到一篇非常“平淡”的文章,從不顯示任何創(chuàng)造力(有時(shí)甚至逐字重復(fù))。如果有時(shí)(隨機(jī)地)我們選擇較低排名的單詞,可能會(huì)得到一篇“更有趣”的文章。

這里存在隨機(jī)性意味著,如果我們多次使用相同的提示,很可能每次都會(huì)得到不同的文章。與voodoo理念一致,過(guò)程中會(huì)有一個(gè)特定的所謂“溫度”(temperature)參數(shù),它決定較低排名的單詞會(huì)被使用的頻率,對(duì)于文章生成,這個(gè)“溫度”最好設(shè)置為0.8。值得強(qiáng)調(diào)的是,這里沒有使用“理論”;這只是已被證明在實(shí)踐中起作用的事實(shí)。例如,“溫度”概念之所以存在,是因?yàn)橹笖?shù)分布(來(lái)自統(tǒng)計(jì)物理學(xué)的熟悉分布)恰好被使用,但至少就我們所知,它們之間沒有“物理”聯(lián)系。

在繼續(xù)之前,我應(yīng)該解釋一下,為了表達(dá)的目的,我大多數(shù)時(shí)候不會(huì)使用ChatGPT中的完整系統(tǒng);相反,我通常會(huì)使用一個(gè)更簡(jiǎn)單的GPT-2系統(tǒng),它具有很好的特性,即它足夠小,可以在標(biāo)準(zhǔn)臺(tái)式計(jì)算機(jī)上運(yùn)行。因此,我所展示的幾乎所有內(nèi)容都將包含明確的Wolfram語(yǔ)言代碼,您可以立即在計(jì)算機(jī)上運(yùn)行。

例如,下面這張圖展示了如何獲得上述概率表的。首先,我們必須檢索底層的 “語(yǔ)言模型 “神經(jīng)網(wǎng)絡(luò):

稍后,我們將深入了解這個(gè)神經(jīng)網(wǎng)絡(luò),并討論它是如何工作的。但目前為止,我們可以將這個(gè)“網(wǎng)絡(luò)模型”作為一個(gè)黑盒應(yīng)用到我們的文本中,并根據(jù)模型認(rèn)為應(yīng)該遵循的概率,請(qǐng)求前5個(gè)單詞:

獲取結(jié)果后,會(huì)將其轉(zhuǎn)換為顯式格式化的“數(shù)據(jù)集”:

下面是重復(fù) “應(yīng)用模型 “的情況—在每一步中加入概率最高的詞(在此代碼中指定為模型中的 “決定”):

如果再繼續(xù)下去會(huì)怎樣?在這種(”零度”)情況下,很快就會(huì)出現(xiàn)相當(dāng)混亂和重復(fù)的情況。

但如果不總是挑選 “頂級(jí) “詞,而是有時(shí)隨機(jī)挑選 “非頂級(jí) “詞(”隨機(jī)性 “對(duì)應(yīng) “溫度 “為0.8)呢?我們就又可以續(xù)寫文本了:

而每次這樣做,都會(huì)有不同的隨機(jī)選擇,對(duì)應(yīng)的文本也會(huì)不同。例如以下這5個(gè)例子:

值得指出的是,即使在第一步,根據(jù)已有的文本,也有很多可能的“下一個(gè)詞”可供選擇(在溫度為0.8的情況下),盡管它們的概率很快就會(huì)下降(是的,在這個(gè)對(duì)數(shù)圖上的直線對(duì)應(yīng)于一個(gè) n–1 的“冪律”衰減,這是語(yǔ)言的一般統(tǒng)計(jì)特征):

那么如果我們繼續(xù)寫下去會(huì)發(fā)生什么呢?這里有一個(gè)隨機(jī)的例子。它比使用最高排名的單詞(零度)的情況要好一些,但仍然是有點(diǎn)奇怪:

這是使用最簡(jiǎn)單的GPT-2模型(來(lái)自2019年)完成的。使用更新的更大的GPT-3模型結(jié)果更好。這里是使用相同的“提示”,但使用最大的GPT-3模型生成的使用最高排名單詞(零度)的文本:

接下來(lái)是一個(gè)“溫度為0.8”的隨機(jī)例子:

這些概率是從何而來(lái)?

ChatGPT總是基于概率來(lái)選擇下一個(gè)單詞。但這些概率從何而來(lái)呢?

讓我們先從一個(gè)更簡(jiǎn)單的問(wèn)題開始。當(dāng)我們考慮逐字母(而非逐詞)生成英文文本,該如何確定每個(gè)字母的概率呢?

最簡(jiǎn)單的方法是取一份英文文本樣本,然后計(jì)算其中不同字母的出現(xiàn)頻率。例如,這是“貓”在維基百科文章中字母的計(jì)數(shù)情況(此處省略了計(jì)數(shù)結(jié)果):

這是“狗”的情況:

結(jié)果相似,但并不完全一樣(畢竟,“o”在“dogs”文章中更常見,因?yàn)樗旧砭统霈F(xiàn)在“dog”這個(gè)單詞中)。然而,如果我們?nèi)∽銐虼蟮挠⑽奈谋緲颖?,最終可以期望得到至少相當(dāng)一致的結(jié)果:

下面是我們只用這些概率生成字母序列的樣本:

我們可以通過(guò)像是將空格視為帶有一定概率的字母來(lái)將其分解為“單詞”:

可以通過(guò)強(qiáng)制“單詞長(zhǎng)度”的分布與英文一致,來(lái)更好地分割“單詞”:

這里我們沒有生成任何“真實(shí)的單詞”,但結(jié)果看起來(lái)稍微好了一些。然而,要進(jìn)一步推進(jìn),我們需要比僅僅隨機(jī)選擇每個(gè)字母更多的工作。例如,我們知道如果出現(xiàn)了“q”,下一個(gè)字母基本上必須是“u”。

這是字母本身的概率圖:

這是典型英文文本中字母對(duì)(“2-grams”)的概率圖。橫軸是可能的第一個(gè)字母,縱軸是第二個(gè)字母(此處省略了概率圖):

在這里,我們可以看到,“q”列除了在“u”行上以外,其他地方都是空白(零概率)。那么,現(xiàn)在我們不再逐個(gè)字母地生成“單詞”,而是使用這些“2-gram”概率,一次生成兩個(gè)字母來(lái)生成它們。以下是結(jié)果的一個(gè)樣本——恰好包括一些“實(shí)際單詞”:

通過(guò)足夠多的英語(yǔ)文本,我們不僅可以很好地估計(jì)單個(gè)字母或字母對(duì)(2-gram)的概率,還可以估計(jì)更長(zhǎng)的字母組合的概率。如果我們使用逐漸變長(zhǎng)的n-gram概率來(lái)生成“隨機(jī)單詞”,我們會(huì)發(fā)現(xiàn)它們逐漸變得“更加真實(shí)”。

但是現(xiàn)在讓我們假設(shè)——與ChatGPT一樣——我們處理的是整個(gè)單詞,而不是字母。英語(yǔ)中大約有40,000個(gè)常用單詞。通過(guò)查看大量的英語(yǔ)文本(例如幾百億個(gè)單詞的幾百萬(wàn)本書),我們可以估計(jì)每個(gè)單詞的出現(xiàn)頻率。使用這個(gè)估計(jì),我們可以開始生成“句子”,其中每個(gè)單詞都是獨(dú)立地隨機(jī)選擇的,其概率與它在語(yǔ)料庫(kù)中出現(xiàn)的概率相同。以下是我們得到的一個(gè)樣本:

毫不意外,這是無(wú)意義的。那么我們?cè)撛趺醋霾拍芨玫厣删渥??就像處理字母一樣,我們可以開始考慮不僅單詞的概率,還可以考慮單詞對(duì)或更長(zhǎng)的n-gram的概率。對(duì)于單詞對(duì),以下是5個(gè)例子,所有情況都是從單詞“cat”開始:

看起來(lái)稍微“更有意義”了一點(diǎn)。如果我們能夠使用足夠長(zhǎng)的n-grams,我們可能會(huì)想象基本上會(huì)“得到一個(gè)ChatGPT”——也就是說(shuō),我們會(huì)得到一些生成具有“正確的整體文章概率”的長(zhǎng)篇文字序列的東西。但是問(wèn)題在于:實(shí)際上沒有足夠多的英語(yǔ)文本被寫出來(lái),以便能夠推斷出這些概率。

在網(wǎng)絡(luò)爬蟲中可能有數(shù)百億個(gè)單詞;在數(shù)字化的書籍中可能還有另外數(shù)百億個(gè)單詞。但是,即使是 4 萬(wàn)個(gè)常用單詞,可能的 2 元組數(shù)量已經(jīng)達(dá)到 16 億,而可能的 3 元組數(shù)量則高達(dá) 60 萬(wàn)億。因此,我們無(wú)法通過(guò)現(xiàn)有的文本估計(jì)這些可能性的概率。當(dāng)我們需要生成 20 個(gè)單詞的“文章片段”時(shí),可能性的數(shù)量已經(jīng)超過(guò)了宇宙中的粒子數(shù)量,所以在某種意義上,它們無(wú)法全部被寫下。

那么,我們?cè)撛趺崔k呢?關(guān)鍵的想法是建立一個(gè)模型,讓我們能夠估計(jì)序列應(yīng)該出現(xiàn)的概率,即使我們從未在我們查看的文本語(yǔ)料庫(kù)中明確看到過(guò)這些序列。而在ChatGPT的核心正是所謂的“大型語(yǔ)言模型”(LLM),它被構(gòu)建出來(lái)可以很好地估計(jì)這些概率。

(由于篇幅原因,此處省略“什么是模型”、“神經(jīng)網(wǎng)絡(luò)”、“機(jī)器學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)的訓(xùn)練”、“神經(jīng)網(wǎng)絡(luò)訓(xùn)練的實(shí)踐與知識(shí)”、“Embedding概念”等章節(jié)的編譯,感興趣讀者可自行閱讀原文)

ChatGPT的內(nèi)部結(jié)構(gòu)

毫無(wú)疑問(wèn),它最終是一個(gè)巨大的神經(jīng)網(wǎng)絡(luò),目前版本是一個(gè)擁有 1750 億個(gè)權(quán)重的 GPT-3 網(wǎng)絡(luò)。在許多方面,這個(gè)神經(jīng)網(wǎng)絡(luò)與我們討論過(guò)的其它神經(jīng)網(wǎng)絡(luò)非常相似,但它是一個(gè)專門用于處理語(yǔ)言的神經(jīng)網(wǎng)絡(luò)。最顯著的特征是一個(gè)被稱為“Transformer”的神經(jīng)網(wǎng)絡(luò)架構(gòu)。

在我們上面討論的第一類神經(jīng)網(wǎng)絡(luò)中,每個(gè)神經(jīng)元在任何給定層都與前一層的每個(gè)神經(jīng)元基本上相連(至少有一些權(quán)重)。但是,如果要處理具有特定已知結(jié)構(gòu)的數(shù)據(jù),這種完全連接的網(wǎng)絡(luò)(大概)是overkill的。因此,在處理圖像的早期階段,通常會(huì)使用所謂的卷積神經(jīng)網(wǎng)絡(luò)(“convnets”),其中神經(jīng)元實(shí)際上是布置在類似于圖像像素的網(wǎng)格上,并且僅與網(wǎng)格附近的神經(jīng)元相連。

Transformer的思路是對(duì)組成文本的token序列做出至少有點(diǎn)類似的事情。但是,Transformer不僅定義了一個(gè)固定區(qū)域,在該區(qū)域內(nèi)可以建立連接,還引入了“注意力”的概念——“注意力”的概念更多地集中在序列的某些部分而不是其他部分。也許有一天,通過(guò)訓(xùn)練,直接啟動(dòng)通用神經(jīng)網(wǎng)絡(luò)并進(jìn)行所有自定義都會(huì)有意義。但至少目前在實(shí)踐中,模塊化東西是至關(guān)重要的,就像Transformer一樣,也可能是我們的大腦所做的一樣。

那么 ChatGPT(或者更準(zhǔn)確地說(shuō),它所基于的GPT-3網(wǎng)絡(luò))實(shí)際上是在做什么呢?請(qǐng)記住,它的總體目標(biāo)是基于其從訓(xùn)練中看到的東西(其中包括查看了來(lái)自網(wǎng)絡(luò)等數(shù)十億個(gè)頁(yè)面的文本),“合理地”續(xù)寫文本。因此,在任何給定的時(shí)刻,它都有一定量的文本,并且其目標(biāo)是為下一個(gè)token pick一個(gè)適當(dāng)?shù)倪x擇。

ChatGPT的運(yùn)作基于三個(gè)基本階段。首先,它獲取與目前文本對(duì)應(yīng)的token序列,并找到代表它們的embedding(即一個(gè)數(shù)字?jǐn)?shù)組)。然后,它以“標(biāo)準(zhǔn)神經(jīng)網(wǎng)絡(luò)方式”對(duì)此embedding進(jìn)行操作,使值在網(wǎng)絡(luò)中的連續(xù)層中“波動(dòng)”,以產(chǎn)生一個(gè)新的embedding(即一個(gè)新的數(shù)字?jǐn)?shù)組)。接著,它獲取該數(shù)組的最后一部分并生成一個(gè)包含約50,000個(gè)值的數(shù)組,這些值將轉(zhuǎn)化為不同且可能的下一個(gè)token的概率(是的,恰好有與英語(yǔ)常用詞匯相同數(shù)量的token,盡管只有大約3000個(gè)token是完整單詞,其余是片段。)

關(guān)鍵的一點(diǎn)是,這個(gè)pipeline的每個(gè)部分都由神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn),其權(quán)重由網(wǎng)絡(luò)的端到端訓(xùn)練決定。換句話說(shuō),實(shí)際上,除了整體架構(gòu)之外,沒有什么是“明確設(shè)計(jì)的”;一切都是從訓(xùn)練數(shù)據(jù)中“學(xué)到”的。

而,在架構(gòu)建立的方式上有很多細(xì)節(jié)——反映了各種各樣的經(jīng)驗(yàn)和神經(jīng)網(wǎng)絡(luò)知識(shí)。雖然這絕對(duì)是一個(gè)細(xì)節(jié)問(wèn)題,但我認(rèn)為討論其中一些細(xì)節(jié)很有用,至少可以了解構(gòu)建ChatGPT所需的內(nèi)容。

首先是embedding模塊。這是GPT-2的一個(gè)示意圖,用Wolfram語(yǔ)言表示:

這段文字介紹了一個(gè)名為“embedding module”的模塊,它有三個(gè)主要步驟。第一步,將文本轉(zhuǎn)化為token序列,每個(gè)token都用一個(gè)單層神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)化為長(zhǎng)度為768(對(duì)于GPT-2)或12288(對(duì)于ChatGPT的GPT-3)的embedding向量。同時(shí),模塊中還有一個(gè)“輔助通路”(secondary pathway),用于將token的整數(shù)位置轉(zhuǎn)化為embedding向量。最后,將token值和token位置的embedding向量加在一起,生成最終的embedding向量序列。

為什么要將token值和token位置的embedding向量相加呢?似乎并沒有特別科學(xué)的解釋。只是嘗試了各種不同的方法,這種方法似乎能夠奏效。而且神經(jīng)網(wǎng)絡(luò)的傳統(tǒng)也認(rèn)為,只要初始設(shè)置“大致正確”,通過(guò)足夠的訓(xùn)練,通常可以自動(dòng)調(diào)整細(xì)節(jié),而不需要真正“理解神經(jīng)網(wǎng)絡(luò)是如何進(jìn)行工程配置的”。

這個(gè)“embedding module”模塊的作用是將文本轉(zhuǎn)換為embedding向量序列。以字符串“hello hello hello hello hello hello hello hello hello hello bye bye bye bye bye bye bye bye bye bye”為例,它可以將其轉(zhuǎn)化為一系列長(zhǎng)度為768的embedding向量,其中包括從每個(gè)token的值和位置中提取的信息。

這里展示了每個(gè)tokenembedding向量的元素,橫向顯示了一系列“hello”embedding,其后是一系列“bye”的embedding。上面的第二個(gè)數(shù)組是位置embedding,其看似隨機(jī)的結(jié)構(gòu)只是因?yàn)椤埃ㄔ谶@種情況下在GPT-2中)恰好被學(xué)習(xí)到了”。

好的,embedding模塊之后是Transformer的“主要部分”:一系列所謂的“注意力塊”(GPT-2為12個(gè),ChatGPT的GPT-3為96個(gè))。這很復(fù)雜,讓人想起典型的難以理解的大型工程系統(tǒng),或者說(shuō)生物系統(tǒng)。但是,這里是GPT-2的單個(gè)“注意力塊”的示意圖:

在每個(gè)注意力塊中,都有一組“attention heads”(GPT-2有12個(gè),ChatGPT的GPT-3有96個(gè)),每個(gè)attention head都獨(dú)立地作用于embedding向量中不同值的塊。(是的,我們不知道將embedding向量拆分成若干部分的好處,也不知道它們的不同部分的含義;這只是已被發(fā)現(xiàn)可行的技術(shù)之一。)

那么,attention head的作用是什么呢?基本上,它們是一種“回顧”token序列(即已經(jīng)生成的文本),并以一種有用的形式“打包”歷史信息以便于找到下一個(gè)token的方式。在上文中,我們提到過(guò)使用二元概率來(lái)基于它們的前一個(gè)token選擇單詞。Transformer中的“注意力”機(jī)制允許對(duì)更早的單詞進(jìn)行“注意力”,從而可能捕捉到例如動(dòng)詞引用在句子中出現(xiàn)在它們前面多個(gè)詞的名詞的方式。

具體而言,attention head的作用是重新組合與不同token相關(guān)的embedding向量的塊,并賦予一定的權(quán)重。因此,例如,GPT-2中第一個(gè)注意塊中的12個(gè)attention head對(duì)于上面的“hello,bye”字符串具有以下(“回顧token序列一直到開頭”的)“重新組合權(quán)重”模式:

經(jīng)過(guò)注意力機(jī)制的處理,得到了一個(gè)“重新加權(quán)的embedding向量”(對(duì)于GPT-2長(zhǎng)度為768,對(duì)于ChatGPT的GPT-3長(zhǎng)度為12,288),然后通過(guò)一個(gè)標(biāo)準(zhǔn)的“全連接”神經(jīng)網(wǎng)絡(luò)層。很難理解這一層在做什么。但是這里是它所使用的768×768權(quán)重矩陣的繪圖(這里是GPT-2):

通過(guò)64×64的移動(dòng)平均,一些(隨機(jī)游走狀的)結(jié)構(gòu)開始出現(xiàn):

是什么決定了這種結(jié)構(gòu)呢?這可能是一些關(guān)于人類語(yǔ)言特征的“神經(jīng)網(wǎng)絡(luò)編碼”。但是到目前為止,這些特征可能還是未知的。實(shí)際上,我們正在“打開ChatGPT的大腦”(或至少是GPT-2),并發(fā)現(xiàn),是的,里面很復(fù)雜,我們并不理解,盡管最終它產(chǎn)生了可識(shí)別人類語(yǔ)言的能力。

好的,在經(jīng)過(guò)一個(gè)注意力模塊之后,我們得到了一個(gè)新的embedding向量,隨后連續(xù)通過(guò)其他注意力模塊(對(duì)于GPT-2總共有12個(gè),對(duì)于GPT-3則有96個(gè))。每個(gè)注意力模塊都有其自己特定的“注意力”和“全連接”權(quán)重模式。這里是針對(duì)“hello, bye”輸入的第一個(gè)attention head的注意力權(quán)重的序列(對(duì)于GPT-2):

以下是(移動(dòng)平均后的)全連接層的“矩陣”:

有趣的是,即使在不同的注意力塊中,這些“權(quán)重矩陣”看起來(lái)非常相似,權(quán)重大小的分布也可能有所不同(并且并不總是高斯分布):

那么,經(jīng)過(guò)所有這些注意力塊后,Transformer的凈效應(yīng)是什么?本質(zhì)上,它將token序列的原始embedding集合轉(zhuǎn)換為最終集合。而ChatGPT的特定工作方式是選擇該集合中的最后一個(gè)embedding,并對(duì)其進(jìn)行“解碼”,以產(chǎn)生下一個(gè)token的概率列表。

因此,這就是ChatGPT內(nèi)部的概述。它可能看起來(lái)很復(fù)雜(其中許多選擇都是不可避免的、有些任意的“工程選擇”),但實(shí)際上,最終涉及的元素非常簡(jiǎn)單。因?yàn)樽罱K我們處理的只是由“人造神經(jīng)元”構(gòu)成的神經(jīng)網(wǎng)絡(luò),每個(gè)神經(jīng)元都執(zhí)行將一組數(shù)字輸入與某些權(quán)重組合的簡(jiǎn)單操作。

ChatGPT的原始輸入是數(shù)字?jǐn)?shù)組(到目前為止token的embedding向量),當(dāng)ChatGPT“運(yùn)行”以生成新的token時(shí),這些數(shù)字只是通過(guò)神經(jīng)網(wǎng)絡(luò)的層“傳播”,每個(gè)神經(jīng)元“做自己的事情”并將結(jié)果傳遞給下一層的神經(jīng)元。沒有循環(huán)或“回溯”。所有東西都只是通過(guò)網(wǎng)絡(luò)“前饋”。

這與典型的計(jì)算系統(tǒng)(如圖靈機(jī))完全不同,后者通過(guò)相同的計(jì)算元素重復(fù)“重新處理”結(jié)果。在這里——至少在生成給定輸出token方面——每個(gè)計(jì)算元素(即神經(jīng)元)只使用一次。

但在ChatGPT中仍然存在某種意義上的“外部循環(huán)”,即使是在計(jì)算元素中也會(huì)重復(fù)使用。因?yàn)楫?dāng)ChatGPT要生成新token時(shí),它總是“讀取”(即將其作為輸入)在它之前出現(xiàn)的整個(gè)token序列,包括ChatGPT自己先前“編寫”的token。我們可以將這個(gè)設(shè)置視為意味著ChatGPT在其最外層至少涉及一個(gè)“反饋循環(huán)”,盡管每次迭代都明確可見為在其生成的文本中出現(xiàn)的token。

讓我們回到ChatGPT的核心:用于生成每個(gè)token的神經(jīng)網(wǎng)絡(luò)。從某個(gè)層面上說(shuō),它非常簡(jiǎn)單:一個(gè)由相同人工神經(jīng)元構(gòu)成的集合。網(wǎng)絡(luò)的一些部分僅由(“完全連接”)神經(jīng)元層組成,在該層上的每個(gè)神經(jīng)元都連接到前一層上的每個(gè)神經(jīng)元(具有某些權(quán)重)。但特別是在其Transformer架構(gòu)中,ChatGPT具有更多結(jié)構(gòu)化的部分,其中僅特定層上的特定神經(jīng)元相連。(當(dāng)然,人們?nèi)匀豢梢哉f(shuō)“所有神經(jīng)元都連接”-但有些神經(jīng)元的權(quán)重為零)。

此外,ChatGPT中的神經(jīng)網(wǎng)絡(luò)的一些方面并不是最自然的“同質(zhì)”層。例如,在一個(gè)注意力塊中,有一些地方會(huì)對(duì)傳入的數(shù)據(jù)進(jìn)行“多份拷貝”,然后每一份都經(jīng)過(guò)不同的“處理路徑”,可能涉及不同數(shù)量的層,直到后來(lái)才重新組合。雖然這可能是一種方便的表示方式,但至少在原則上,總是可以考慮“densely filling in”層,只是讓一些權(quán)重為零。

如果你看一下ChatGPT的最長(zhǎng)路徑,大約有400層(核心層)——在某些方面并不是一個(gè)龐大的數(shù)字。但是有數(shù)百萬(wàn)個(gè)神經(jīng)元,總共有1750億個(gè)連接,因此有1750億個(gè)權(quán)重。需要意識(shí)到的一件事是,每次ChatGPT生成一個(gè)新token時(shí),它都必須進(jìn)行涉及每個(gè)權(quán)重的計(jì)算。在實(shí)現(xiàn)上,這些計(jì)算可以被組織成高度并行的數(shù)組操作,可以方便地在GPU上完成。但是對(duì)于產(chǎn)生的每個(gè)token,仍然需要進(jìn)行1750億次計(jì)算(最后還要多一點(diǎn))——所以,是的,用ChatGPT生成一長(zhǎng)段文本需要一段時(shí)間也就不足為奇了。

但最終我們還需要值得注意的是,所有這些操作都能以某種方式共同完成如此“類似人類”的生成文本的工作。必須再次強(qiáng)調(diào)的是,(至少就我們所知)沒有“終極理論原因”可以解釋為什么像這樣的任何東西應(yīng)該起作用。實(shí)際上,正如我們將要討論的那樣,我認(rèn)為我們必須將其視為一項(xiàng)-潛在令人驚訝的-科學(xué)發(fā)現(xiàn):在像ChatGPT這樣的神經(jīng)網(wǎng)絡(luò)中,有可能捕捉到人類大腦在生成語(yǔ)言方面所能夠做到的本質(zhì)。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
終于有人把ChatGPT的原理說(shuō)清楚了
【ChatGPT】GPT實(shí)現(xiàn)原理大解析——看完就知道什么叫顛覆
Stephen Wolfram:嵌入的概念
BERT詳解,論文筆記
AI大模型領(lǐng)域的熱門技術(shù)——Embedding入門介紹以及為什么Embedding在大語(yǔ)言模型中很重要
驅(qū)動(dòng)ChatGPT的核心技術(shù)
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服