淺析:ChatGPT應(yīng)用的底層原理
ChatGPT 無(wú)疑是最近網(wǎng)絡(luò)中最靚的仔,小汪哥通過(guò)這段時(shí)間的使用,加上對(duì)一些資料的查閱,了解了一些背后的原理,試圖講解一下ChatGPT應(yīng)用的底層原理。如果有不正確的地方,歡迎指正。
閱讀本文可能為會(huì)你解答以下問(wèn)題:
為什么有的ChatGPT 收費(fèi),有的不收費(fèi)?
為什么ChatGPT是一個(gè)字一個(gè)字地回答的?
為什么中文問(wèn)題的答案有時(shí)候讓人啼笑皆非?
為什么你問(wèn)它今天是幾號(hào),它的回答是過(guò)去的某個(gè)時(shí)間?
為什么有的問(wèn)題會(huì)拒絕回答?
“ChatGPT 國(guó)內(nèi)版” 運(yùn)行原理
隨著ChatGPT的爆火,出現(xiàn)了很多國(guó)內(nèi)版,這種版本免費(fèi)是使用次數(shù)和后續(xù)收費(fèi)方式都是不同的。小汪哥畫(huà)了一個(gè)草圖,試著來(lái)幫忙理解。
【對(duì)于方式一】:就是注冊(cè)了賬號(hào)之后,科學(xué)上網(wǎng)就可以使用,目前沒(méi)有次數(shù)限制。注冊(cè)成本可以參考我之前的文章。
【對(duì)于方式二】:據(jù)了解不需要科學(xué)上網(wǎng),使用成本是購(gòu)買(mǎi)“國(guó)內(nèi)版ChatGPT”運(yùn)營(yíng)商的服務(wù),所以使用成本也不一樣。
ChatGPT,它在內(nèi)部是如何工作的?
首先,OpenAI 于 2022 年 11 月 30 日推出了一款新的對(duì)話(huà)助手。該聊天機(jī)器人基于語(yǔ)言模型(大型語(yǔ)言模型的 LLM)GPT-3,或者更準(zhǔn)確地說(shuō),基于其版本 3.5。ChatGPT 實(shí)際上是 InstructGPT 的改編版,后者于 2022 年 1 月推出,但當(dāng)時(shí)并沒(méi)有給人留下同樣的印象。
ChatGPT 和前輩相比,厲害在哪里?
歸功于它能夠自動(dòng)生成類(lèi)似于人類(lèi)的文本的能力,以及它能夠在考慮對(duì)話(huà)上下文的同時(shí)避免其前輩的缺點(diǎn)的能力,例如來(lái)自 Microsoft 的 Tay 或來(lái)自 Meta 的 Galactica。Tay 在 24 小時(shí)內(nèi)變得種族主義和仇外心理??ɡ壹诱谥圃旌f(shuō)八道和錯(cuò)誤信息,并且可以以非常有說(shuō)服力的方式就種族主義發(fā)表意見(jiàn)。Tay 在 24 小時(shí)內(nèi)被關(guān)閉,Galactica在三天后進(jìn)行了關(guān)閉。OpenAI 似乎從微軟和 Meta 的錯(cuò)誤中吸取了教訓(xùn)。在很短的時(shí)間內(nèi),將系統(tǒng)推向了前所未有的水平。
什么是GPT-3?
GPT(Generative Pre-trained Transformer)系列模型是由基于Transformer技術(shù)的語(yǔ)言模型組成。它由位于舊金山的公司 OpenAI 開(kāi)發(fā)。OpenAI 于 2015 年 12 月由 Elon Musk(就是特斯拉電動(dòng)車(chē)的老板)和美國(guó)商人 Sam Altman 創(chuàng)立,Sam Altman 是孵化器 Y Combinator(Scribd、Reddit、Airbnb、Dropbox、GitLab、Women Who Code 等)的前任總裁。),并自 2020 年起擔(dān)任 OpenAI 董事會(huì)主席。
2020 年,GPT-3 是有史以來(lái)最大的語(yǔ)言模型,擁有 1750 億個(gè)參數(shù)。它太大了,需要 800 GB 的內(nèi)存來(lái)訓(xùn)練它。
LLM 通常是從大量不同語(yǔ)言和領(lǐng)域的示例文本生成的。GPT-3 已經(jīng)接受了來(lái)自 Common Crawl、WebText2、Books1/2 和 Wikipedia 的數(shù)千億個(gè)英語(yǔ)單詞的訓(xùn)練(小汪哥認(rèn)為這也是為什么我們用中文提問(wèn),它有時(shí)候的回答讓我們啼笑皆非的原因)。它還接受了使用 CSS、JSX、Python 等編碼的程序示例的訓(xùn)練。它接受 2048 個(gè)標(biāo)記作為輸入,這使其能夠處理大約 1,500 個(gè)單詞的非常大的句子(OpenAI 認(rèn)為標(biāo)記是單詞的一部分大約四個(gè)字符,并以 1,000 個(gè)標(biāo)記代表大約 750 個(gè)單詞為例)。
GPT-3 被歸類(lèi)為生成模型,這意味著它主要接受訓(xùn)練以預(yù)測(cè)輸入句子末尾的下一個(gè)標(biāo)記,即下一個(gè)單詞(這也是為什么它是一個(gè)字一個(gè)字的出現(xiàn)在屏幕上的)?,F(xiàn)在在搜索引擎或 Outlook 中發(fā)現(xiàn)的一種自動(dòng)完成機(jī)制。
GPT-3 因其生成極其接近記者或作者能力的文本的能力而被多次引用。只需給它一個(gè)句子的開(kāi)頭,它就會(huì)逐字完成段落或文章的其余部分。通過(guò)擴(kuò)展,該模型已經(jīng)證明它能夠處理大量的語(yǔ)言處理任務(wù),例如翻譯、回答問(wèn)題和填充文本中缺失的單詞。
GPT-3.5 是 GPT-3 模型的變體。在 2021 年第四季度之前,它已經(jīng)使用選定的文本和代碼的混合物進(jìn)行了訓(xùn)練。這解釋了為什么 ChatGPT 無(wú)法在該日期之后喚起事實(shí)。(就這解釋了為什么你問(wèn)它今天是幾號(hào),它的回答是過(guò)去的某個(gè)時(shí)間)。
我們是有的問(wèn)題會(huì)拒絕回答?
如果我們問(wèn)一些不道德的問(wèn)題,它會(huì)拒絕回答:如下:
它會(huì)禮貌地拒絕回答。與 Tay 和 Galactica 不同,ChatGPT 的訓(xùn)練是在源頭使用審核 API 進(jìn)行審核的,這允許在訓(xùn)練期間推遲不適當(dāng)?shù)恼?qǐng)求。盡管如此,誤報(bào)和漏報(bào)仍然會(huì)發(fā)生并導(dǎo)致過(guò)度節(jié)制。審核 API 是由 GPT 模型基于以下類(lèi)別執(zhí)行的分類(lèi)模型:暴力、自殘、仇恨、騷擾和性。為此,OpenAI 使用了匿名數(shù)據(jù)和合成數(shù)據(jù)(零樣本),尤其是在數(shù)據(jù)不足的情況下。
最后
ChatGPT 模擬真實(shí)對(duì)話(huà)的能力非凡。即使我們知道它是一臺(tái)機(jī)器,一種算法,我們也只能陷入向它提出許多問(wèn)題的游戲中,以至于機(jī)器因其超大的知識(shí)而顯得神圣。
但當(dāng)仔細(xì)觀(guān)察它時(shí),它仍然是一個(gè)句子生成器,沒(méi)有像人類(lèi)那樣的理解和自我批評(píng)。我更加好奇接下來(lái)會(huì)發(fā)生什么,以及他們將在這種類(lèi)型的架構(gòu)上取得多大的成功。
參考:
Model Index: https://beta.openai.com/docs/model-index-for-researchers
InstructGPT: https://openai.com/blog/instruction-following/
ChatGPT : https://openai.com/blog/chatgpt/
BLOOM: https://bigscience.huggingface.co/blog/bloom
Y Combinator: https://fr.wikipedia.org/wiki/Y_Combinator