国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

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

開通VIP
【ChatGPT】GPT實(shí)現(xiàn)原理大解析——看完就知道什么叫顛覆

文章目錄

  • 前言
  • 一、ChatGPT是什么?
  • 二、那么,如何計(jì)算下一個(gè)單詞的概率?
  • 三, 什么是模型?
  • 四,如何制作能完成人類任務(wù)的模型
  • 五,神經(jīng)網(wǎng)絡(luò)
  • 總結(jié)

前言

ChatGPT 能夠自動(dòng)生成類似于人類寫作的文本,這一點(diǎn)非常引人注目,也令人意外。但它是如何實(shí)現(xiàn)的?為什么它能夠如此出色地生成我們認(rèn)為有意義的文本?我的目的是在這里概述ChatGPT內(nèi)部的運(yùn)行情況,并探討它能夠如此出色地產(chǎn)生有意義文本的原因。

首先需要解釋的是,ChatGPT的基本目標(biāo)是嘗試產(chǎn)生一個(gè)“合理的延續(xù)”,無論它當(dāng)前所擁有的文本是什么。這里的“合理”是指“在瀏覽了數(shù)十億網(wǎng)頁等人類書寫的內(nèi)容后,人們可能會(huì)寫什么”。

那么假設(shè)我們有文本“AI的牛逼之處在于它能夠…”,我們可以想象一下掃描數(shù)十億頁人類寫作的文本(比如在網(wǎng)上和數(shù)字化的書籍中),找到所有這個(gè)文本的實(shí)例,然后看下一個(gè)單詞出現(xiàn)的頻率是多少。ChatGPT實(shí)際上是在類似地尋找在某種意義上“匹配”的內(nèi)容,以生成一個(gè)排名列表,列出可能的后續(xù)單詞和相應(yīng)的“概率”。


提示:以下是本篇文章正文內(nèi)容,下面案例可供參考

一、ChatGPT是什么?

ChatGPT寫作時(shí)的一個(gè)顯著特點(diǎn)是,它實(shí)際上只是一遍又一遍地問自己:“在當(dāng)前文本的情況下,下一個(gè)詞應(yīng)該是什么?”然后每次添加一個(gè)單詞。更準(zhǔn)確地說,它添加的是一個(gè)“標(biāo)記”,可能只是一個(gè)單詞的一部分,這就是它有時(shí)可以“創(chuàng)造新詞”的原因。

好的,在每一步中,ChatGPT都會(huì)得到一個(gè)帶有概率的單詞列表。但是它應(yīng)該選擇哪個(gè)單詞來添加到正在撰寫的文章(或其他文本)中呢?也許人們認(rèn)為應(yīng)該選擇“排名最高”的單詞(即被分配最高“概率”的單詞)。但是這就是玄學(xué)開始的地方。因?yàn)槟撤N原因(也許有一天我們會(huì)對(duì)此有科學(xué)式的理解),如果我們總是選擇排名最高的單詞,我們通常會(huì)得到一個(gè)非?!捌降钡奈恼?,似乎從未“展現(xiàn)出任何創(chuàng)意”(有時(shí)甚至是逐字重復(fù))。但是,如果有時(shí)(隨機(jī)地)選擇排名較低的單詞,我們就會(huì)得到一個(gè)“更有趣”的文章。

這里有隨機(jī)性,這意味著如果我們多次使用相同的問題提問,每次都可能得到不同的回答。同時(shí),存在一個(gè)特定的所謂“temperature”參數(shù),它決定了低排名單詞被使用的頻率。對(duì)于文章生成來說,實(shí)踐中發(fā)現(xiàn)使用“temperature”為0.8最佳。(需要強(qiáng)調(diào)的是,這里沒有運(yùn)用任何“理論”;這只是經(jīng)驗(yàn)上被發(fā)現(xiàn)的有效方法。)

在繼續(xù)之前,我需要說明的是,出于闡述的目的,我通常不會(huì)使用ChatGPT中的完整系統(tǒng),而是使用更簡單的GPT-2系統(tǒng)。該系統(tǒng)有一個(gè)很好的特點(diǎn),即其大小足夠小,可以在標(biāo)準(zhǔn)臺(tái)式計(jì)算機(jī)上運(yùn)行。

例如,以下是獲取上述概率表格的步驟。首先,我們需要檢索底層的“語言模型”神經(jīng)網(wǎng)絡(luò):


