帶你簡單了解Chatgpt背后的秘密:大語言模型所需要條件(數(shù)據(jù)算法算力)以及其當(dāng)前階段的缺點(diǎn)局限性
1.什么是語言模型?
大家或多或少都聽過 ChatGPT 是一個(gè) LLMs,那 LLMs 是什么?LLMs 全稱是 Large Language Models,中文是大語言模型。那么什么是語言模型?
語言模型簡單說來,就是對人類的語言建立數(shù)學(xué)模型,注意,這里的關(guān)鍵是數(shù)學(xué)模型,語言模型是一個(gè)由數(shù)學(xué)公式構(gòu)建的模型,并不是什么邏輯框架。這個(gè)認(rèn)知非常重要。最早提出語言模型的概念的是賈里尼克博士。他是世界著名的語音識別和自然語言處理的專家,他在 IBM 實(shí)驗(yàn)室工作期間,提出了基于統(tǒng)計(jì)的語音識別的框架,這個(gè)框架結(jié)構(gòu)對語音和語言處理有著深遠(yuǎn)的影響,它從根本上使得語音識別有實(shí)用的可能。在賈里尼克以前,科學(xué)家們把語音識別問題當(dāng)作人工智能問題和模式匹配問題。而賈里尼克把它當(dāng)成通信問題。
為何是通訊問題?為何轉(zhuǎn)換成通訊問題后,就能實(shí)現(xiàn)語音識別?根據(jù)香農(nóng)確定的現(xiàn)代通訊原理,所謂的通訊,也被稱為信道的編碼和解碼,信息源先產(chǎn)生原始信息,然后接收方還原一個(gè)和原始信息最接近的信息。比如,你打電話的時(shí)候,問對方一句「你吃了晚飯了嗎」,在傳輸前,通訊系統(tǒng)會對這句話進(jìn)行編碼,編成類似「100111101100000…」,但是傳輸過程中,一定會有信號損失,接收方收到的編碼可能是「1001111011000…」,此時(shí)我們就沒法解碼回原來的句子了。
- 那如何解決這個(gè)問題?
我們可以把與接收到的編碼「1001111011000…」類似的句子都羅列出來,可能的情況是:
- 吃了晚飯了嗎
- 你吃了飯了嗎
- 你吃了晚飯了嗎
- 你吃了晚飯了
然后通訊系統(tǒng)會計(jì)算出哪一種的可能性最大,最后把它選出來。只要噪音不大,并且傳輸信息有冗余,那我們就能復(fù)原出原來的信息。賈里尼克博士認(rèn)為讓計(jì)算機(jī)理解人類的語言,不是像教人那樣教它語法,而是最好能夠讓計(jì)算機(jī)計(jì)算出哪一種可能的語句概率最大。這種計(jì)算自然語言每個(gè)句子的概率的數(shù)學(xué)模型,就是語言模型。
2.如何計(jì)算概率?
-
第一階段:最簡單的方法,當(dāng)然就是用統(tǒng)計(jì)學(xué)的方法去計(jì)算了,簡單說來,就是靠輸入的上下文進(jìn)行統(tǒng)計(jì),計(jì)算出后續(xù)詞語的概率,比如「你吃了晚飯了嗎」,「你吃了」后面按照概率,名詞如「飯」或「晚飯」等概率更高,而不太可能是動詞,如「睡」「睡覺」。這是語言模型的第一階段,模型也被稱為是統(tǒng)計(jì)語言模型(Statistical Language Model,SLM),其基本思想是基于馬爾可夫假設(shè)建立詞語測模型,根據(jù)最近的上下文預(yù)測下一個(gè)詞。后續(xù)語言模型的發(fā)展又迭代了三個(gè)版本。
-
第二階段是神經(jīng)網(wǎng)絡(luò)語言模型(Neural Language Model,NLM),是一個(gè)用神經(jīng)網(wǎng)絡(luò)來訓(xùn)練模型,學(xué)習(xí)單詞之間的關(guān)聯(lián)性和概率關(guān)系。它能夠利用大量的數(shù)據(jù)進(jìn)行深度學(xué)習(xí),從而捕捉到詞匯之間更加復(fù)雜的關(guān)系。NLM 模型采用的是分層的結(jié)構(gòu),把輸入的文本數(shù)據(jù)空間投射到高維的語義空間中并進(jìn)行學(xué)習(xí)。通過不斷地更新神經(jīng)網(wǎng)絡(luò)模型參數(shù),NLM 的神經(jīng)網(wǎng)絡(luò)逐漸學(xué)會了文本數(shù)據(jù)的語義并能夠生成連貫自然、語義準(zhǔn)確的文本。
與前面提到的 SLM 相比,由于深度神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力更強(qiáng),NLM 在學(xué)習(xí)語言模型時(shí)具有更好的泛化能力和適應(yīng)性。比如能生成更長的文本等。但 NLM 相對來說也比較依賴更大的數(shù)據(jù)集,并且需要花很多人力在數(shù)據(jù)標(biāo)注上。
-
第三階段是預(yù)訓(xùn)練語言模型(Pre-trained Language Model,PLM),是一種使用大量文本數(shù)據(jù)來訓(xùn)練的自然語言處理模型。相對 NLM 來說,PLM 使用無監(jiān)督學(xué)習(xí)方法,因此不需要先標(biāo)注數(shù)據(jù)或注明文本類型等信息。各位可能聽過的 Transformer 架構(gòu)就是一種預(yù)訓(xùn)練語言模型。
-
第四階段是大預(yù)言模型(Large Language Model),你可以將現(xiàn)在的 LLM 理解為一個(gè)訓(xùn)練數(shù)據(jù)特別大的 PLM,比如 GPT-2 只有 1.5B 參數(shù),GPT-3 則到了驚人 175B,盡管 LLM 只是拓展了模型的大小,但這些大尺寸的預(yù)訓(xùn)練語言模型表現(xiàn)出了與較小的預(yù)訓(xùn)練語言模型不同的行為,并且在解決一些復(fù)雜任務(wù)上展現(xiàn)了驚人的能力(俗稱涌現(xiàn)能力,注意這個(gè)涌現(xiàn)能力目前還存在爭議),所以學(xué)術(shù)界為這些大型預(yù)訓(xùn)練語言模型命名為大語言模型 LLM。
上面這四個(gè)階段可能比較難理解,你可以簡單理解:
- 語言模型本質(zhì)上都是在計(jì)算自然語言每個(gè)句子的概率的數(shù)學(xué)模型。當(dāng)你輸入一個(gè)問題給 AI 時(shí),AI 就是用概率算出它的回答。
- 另外,當(dāng)今的語言模型,并不是一個(gè)問題對一個(gè)答案,實(shí)際上是一個(gè)問題,多個(gè)答案,然后根據(jù)答案的概率進(jìn)行排序,最后返回一個(gè)最可能的答案。
3. 開發(fā)大語言模型需要什么?
了解完大語言模型的原理之后,你可能會好奇 TA 是如何開發(fā)的。開發(fā)大語言模型的關(guān)鍵是什么。最近看到不少文章為了流量,甚至連 5G 通訊都說成了是開發(fā)大語言模型的關(guān)鍵,其實(shí)從前面的原理介紹,不難看出,大語言模型的其中一個(gè)關(guān)鍵點(diǎn)是數(shù)據(jù)。
關(guān)鍵一:數(shù)據(jù)
訓(xùn)練數(shù)據(jù)主要是所謂的語料庫。今天的很多語言模型的語料庫主要有以下幾種:
- Books:BookCorpus 是之前小語言模型如 GPT-2 常用的數(shù)據(jù)集,包括超過 11000 本電子書。主要包括小說和傳記,最近更新時(shí)間是 2015 年 12 月。大一點(diǎn)的書籍語料庫是 Gutenberg,它有 70000 本書,包括小說、散文、戲劇等作品,是目前最大的開源書籍語料庫之一,最近更新時(shí)間是 2021 年 12 月。
- CommonCrawl:這個(gè)是目前最大的開源網(wǎng)絡(luò)爬蟲數(shù)據(jù)庫,不過這個(gè)數(shù)據(jù)包含了大量臟數(shù)據(jù),所以目前常用的四個(gè)數(shù)據(jù)庫是 C4、CC-Stories、CC-News 和 RealNews。另外還有兩個(gè)基于 CommonCrawl 提取的新聞?wù)Z料庫 REALNEWS 和 CC-News。
- Reddit Links:簡單理解 Reddit 就是外國版本的百度貼吧 + 知乎。目前開源的數(shù)據(jù)庫有 OpenWebText 和 PushShift.io。
- Wikipedia:維基百科是目前大模型廣泛使用的語料庫。
- Code:一般包含 GitHub 上的開源公共代碼庫,或者是 StackOverflow 的數(shù)據(jù),Google 之前發(fā)布過一個(gè)叫 BigQuery 的數(shù)據(jù)集。
實(shí)際上,訓(xùn)練大語言模型會混合使用不同的數(shù)據(jù),一般不會只使用單一語料庫。比如 GPT-3 用的混合數(shù)據(jù)集就包括 Books、CommonCrowl、Reddit Links 和 Wikipedia。
從數(shù)據(jù)上看,你需要知道一個(gè)事實(shí),中文語料在這上面占比很小。ChatGPT 能用中文回答你的問題,只是因?yàn)樗恼Z料里有一些中英文對應(yīng)的語料,然后模型就像是「懂中文了一樣」,所以更可能的情況是,它先生成了英文內(nèi)容,再翻譯成中文。如果你去問 ChatGPT 3.5:請給我?guī)讉€(gè)中文諧音梗,你應(yīng)該就能理解我說的話了。
以下是 ChatGPT 的返回結(jié)果:
以下是一些中文諧音梗的例子:
我蒸發(fā)了,意思是我是 Vaper 了(Vaper發(fā)音接近蒸發(fā))。
會有星期天,都得過過來,意思是星期二,星期三,星期四,星期五,星期六,都得過過來。
看到你,我的內(nèi)心涼了 below zero,意思是涼了半截(below zero與半截音相近)。
蜀道難,難于上青天,賽道難,難于上488(488與“蜀道難”同音)。
洋蔥姑娘,想哭卻哭不出來,因?yàn)檠笫[讓我流淚了(洋蔥和“要哭”在中文中的發(fā)音很相似)。
雨紛紛,舊故里草木深,我聽聞,你始終在我身邊深(“身邊深”和“身邊尋”諧音)。
你的車開得真快,一開就是“出租”,意思是“出祖宗”(發(fā)音類似)。
關(guān)鍵二:算法
有了數(shù)據(jù)之后,你還需要有算法去做計(jì)算,目前最常用的開發(fā)大語言模型的算法庫有:
- Transformers:這是一個(gè)使用 Transformer 架構(gòu)構(gòu)建的開源 Python 庫。
- DeepSpeed:是由微軟開發(fā)的深度學(xué)習(xí)優(yōu)化庫。
- Megatron-LM:這是由 Nvidia 開發(fā)的深度學(xué)習(xí)庫。
- JAX:它是由 Google 開發(fā)的用于高新能機(jī)器學(xué)習(xí)算法的 Python 庫。
關(guān)鍵三:算力
簡單理解,算力就是計(jì)算資源,或者說硬件,OpenAI 沒有說它訓(xùn)練 GPT-3 語言模型花了多少計(jì)算資源。但 OpenAI 的 CEO 暗示硬件成本超過一億美元,如果我們按照 1000 美元一個(gè) GPU 計(jì)算,它大約使用了 10 萬個(gè) GPU,以 32 位運(yùn)算為準(zhǔn),它能提供超過 100 PFLOPS 的算力,也就是每秒 10 億億次運(yùn)算以上,這大約是阿里云最大的數(shù)據(jù)中心的四分之一的算力。
注意,這還是 GPT-3 時(shí)的花費(fèi)。
另外,我還想分享一個(gè)觀點(diǎn),不要以為算力會隨時(shí)間的前進(jìn),就能跨越。算力永遠(yuǎn)會是制約我們瓶頸,因?yàn)槲覀儗θ斯ぶ悄艿囊髸粩嗟奶岣摺?/p>
本文主要內(nèi)容來自論文 A Survey of Large Language Models。
4. 大語言模型有什么缺點(diǎn)?
了解完原理后,我覺得有必要跟大家聊聊大語言模型的缺點(diǎn),這樣大家才能知道 AI 的邊界在哪里,并在可控的邊界內(nèi)進(jìn)行創(chuàng)新。
缺點(diǎn)一:結(jié)果高度依賴訓(xùn)練語料
正如我前面提到的,當(dāng)今的語言模型,即使發(fā)展了四個(gè)版本,但依然沒有脫離「概率計(jì)算」,本質(zhì)上來說它們的核心原理就是「利用已有的信息來預(yù)測其他信息」。
那這就意味著,大語言模型其實(shí)并沒有意識,也不知道對錯,其生成的結(jié)果,高度依賴訓(xùn)練語料。
那會導(dǎo)致怎樣的后果?
- 如果語料的內(nèi)容是有偏的(比如帶有種族歧視、性別歧視的內(nèi)容),甚至是錯誤的,那大語言模型的生成的結(jié)果也會是錯誤的。
- 如果該領(lǐng)域語料很少,大語言模型生成的結(jié)果準(zhǔn)確率就很低。甚至有可能會出現(xiàn)幻覺(這個(gè)是第二個(gè)缺點(diǎn))。
當(dāng)然面對這個(gè)缺點(diǎn),有什么方法規(guī)避?
第一種方法就是在語料大、且錯誤率低的領(lǐng)域使用 LLMs。
比如語言學(xué)領(lǐng)域,像翻譯、或者文案生成這種場景。即使語法錯誤了,但語料里存在大量的相同用法,那某種程度上來說,模型給的答案也算是對的,有點(diǎn)類似古代的通假字,或者現(xiàn)代的很多流行語。
第二種就是用人工干預(yù)。
簡單說來就是人工將語料里的內(nèi)容剔除,或者對其進(jìn)行人類反饋強(qiáng)化學(xué)習(xí)。但人工干預(yù)并不意味著就沒有問題了,這種方法有可能導(dǎo)致新的問題出現(xiàn),比如將人的主觀好惡加入到模型中,或者有可能偽造一些信息,加入到模型中。
缺點(diǎn)二:Hallucinations
這個(gè)可以直譯成「幻覺」,簡單說來,就是會說胡話。有些問題因?yàn)檎Z聊很少,計(jì)算概率后,會吐出一些很奇怪的內(nèi)容,比如這個(gè)例子,我讓 AI 介紹一個(gè)世界上不存在的品牌 Boie 的智能牙刷:
Tell me about AeroGlide UltraSlim Smart Toothbrush by Boie
AI 的回答是,你可以看到 AI 就是在一本正經(jīng)地說胡話:
The AeroGlide UltraSlim Smart Toothbrush by Boie is a high-tech toothbrush that uses advanced sonic technology to provide a deep and thorough clean. It features a slim and sleek design that makes it easy to hold and maneuver, and it comes with a range of smart features that help you optimize your brushing routine.
One of the key features of the AeroGlide UltraSlim Smart Toothbrush is its advanced sonic technology, which uses high-frequency vibrations to break up plaque and bacteria on your teeth and gums. This technology is highly effective at removing even the toughest stains and buildup, leaving your teeth feeling clean and refreshed.
In addition to its sonic technology, the AeroGlide UltraSlim Smart Toothbrush also comes with a range of smart features that help you optimize your brushing routine. These include a built-in timer that ensures you brush for the recommended two minutes, as well as a pressure sensor that alerts you if you're brushing too hard.
Overall, the AeroGlide UltraSlim Smart Toothbrush by Boie is a highly advanced and effective toothbrush that is perfect for anyone looking to take their oral hygiene to the next level. With its advanced sonic technology and smart features, it provides a deep and thorough clean that leaves your teeth feeling fresh and healthy.
缺點(diǎn)三:暫時(shí)只能解決數(shù)學(xué)問題
我解釋下,這里提到的數(shù)學(xué)問題,并不僅僅指的是數(shù)學(xué)運(yùn)算這種數(shù)學(xué)問題,而是能通過數(shù)學(xué)解決的問題。比如我們可以研發(fā)無人駕駛汽車,當(dāng)它遇到行人突然橫穿馬路時(shí),能自己剎車停下來,這就是一個(gè)數(shù)學(xué)問題,它通過計(jì)算識別行人,并進(jìn)行剎車。
但如果這輛無人車在一個(gè)單行道的巷子里遇到一輛堵在巷子的汽車,它就沒有辦法了,只能報(bào)警,讓司機(jī)過來挪車,這就是一個(gè)數(shù)學(xué)無法解決的問題。
暫時(shí)來看目前大多數(shù)的 LLMs 都只能解決數(shù)學(xué)問題,有些不可計(jì)算的問題,暫時(shí)都沒法解決。特別像是需要自己實(shí)操進(jìn)行實(shí)驗(yàn)的問題。文章來源:http://www.zghlxwxcb.cn/news/detail-438766.html
當(dāng)然我這里也只是稱其為「暫時(shí)」,因?yàn)榭赡芪磥頇C(jī)器人 + LLMs 有可能會將可計(jì)算的范圍拓展寬一點(diǎn)。文章來源地址http://www.zghlxwxcb.cn/news/detail-438766.html
到了這里,關(guān)于帶你簡單了解Chatgpt背后的秘密:大語言模型所需要條件(數(shù)據(jù)算法算力)以及其當(dāng)前階段的缺點(diǎn)局限性的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!