稍后,我們將會(huì)深入探討這個(gè)神經(jīng)網(wǎng)絡(luò),并講解它是如何工作的。但現(xiàn)在,我們可以把這個(gè)“網(wǎng)絡(luò)模型”視為黑匣子,應(yīng)用到我們目前的文本中,并請(qǐng)求該模型認(rèn)為應(yīng)該跟隨的前五個(gè)概率最高的單詞:
這個(gè)步驟將結(jié)果轉(zhuǎn)換為一個(gè)格式明確的“數(shù)據(jù)集”:

如果反復(fù)“應(yīng)用模型”,每一步都添加具有最高概率的單詞(在此代碼中指定為模型的“決策”),則會(huì)發(fā)生以下情況:

每次執(zhí)行時(shí),會(huì)做出不同的隨機(jī)選擇,因此文本也會(huì)不同。以下是5個(gè)示例:

二、那么,如何計(jì)算下一個(gè)單詞的概率?

好的,ChatGPT總是根據(jù)概率選擇下一個(gè)單詞。但是這些概率從哪里來呢?讓我們從一個(gè)更簡單的問題開始,考慮逐個(gè)字母(而不是單詞)生成英語文本。如何確定每個(gè)字母的概率呢?

我們可以采取的最簡單的方法就是從英文文本中隨機(jī)取樣,并計(jì)算不同字母的出現(xiàn)頻率。例如,以下是在“貓”(Cat)維基百科文章中計(jì)算字母出現(xiàn)次數(shù)的結(jié)果:

—這是我們只是根據(jù)這些概率生成字母序列時(shí)得到的樣本:

圖片
我們可以通過將空格模擬為字母添加進(jìn)可選項(xiàng)中,從而將這些序列分為多個(gè)“單詞”組成的序列:

圖片

我們可以通過讓“單詞長度”的分布與英語中的分布一致來更好地模擬“單詞”的生成過程:

圖片

這里我們沒有得到任何“實(shí)際單詞”,但結(jié)果看起來稍微好了一點(diǎn)。但是,要進(jìn)一步往下,我們需要做的不僅僅是隨機(jī)選擇每個(gè)字母。

例如,我們知道如果有一個(gè)“q”,下一個(gè)字母基本上必須是“u”。


面這張圖展示了英語文本中一對(duì)字母(“2-grams”)的概率

分布。圖表的橫軸為可能的第一個(gè)字母,縱軸為可能的第二個(gè)字母:
我們可以看到,例如,“q”列除了“u”行之外為空(概率為零)。好的,現(xiàn)在,我們不再一個(gè)字母一個(gè)字母地生成我們的“單詞”,而是使用這些“2-gram”概率,一次生成兩個(gè)字母來生成它們。以下是結(jié)果的一個(gè)樣本 - 其中恰好包括一些真實(shí)存在的單詞:

通過足夠多的英文文本,我們不僅可以對(duì)單個(gè)字母或字母對(duì)(2-grams)的概率進(jìn)行相當(dāng)準(zhǔn)確的估計(jì),還可以對(duì)更長的字母序列進(jìn)行估計(jì)。如果我們使用逐漸更長的n-gram概率生成“隨機(jī)單詞”,我們會(huì)發(fā)現(xiàn)它們逐漸變得“更真實(shí)”。

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

三, 什么是模型?

假設(shè)你想知道(就像加利略在16世紀(jì)晚期那樣)從比薩斜塔的每層落下的炮彈需要多長時(shí)間才能落到地面。那么,你可以在每種情況下進(jìn)行測(cè)量并制作結(jié)果表?;蛘吣憧梢宰隼碚摽茖W(xué)的本質(zhì):建立一個(gè)模型,給出一些計(jì)算答案的過程,而不是僅僅測(cè)量和記憶每種情況。

讓我們想象我們有(有些理想化的)數(shù)據(jù),了解炮彈從不同樓層掉落需要多長時(shí)間:


我們?nèi)绾斡?jì)算出從我們沒有明確數(shù)據(jù)的樓層掉落所需的時(shí)間?在這種特定情況下,我們可以使用已知的物理定律來計(jì)算。但是假設(shè)我們只有數(shù)據(jù),而不知道其背后的規(guī)律是什么。那么我們可以做出一個(gè)數(shù)學(xué)猜測(cè),例如,也許我們應(yīng)該使用一條直線作為模型:


我們可以選擇不同的直線,但這條直線平均來看最接近我們所給的數(shù)據(jù)。從這條直線中,我們可以估計(jì)任何一層的落地時(shí)間。

我們?nèi)绾沃涝谶@里嘗試使用一條直線呢?在某種程度上,我們并不確定。這只是數(shù)學(xué)上的一些簡單東西,而且我們已經(jīng)習(xí)慣了我們所測(cè)量的很多數(shù)據(jù)能夠被數(shù)學(xué)上的簡單事物很好地?cái)M合。當(dāng)然,我們也可以嘗試使用數(shù)學(xué)上更復(fù)雜的東西,例如a + bx + cx^2,在這種情況下,我們可以得到更好的擬合效果:



永遠(yuǎn)不存在“model-less model”。您使用的任何模型都具有某些特定的基本結(jié)構(gòu),然后有一定數(shù)量的“旋鈕可供調(diào)節(jié)”(即可以設(shè)置的參數(shù))來擬合您的數(shù)據(jù)。在ChatGPT的情況下,使用了許多這樣的“旋鈕”——實(shí)際上有1750億個(gè)。

值得注意的是,相比于3-grams的60萬億的組合可能性,ChatGPT 的這1750億個(gè)參數(shù),卻已足夠生成讓我們驚訝的文本。

四,如何制作能完成人類任務(wù)的模型

我們上面給出的例子涉及到制作數(shù)值數(shù)據(jù)模型,這些數(shù)據(jù)基本上來自于簡單的物理,是幾個(gè)世紀(jì)以來我們已經(jīng)知道的“簡單數(shù)學(xué)”。但是對(duì)于ChatGPT,我們必須制作一種人類大腦產(chǎn)生的語言文本模型。對(duì)于這樣的任務(wù),我們還沒有類似于“簡單的數(shù)學(xué)”工具。那么,這個(gè)模型可能是什么樣子的呢?

在討論語言之前,我們先來談?wù)劻硪粋€(gè)類似于人類任務(wù):圖像識(shí)別。作為一個(gè)簡單的例子,我們考慮數(shù)字圖像識(shí)別(這是一個(gè)經(jīng)典的機(jī)器學(xué)習(xí)例子)。

首先,我們給每個(gè)數(shù)字收集一堆樣本圖像:

然后,為了找出我們輸入的圖像是否對(duì)應(yīng)于特定的數(shù)字,我們可以使用樣本圖像進(jìn)行像素逐個(gè)比較。但是作為人類,我們顯然比像素逐個(gè)比較樣本更擅長數(shù)字識(shí)別,因?yàn)榧词箶?shù)字是手寫的,或者存在各種修改和扭曲,我們?nèi)阅軌蜃R(shí)別它們。

但是這里真正發(fā)生了什么?假設(shè)我們逐漸模糊一個(gè)數(shù)字。一段時(shí)間內(nèi),我們的函數(shù)仍然可以“識(shí)別”它,例如這里被識(shí)別為“2”。但很快它就“失去了”,開始給出“錯(cuò)誤”的結(jié)果:

但是,究竟發(fā)生了什么呢?假設(shè)我們逐漸模糊一個(gè)數(shù)字。在一段時(shí)間內(nèi),我們的函數(shù)仍然可以“識(shí)別”它,比如說是“2”。但很快,它就會(huì)“失效”,并開始給出“錯(cuò)誤”的結(jié)果。

但是,我們?yōu)槭裁凑J(rèn)為這是“錯(cuò)誤”的結(jié)果呢?在這種情況下,我們知道我們通過模糊“2”來得到所有這些圖像。但如果我們的目標(biāo)是生成一個(gè)能夠模擬人類識(shí)別圖像能力的模型,那么真正需要問的問題是:如果向人類展示這些模糊的圖像,而他們并不知道這些圖像是如何產(chǎn)生的,那么人類會(huì)如何做出判斷?

如果我們的函數(shù)得到的結(jié)果通常與人類的結(jié)果一致,那么我們就擁有了一個(gè)“好的模型”。而這個(gè)非常重要的科學(xué)事實(shí)是,對(duì)于像這樣的圖像識(shí)別任務(wù),我們現(xiàn)在基本上知道如何構(gòu)造這樣的函數(shù)。

我們能否“數(shù)學(xué)證明”它們的有效性?嗯,不行。因?yàn)橐龅竭@一點(diǎn),我們必須擁有一個(gè)關(guān)于人類視覺感知的數(shù)學(xué)理論。我們拿“2”圖像并改變幾個(gè)像素。我們可能想象,即使只有幾個(gè)像素“錯(cuò)位”,我們?nèi)匀粦?yīng)該認(rèn)為這是一個(gè)“2”。但這該怎樣才算合理呢?這是一個(gè)關(guān)于人類視覺感知的問題。是的,對(duì)于蜜蜂或章魚,答案無疑會(huì)有所不同。

五,神經(jīng)網(wǎng)絡(luò)

那么,像圖像識(shí)別這樣的任務(wù),我們的典型模型實(shí)際上是如何工作的呢?最流行且最成功的當(dāng)前方法使用神經(jīng)網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)的發(fā)明可以看作是大腦如何工作的簡單理想化,而它們的形式與現(xiàn)在的使用方式非常接近。

人腦中大約有1000億個(gè)神經(jīng)元(神經(jīng)細(xì)胞),每個(gè)神經(jīng)元都能夠每秒產(chǎn)生一千次的電脈沖。這些神經(jīng)元以復(fù)雜的網(wǎng)絡(luò)連接在一起,每個(gè)神經(jīng)元都有樹狀的分支,使其能夠向成千上萬個(gè)其他神經(jīng)元傳遞電信號(hào)。在粗略的近似中,任何給定神經(jīng)元是否在某一時(shí)刻產(chǎn)生電脈沖取決于它從其他神經(jīng)元接收到的脈沖,不同的連接會(huì)以不同的“權(quán)重”進(jìn)行貢獻(xiàn)。

當(dāng)我們“看到圖像”時(shí),光子從圖像中落在我們眼睛后面的(“光感受器”)細(xì)胞上,這些細(xì)胞會(huì)在神經(jīng)細(xì)胞中產(chǎn)生電信號(hào)。這些神經(jīng)細(xì)胞與其他神經(jīng)細(xì)胞相連接,最終信號(hào)經(jīng)過一系列神經(jīng)元層次的傳遞。在這個(gè)過程中,我們“識(shí)別”圖像,最終“形成思想”,認(rèn)為我們“看到了一個(gè)2”(或許最終會(huì)像大聲說“two”這樣的動(dòng)作)。

前一節(jié)中的“黑匣子”函數(shù)是這種神經(jīng)網(wǎng)絡(luò)的“數(shù)學(xué)化”版本。它恰好有11個(gè)層次(雖然只有4個(gè)“核心層”):


這個(gè)神經(jīng)網(wǎng)絡(luò)并沒有什么特別“理論推導(dǎo)”的地方;它只是在1998年作為一項(xiàng)工程構(gòu)建而成,并被發(fā)現(xiàn)可以工作。(當(dāng)然,這與我們可能會(huì)描述我們的大腦是通過生物進(jìn)化的過程產(chǎn)生的并沒有太大的不同。)

好的,但是這樣的神經(jīng)網(wǎng)絡(luò)如何“識(shí)別事物”呢?關(guān)鍵是"吸引子"的概念。想象一下我們有手寫的1和2的圖像:

我們希望所有的1“被吸引到一個(gè)地方”,所有的2“被吸引到另一個(gè)地方”。換句話說,如果一幅圖像在某種程度上“更接近1”而不是2,我們希望它最終進(jìn)入“1的位置”,反之亦然。

一個(gè)直觀的類比,假設(shè)我們有平面上的某些位置,用點(diǎn)表示(在現(xiàn)實(shí)中,它們可能是咖啡店的位置)。然后我們可以想象,從平面上的任何一個(gè)點(diǎn)開始,我們總是想到達(dá)最近的點(diǎn)(也就是去最近的咖啡店)。我們可以通過將平面劃分為由理想化的分隔區(qū)域來表示這一點(diǎn):


所以我們可以將這看作是實(shí)現(xiàn)了一種“識(shí)別任務(wù)”,我們不是像識(shí)別給定圖像最像哪個(gè)數(shù)字那樣做某些事情,而是直接看哪個(gè)點(diǎn)最接近。

那么如何使神經(jīng)網(wǎng)絡(luò)“執(zhí)行識(shí)別任務(wù)”呢?讓我們考慮這個(gè)非常簡單的情況:

總結(jié)

ChatGPT的基本概念在某種程度上相當(dāng)簡單。從網(wǎng)絡(luò)、書籍等來源中獲取大量人類創(chuàng)造的文本樣本,然后訓(xùn)練神經(jīng)網(wǎng)絡(luò)生成“類似”的文本。特別地,使它能夠從“提示”開始,然后繼續(xù)生成“與它所受過的訓(xùn)練相似”的文本。

正如我們所見,ChatGPT中的實(shí)際神經(jīng)網(wǎng)絡(luò)由非常簡單的元素組成。神經(jīng)網(wǎng)絡(luò)的基本操作也非常簡單,本質(zhì)上是對(duì)每個(gè)新單詞(或單詞的一部分)生成文本時(shí),對(duì)其已生成的文本產(chǎn)生的輸入“通過其元素”(沒有任何循環(huán)等)進(jìn)行一次傳遞。

但是,這個(gè)過程的卓越而意想不到的一點(diǎn)是,它可以產(chǎn)生成功“類似”網(wǎng)絡(luò)、書籍等中存在的文本。它不僅是連貫的人類語言,而且“說出”了“遵循提示”的事情,利用它所“讀取”的內(nèi)容。它并不總是說出“全局上有意義”的話(或與正確的計(jì)算相符),它只是根據(jù)它訓(xùn)練材料中的內(nèi)容“聽起來對(duì)”的話。

ChatGPT的具體工程設(shè)計(jì)使其相當(dāng)令人信服。但是,至少在它可以使用外部工具之前,它“僅僅”是從其積累的“傳統(tǒng)智慧的統(tǒng)計(jì)數(shù)據(jù)”中提取出一些“連貫的文本線索”。但是,其結(jié)果與人類產(chǎn)生的非常相似,這很令人驚奇。正如我所討論的,這表明某些東西至少在科學(xué)上非常重要:人類語言(及其背后的思維模式)在其結(jié)構(gòu)上比我們想象的更簡單、更“法則化”。ChatGPT已經(jīng)隱式地發(fā)現(xiàn)了這一點(diǎn)。但我們可以通過語義語法、計(jì)算語言等,可能會(huì)明確地暴露它。

ChatGPT在生成文本方面所做的工作非常令人印象深刻,其結(jié)果通常與我們?nèi)祟惍a(chǎn)生的非常相似。那么,這是否意味著ChatGPT像大腦一樣工作?其基本的人工神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)最終是以大腦的理想化模型為基礎(chǔ)建模的。而且很可能當(dāng)我們?nèi)祟惿烧Z言時(shí),許多方面的情況非常相似。

但是,值得注意的是,盡管 ChatGPT 在生成文本方面表現(xiàn)出人類的能力,但其實(shí)現(xiàn)方式與大腦有所不同。與人類的大腦和當(dāng)前計(jì)算機(jī)的“硬件”有所不同,ChatGPT 不得不采用一種可能非常不同(在某些方面更少效率)的策略進(jìn)行訓(xùn)練(也就是學(xué)習(xí))。此外,還有一點(diǎn):與典型算法計(jì)算中的情況不同,ChatGPT 沒有內(nèi)部的“循環(huán)”或“重新計(jì)算數(shù)據(jù)”。這必然限制了它的計(jì)算能力,甚至對(duì)于當(dāng)前的計(jì)算機(jī)也是如此,但對(duì)于大腦來說,更是如此。

但就目前而言,看到 ChatGPT 已經(jīng)能夠做到的事情令人興奮。從某種程度上說,它是基本科學(xué)事實(shí)的一個(gè)很好的例子,即大量的簡單計(jì)算元素可以做出引人注目和出乎意料的事情。但它也提供了我們?cè)趦汕昀镒詈玫耐苿?dòng)力,去更好地理解人類語言以及其背后的思維過程的基本特征和原則。

總之,ChatGPT 是一種極其強(qiáng)大的自然語言生成系統(tǒng),它的訓(xùn)練過程基于大量的人類語言文本樣本,并采用了深度學(xué)習(xí)技術(shù)。盡管其基本結(jié)構(gòu)與人類大腦的工作方式有所不同,但它已經(jīng)展示了大量簡單計(jì)算元素的組合可以產(chǎn)生出令人驚訝的結(jié)果。這為我們深入理解人類語言和思維模式的本質(zhì)提供了有力的推動(dòng)。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
終于有人把ChatGPT的原理說清楚了
從零解構(gòu)神經(jīng)網(wǎng)絡(luò)和ChatGPT,為什么它有效? : 大神Wolfram 3萬字科技雄文
ChatGPT為啥這么強(qiáng):萬字長文詳解 by WolframAlpha之父
GPT:Chat的計(jì)算合成與人機(jī)協(xié)同創(chuàng)新
Stephen Wolfram:概率從何而來?
Nat. Bio. Eng. | 社論:情境學(xué)習(xí)幾乎能滿足你所有需求
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服