2023成都積分入學什么時候開始申請
2023-01-31
更新時間:2022-12-11 10:05:52作者:智慧百科
最強對話式 AI,站在巨人的肩膀上。
來源:Web3天空之城(Web3SkyCity)
作者:城主
鏈接:
AIGC 在這幾個月成了一個大熱的話題。
頗有些風水輪流轉(zhuǎn)的感覺,如同年初大火特火的 web3 一樣, AIGC 是現(xiàn)在的當紅炸子雞, 創(chuàng)業(yè)投資討論里如果不帶點 AIGC 就是妥妥的落伍。
不久之前,備受關(guān)注的開源 AI 繪畫模型 Stable Diuffusion 推出了 2.0 版, 引起了更多關(guān)注和焦慮:「我連 1.0 的門道都還沒摸清楚,怎么就 2.0 了啊」
沒有跟上 AIGC 的步伐,仿佛就要被世界所拋棄。
有趣的是,作者前面看到一些 AIGC 文章,基本都是圍繞著最近大熱的 AI 繪畫來討論的。
當然了,生成式 AI 繪畫模型的突破是一件值得大書特書的事情,在作者上一篇文章《AI 繪畫何以突飛猛進? 從歷史到技術(shù)突破,一文讀懂火爆的 AI 繪畫發(fā)展史》里也已經(jīng)做了深入的探討。
但是,必須指出的是,當下在 AI 繪畫或者 AI 生成其他形式內(nèi)容的大模型里,對自然語言的理解是一個首要的關(guān)鍵環(huán)節(jié),而之所以 AI 繪畫能火爆出圈,有至少一半的功勞必須歸結(jié)于,當下最新的 AI 繪畫模型可以直接「理解」用戶的語言輸入,以及在模型內(nèi)部里把語言內(nèi)容理解和圖像內(nèi)容理解緊密結(jié)合起來。
生成式 AI 就像人工智能皇冠上的一顆明珠,不是唯一的一顆,但絕對璀璨耀眼。盡管 AI 在信息分析處理等各個方面都發(fā)揮著重要作用,但「生成式 AI」的出現(xiàn)無疑影響更深遠:生成即創(chuàng)造。生成式 AI 的突破,意味著 AI 開始走向了創(chuàng)造新內(nèi)容世界的大道。
羅馬不是一天建成的。就讓我們一起回顧和嘗試理解,這激動人心的一切究竟是怎么發(fā)生的。
01
ChatGPT 橫空出世
在回顧歷史前,首先要跟風提一下幾天前發(fā)布的 ChatGPT,一個絕對神仙級別的自然語言生成式 AI。
ChatGPT 誕生的重要意義恐怕不亞于 Stable Diffusion 等 AI 繪畫生成模型的出現(xiàn)。有興趣的朋友可以感受去 chat.openai.com 感受一下這個當今最熱沒有之一的自然語言問答式 AI 的巨大威力。
ChatGPT 是明星人工智能公司 OpenAI 的 GPT 自然語言生成式模型的最新衍生品。在這之前,坊間已經(jīng)傳聞 OpenAI 的下一代自然語言生成模型 GPT4 即將出現(xiàn)。而且,有一個讓人震驚的江湖傳言:GPT4 據(jù)稱通過了圖靈測試!
圖靈測試究竟是什么意思? 簡單的說,就是隔著一個小黑屋問各種話題,然后是否能分辨小黑屋里回答問題的究竟是機器還是人類。如果無法辨別,就就說明了機器具有和人一樣等級的智能,通過了圖靈測試。
迄今為止,還沒有 AI 模型能真正通過圖靈測試??磥砼R界點已經(jīng)到,筆者都迫不及待的期待 GPT4 的真正推出了。
誰知道,還沒等來 GPT-4,衍生自 GPT-3.5 的 ChatGPT 卻先來了。
顧名思義,ChatGPT 就是「聊天 GPT」,以對話的方式交互,用戶問問題,它來回答。
咋聽起來,似乎也沒有很新鮮。 但情況是,ChatGPT 的智能化遠遠超出了那些它的聊天 AI 前輩們。
好比 StableDiffusion/Midjourney 也就是 AI 繪畫,但所能生成的 AI 繪畫質(zhì)量甩了前輩無數(shù)條街。
網(wǎng)上有越來越多的文章開始安利 ChatGPT,不過多是拿了外網(wǎng)英文問答的截圖,其實 ChatGPT 可以直接上中文!另外,可以直接問 ChatGPT 怎么寫代碼,比如寫一個俄羅斯方塊。
而更有想象力的,是讓 ChatGPT 來生成 AI 繪畫的輸入關(guān)鍵詞!讓 AI 自己來指導(dǎo) AI 作畫,多美妙的主意。
這僅僅是一個開始,隨著 ChatGPT 在全網(wǎng)的各種自來水安利,相信還有更多古靈精怪的玩法不斷被網(wǎng)友們挖掘出來。
ChatGPT 的回答給人的感覺是,這是一個特別靠譜的聊天 AI,真正的上知天文下知地理,最關(guān)鍵的是,它不胡說八道!正因為它回答的準確性,看起來 ChatGPT 有了替代通用搜索引擎 Google 的可能性。
OpenAI 的 CEO 薩姆?阿爾特曼(Sam Altman)對 ChatGPT 的未來發(fā)展表示很有信心。他在推特上說,語言接口是未來的一個發(fā)展方向,OpenAI 只是一個先行者,相信很快大家就能用上真正智能的提供建議的 AI 助手了。
測試版的 ChatGPT 仍有一些缺點,但這都只是戰(zhàn)術(shù)級別的;在戰(zhàn)略上,ChatGPT 的前景已經(jīng)相當令人期待,特別是 OpenAI 下一代 GPT-4 加持下的 ChatGPT,其能力恐怕更加突破天際。
我們也許正在經(jīng)歷又一個 AI 突破的時刻,一如 2022 年初到年中 AI 繪畫的勢如破竹。 而這次,則是人類通用信息生成的突破!
喜歡刨根問底的讀者們會問,AI 是如何走到這一步的?
02
大算力,大數(shù)據(jù),
大力出奇跡
2006 年,杰弗里·辛頓(Geoffrey Hinton)在 science 期刊上發(fā)表了重要的論文《Reducing the dimensionality of data with neural networks》,提出深度信念網(wǎng)絡(luò)(Deep Belief Networks,DBNs),「深度學習」正式誕生,基于人工神經(jīng)網(wǎng)絡(luò)的第三次 AI 發(fā)展浪潮開始了,且一直延續(xù)至今。
和前兩次浪潮不同的是,當下計算機性能已經(jīng)能讓大規(guī)模的人工神經(jīng)網(wǎng)絡(luò)模擬得以成為現(xiàn)實。在 1957 年,羅森布拉特用 IBM 704 去仿真感知機,每秒完成 1.2 萬次浮點加法,而如今超級計算機速度是 IBM 704 的 10 萬億倍以上。
此外,個人計算機 GPU 近些年發(fā)展迅猛,盡管 GPU 的初衷是為了加速 3D 圖形計算,但通用 GPU 的計算模式正好匹配了神經(jīng)網(wǎng)絡(luò)并行計算的需求特點,從而進一步推動了神經(jīng)網(wǎng)絡(luò)模型的發(fā)展。
除了算力之外,限制前兩次 AI 浪潮發(fā)展的另一主要因素就是數(shù)據(jù)的缺乏。
在深度學習理論模型提出之后,最早之一意識到了 AI 學科發(fā)展的數(shù)據(jù)鉗制,并著手去解決的是華人 AI 科學家李飛飛。
年輕的李飛飛以堅韌不拔的大無畏精神,推動完成了一個超大規(guī)模的開源圖片標注數(shù)據(jù)庫,這就是著名的 Image Net 項目。在 2009 年正式發(fā)布時,Image Net 有超過 1000 萬數(shù)據(jù),兩萬多個類別。
2010 年開始,Image Net 大規(guī)模視覺識別挑戰(zhàn)賽(ILSVCR)開始舉辦,全世界圖像領(lǐng)域深度學習的專家們同臺競技和交流,從此拉開了計算機視覺的新篇章。
雖然本文主要是關(guān)注自然語言大模型的前世今生的,而 Image Net 完全是圖像領(lǐng)域的工作。 但是,Image Net 的出現(xiàn)和發(fā)展給了自然語言 AI 模型研究一個很重要的啟發(fā)。這就是圖像領(lǐng)域深度學習的預(yù)訓(xùn)練概念。
大家都知道,「深度學習」顧名思義,就是具有很多層級的神經(jīng)網(wǎng)絡(luò)模型?,F(xiàn)代神經(jīng)網(wǎng)絡(luò)模型的網(wǎng)絡(luò)結(jié)構(gòu)層數(shù)很深,動則幾百萬上千萬參數(shù)量。 而這些神經(jīng)網(wǎng)絡(luò)模型在能做特定任務(wù)之前,都是需要經(jīng)過「訓(xùn)練」,即根據(jù)標注好的特定訓(xùn)練數(shù)據(jù)去反復(fù)調(diào)整模型里的參數(shù),最后所有參數(shù)調(diào)整到位,模型能匹配訓(xùn)練數(shù)據(jù)集的輸入和輸出。
那么,問題來了,要調(diào)整深度學習神經(jīng)網(wǎng)絡(luò)模型里那成千萬的參數(shù)量,如果訓(xùn)練數(shù)據(jù)少了,肯定很難調(diào)整到位。這就好比一個內(nèi)部齒輪復(fù)雜精密的新機器,如果只稍微動一下,內(nèi)部能牽扯到的齒輪機構(gòu)說不定都很少,達不到磨合的目的;只有大規(guī)模長時間運轉(zhuǎn)起來,內(nèi)部的齒輪才能全速轉(zhuǎn)起來,互相磨合好。
但是,那些特定的 AI 任務(wù)往往沒有那么多訓(xùn)練數(shù)據(jù),這怎么辦?
非常值得慶幸的是,AI 科學家研究發(fā)現(xiàn)了深度學習網(wǎng)絡(luò)一個有趣的特性,對于圖像領(lǐng)域的深度學習神經(jīng)網(wǎng)絡(luò)而言,不同層級的神經(jīng)元學習到的是不同邏輯層級的圖像特征!
如上圖所示,若將訓(xùn)練好的網(wǎng)絡(luò)每層神經(jīng)元學習到的特征可視化,會發(fā)現(xiàn)最底層的神經(jīng)元學習到的是線段等特征,第二層學到的是人臉各個五官的特征,第三層學到的是人臉輪廓的特征,這三層構(gòu)成了人臉特征的邏輯層級結(jié)構(gòu)。神經(jīng)網(wǎng)絡(luò)越底層的特征越基礎(chǔ)抽象,比如什么邊角弧線等,而越往上層,就具體和任務(wù)相關(guān)。
一個訓(xùn)練好的深度學習網(wǎng)絡(luò)的內(nèi)部參數(shù),在底層體現(xiàn)了通用和基礎(chǔ)的特征,而越到高層,越和特定任務(wù)相關(guān)。這是深度學習神經(jīng)網(wǎng)絡(luò)一個特別棒的特性。
人們開始動腦筋了,既然是這樣,那么是不是可以先用標準的大數(shù)據(jù)集比如 Image Net 來做深度學習網(wǎng)絡(luò)的「預(yù)訓(xùn)練」呢? 反正那么多層的神經(jīng)網(wǎng)絡(luò)里,大多數(shù)的層級都和特定任務(wù)關(guān)系不大,我們只需要把通用大數(shù)據(jù)預(yù)訓(xùn)練得到的網(wǎng)絡(luò)模型結(jié)果,再結(jié)合任務(wù)相關(guān)的那點可憐的標注數(shù)據(jù)去微調(diào)(Fine-tuning)高層的網(wǎng)絡(luò)參數(shù),使得高層參數(shù)輸出更匹配當前領(lǐng)域的任務(wù),就 OK 了。
這樣一來,原本因為數(shù)據(jù)不足而無法訓(xùn)練的特定任務(wù)也能解決了。即便任務(wù)的訓(xùn)練數(shù)據(jù)不缺,先通過預(yù)訓(xùn)練過程也能極大的加快特定任務(wù)訓(xùn)練的完成速度。預(yù)訓(xùn)練這種通吃的解決方案人見人愛,很快在圖像處理領(lǐng)域廣泛流行開來。
既然在圖像處理領(lǐng)域的深度學習里預(yù)訓(xùn)練這么管用,搞自然語言處理 AI 的同學們自然也會在心里想,為什么不在自然語言處理領(lǐng)域里做預(yù)訓(xùn)練這么香的事情呢?
03
自然語言 AI
的深度進化
首先,自然語言處理的研究里,有個基本概念叫做「語言模型」,大致理解起來也簡單,就是想辦法打造一個核心函數(shù) P,這個函數(shù)通過一個句子里前面的所有單詞來計算下一個單詞的概率大小。一句話里的單詞總是順序出現(xiàn)的, 每個單詞都可以通過前面所有單詞計算出這么一個概率,把所有這些單詞的概率乘起來,總概率數(shù)值越大,說明這越像是人說出的話。
怎么構(gòu)造這個神奇的函數(shù) P 是 AI 科學家的事情,但讀者們一定可以明白,有了這個牛的「語言模型」函數(shù) P,計算機就會說人話了。
而從神經(jīng)網(wǎng)絡(luò)學派的同學看來,是不是可以用神經(jīng)網(wǎng)絡(luò)來打造這樣一個語言模型呢?就是說用很多的現(xiàn)成語料,來訓(xùn)練出一個神經(jīng)網(wǎng)絡(luò),然后給這個神經(jīng)網(wǎng)絡(luò)模型輸入一句話的前面幾個詞,這個模型就能計算出這句話的下一個單詞。
這就是大名鼎鼎的「神經(jīng)網(wǎng)絡(luò)語言模型」NNLM。
NNLM 神經(jīng)網(wǎng)絡(luò)語言模型的想法并不是最近冒出來的,它的歷史要追溯到 20 年前。NNLM 的論文在 2003 年就被發(fā)表出來了,而當時,深度學習的概念還只存在于杰弗里·辛頓(Geoffrey Hinton)的腦袋里。
所以,不幸的是,NNLM 當時沒有引起學界多少反響,被埋沒了近 10 年。事實上,在深度學習大火之前,用神經(jīng)網(wǎng)絡(luò)做自然語言處理甚至會被笑話,之前自然語言處理的主流研究方式還是基于統(tǒng)計學的機器學習方法。神經(jīng)網(wǎng)絡(luò)語言模型 NNLM 這個概念太超前時代了。
一直到了 2013 年,在深度學習概念提出來 7 年之后,深度學習神經(jīng)網(wǎng)絡(luò)模型先是在圖像和語音領(lǐng)域大顯神威,自然語言 AI 的同學終于想起了這篇十年前的論文。NNLM 重出江湖, 為世人所知:
在 2013 年,AI 研究人員倒騰了一個自然語言處理的處理模型 Word2Vec。 顧名思義,「Word2Vec」就是「Word to Vector,從詞到向量」。研究人員的目標是把一個單詞變成一個數(shù)學向量,這個數(shù)學量在 NLP 里有個專門的名詞,叫做 Word Embedding(詞嵌入)
為啥要變成一個向量,出發(fā)點也很簡單,如果能將每個單詞都能表示為數(shù)學空間里的一個向量,那么是不是理論上,在這個向量空間里比較接近的詞,就是意義接近的單詞呢? 這樣計算機不就可以方便的理解單詞之間的聯(lián)系了嗎?
Word2Vec 翻出了十年前的 NNLM。NNLM 的初衷只是想構(gòu)建一個神經(jīng)網(wǎng)絡(luò)語言模型,根據(jù)前面的詞,來預(yù)測后一個是什么詞。NNLM 網(wǎng)絡(luò)內(nèi)部構(gòu)造了一個隨機初始化的矩陣,通過不斷的訓(xùn)練,來達成 NNLM 模型預(yù)測單詞的目的。
特別湊巧的是,研究人員發(fā)現(xiàn)這個訓(xùn)練出來的內(nèi)部矩陣的每一行,正好可以作為每個詞的嵌入向量 Word Embedding!這真是得來全不費功夫啊。
NNLM 和 Word2Vec 使用了類似的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),不過因為目的不同,其訓(xùn)練方法理念是截然不同的。NNLM 作為語言模型,是要看到上文預(yù)測下文,所以訓(xùn)練時輸入的是句子上文單詞;而 Word2Vec 呢? 因為它的目標是要找出所有單詞之間意義遠近的數(shù)學關(guān)系,所以訓(xùn)練時都使用句子上文和下文作為輸入。
不知道讀者意識到?jīng)],這兩種訓(xùn)練方式在更高的意義上有著一些本質(zhì)區(qū)別,就好比我們?nèi)祟愓f話,都是順序說出來一個個單詞的,說不定呢,人的潛意識或許也是一個類似 NNLM 的 P 函數(shù),自覺不自覺地的決定人說話里的下一個詞是什么。因此只從上文預(yù)測下文的訓(xùn)練方式,貌似天然更契合「生成式」的邏輯。
而 Word2Vec 這種通過上文和下文輸入來訓(xùn)練的方式,可以比喻成機器來做閱讀理解,就像是我們做語文或英語的閱讀理解,一定是通讀全文,然后根據(jù)上下文來理解和判斷問題的答案。這樣的人工智能,就是所謂分析式的 AI。
兩種模型訓(xùn)練的思路,在后續(xù)發(fā)展里變成了自然語言模型的兩種路線。本文開頭提到的 OpenAI 生成式模型 GPT 系列,堅定的只用上文進行訓(xùn)練,用以追求「純粹」的生成;而 Google 公司的大語言模型 Bert,則采用了上文和下文一起訓(xùn)練的模式,此乃后話。
前面提到,圖像處理領(lǐng)域里使用大規(guī)模通用數(shù)據(jù)進行「預(yù)訓(xùn)練」所取得的效率和成果實在讓人羨慕,而在自然語言處理領(lǐng)域里,其實也有一點點「預(yù)訓(xùn)練」概念的,這個預(yù)訓(xùn)練就是,每個單詞的 Word Embedding 可以反過來初始化神經(jīng)網(wǎng)絡(luò)的內(nèi)部參數(shù)。
不去探究數(shù)學細節(jié),讀者只要知道,這種「預(yù)訓(xùn)練方式」和前面圖像處理領(lǐng)域的低層級網(wǎng)絡(luò)預(yù)訓(xùn)練方式有點類似,但問題是利用 Word Embedding 只能初始化第一層網(wǎng)絡(luò)參數(shù),和圖像處理領(lǐng)域的預(yù)訓(xùn)練能有效初始化大多數(shù)網(wǎng)絡(luò)層級不可同日而語,只能說是一種比較原始初級的「預(yù)訓(xùn)練」了
但直到 2018 年前,這就是 NLP 領(lǐng)域里能采用的預(yù)訓(xùn)練典型做法了。
采用 Word Embedding 來初始化 NLP 神經(jīng)網(wǎng)絡(luò)有那么點效果,但沒有期待的那么好。這里面還有一個邏輯上的原因:一個單詞有多義詞問題。所以企圖在一個數(shù)學空間里用一個固定的數(shù)學向量來表征一個單詞的意義,還要求含義相近的單詞都聚在一起。 在面對多義詞的時候, 這在邏輯上顯然就是矛盾的。
當然了,聰明的 AI 研究人員肯定還是有辦法。既然一個單詞存在多義性,固定的 Word Embedding 向量無法表達單詞的多個含義,那么是不是可以先訓(xùn)練好一個單詞的 Word Embedding,然后在實際使用中,根據(jù)句子里的上下文語義去動態(tài)調(diào)整這個 Word Embedding 數(shù)值,這樣經(jīng)過調(diào)整后的「動態(tài) Word Embedding」 更能準確表達單詞在上下文的具體含義,同時自然的,解決了多義詞的問題。
這個根據(jù)當前上下文來動態(tài)調(diào)整 Word Embedding 的想法就是頂級學術(shù)會議 NAACL 2018 年的最佳論文「Deep Contextualized Word Representation」,這個 NLP 模型命名為 ELMO(Embedding from Language Models,基于語言模型的詞嵌入)
ELMO 引入上下文動態(tài)調(diào)整單詞 Word Embedding 后,多義詞問題就被徹底解決了,而且比預(yù)期的解決得還好:利用 ELMO 改進過的多種不同 NLP 任務(wù),性能上都有幅度不同的提升,最高達到了 25%,不愧是最佳論文。
此外,ELMO 還有一個貢獻,研究人員發(fā)現(xiàn) ELMO 所使用的深度神經(jīng)網(wǎng)絡(luò)模型里,不同層次提取到的特征是有差異的。看到這里,讀者想起了什么沒有? 是不是和圖像預(yù)訓(xùn)練的模型層級特征有點像了?
讓我們復(fù)習一下,前面講過,圖像處理領(lǐng)域進行大規(guī)模預(yù)訓(xùn)練后,把深度學習網(wǎng)絡(luò)每層參數(shù)做可視化后可以看到,深度學習網(wǎng)絡(luò)每一層都對應(yīng)著不同抽象層級的「特征」,在圖像領(lǐng)域里,就是從底層的線段,到中間層的具體五官細節(jié),再到高層的臉型,等等。
再說一次,「預(yù)訓(xùn)練」為什么是一個特別重要的概念? 這是因為好的「預(yù)訓(xùn)練」可以直接利用大量標準通用的的訓(xùn)練數(shù)據(jù)(圖像領(lǐng)域就是圖片,NLP 領(lǐng)域就是語料),把深度學習模型調(diào)整到了 90% 甚至更高程度的可用狀態(tài),預(yù)訓(xùn)練好的模型最后通過任務(wù)相關(guān)的少量訓(xùn)練數(shù)據(jù),就能微調(diào)至完全勝任各種特定任務(wù),這真是一個很美妙的事情。
那么,ELMO 出現(xiàn)后,自然語言處理領(lǐng)域的「預(yù)訓(xùn)練」有可能趕上圖像領(lǐng)域了嗎?
遺憾的是,還差一口氣。
因為技術(shù)原因,LEMO 模型在抽取文字特征方面還比較弱,這是一個技術(shù)上的缺陷,意味著這個模型就無法很好完成 NLP 的「預(yù)訓(xùn)練」夢想: 特征都抽取不好,怎么讓網(wǎng)絡(luò)里每一層具體表達不同邏輯層級的特征呢。而從技術(shù)細節(jié)上對比,也會發(fā)現(xiàn) ELMO 這種「預(yù)訓(xùn)練」方法和圖像領(lǐng)域的預(yù)訓(xùn)練方法,兩者在模式上還有很大差異。
自然語 AI 研究人員還需要繼續(xù)找到一個方法,希望這個方法能很好的提取出文字的特征,就類似圖像處理領(lǐng)域的神經(jīng)網(wǎng)絡(luò)模型,能很好的提取圖像不同邏輯層面的特征。
恰就在時間剛好的 2017 年底, Google 研究人員發(fā)表了一篇里程碑式的論文, 這一篇論文提出的「自我注意力」機制讓自然語言處理揭開了嶄新的篇章。
04
注意力機制
和 Transformer
2017 年 12 月,Google 在頂級機器學習會議 NIPS 上發(fā)表了論文《Attention is all you need》,提出在機器翻譯上大量使用自注意力(Self Attention)機制來學習文本表示,并把這種機制模型起了個霸氣的名字:Transformer。
這篇論文一經(jīng)出世就橫掃了整個自然語言處理學術(shù)界,Transformer 迅速的取代了深度學習里傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)成為了之后的大語言模型的標準配置。
Transformer 是目前 NLP 領(lǐng)域里最強的特征提取器,本質(zhì)上 Transformer 是一個疊加的「自注意力機制」構(gòu)成的深度網(wǎng)絡(luò)。
包括我們現(xiàn)在所知道的 OpenAIGPT 系列模型,以及 GoogleBERT 系列模型,都受到了這篇文章的啟發(fā)采用了部分 Transformer 的架構(gòu),從而取得了突破性的效果。
先說個題外話,筆者感慨,論文是否牛,一看題目就知道,這篇論文連題目都如此特別和霸氣。
話說回來,什么是注意力機制? 深度學習里的注意力機制其實是一種思想,參考借鑒了人類的注意力思維方式。
視覺注意力機制是人類視覺所特有的大腦信號處理機制,我們的眼睛會快速掃描全局圖像,得到需要重點關(guān)注的區(qū)域,就是所謂的注意力焦點后,再進一步對相關(guān)區(qū)域投入更多的關(guān)注。這是人類在長期進化中獲得的一種生存機制,極大提高了人類信息處理的效率和準確性。
深度學習的注意力機制在概念上參照了人類的視覺注意力機制,核心目標就是從眾多信息里選擇出對當前任務(wù)更重要和關(guān)鍵的信息。
具體到 NLP 自然語言處理領(lǐng)域里,在之前,注意力機制一般是指輸出句子里某個詞和輸入句子每個詞之間的相似度。這也很好理解,就是去尋求問題(輸入)和答案(輸出)之間的關(guān)系么。
但 Google 這篇《Attention is all you need》的特別之處,是明確指出了,我們其實不需要先考慮輸入和輸出的關(guān)系啊,為什么不參考人類理解語言的方式,首先「學習」一句話內(nèi)部單詞之間的關(guān)系呢? 這就是所謂的「SelfAttention 自注意力機制」:指的是輸入元素之間,或者輸出元素之間的內(nèi)在聯(lián)系機制。
如上圖所示,Self Attention 自注意力機制尋找到了一個句子里單詞之間的語義特征,「it」指代的是「the animal」
稍微想一下,Self Attention 自注意力機制在邏輯意義上非常清晰,它讓機器去理解人類語言每句話里單詞之間的語義關(guān)系。
除了邏輯上看起來更有道理,Self Attention 機制還附帶了一個很大的好處:因為網(wǎng)絡(luò)層面拋棄了傳統(tǒng)的 RNN(循環(huán)神經(jīng)網(wǎng)絡(luò))模型,徹底規(guī)避了 RNN 不能很好并行計算的困擾,極大提高了模型并行訓(xùn)練計算的效率。更不用說,Attention 注意力機制只關(guān)注部分信息,參數(shù)較少,容易訓(xùn)練。
有趣的是,谷歌研究人員在這篇重要論文里差點使用了「注意力網(wǎng)絡(luò)」這樣的命名,只是他們覺得這個名字聽起來實在不夠響亮,后來團隊里一位工程師給起了個名字 Transformer,這看起來就高大上很多了。
基于自我注意力機制的 Transformer 模型的出現(xiàn)是革命性的,最最重要的一點,它能實現(xiàn)自我監(jiān)督學習。所謂自我監(jiān)督,就是不需要標注的樣本,使用標準的語料或者圖像,模型就能學習了。
在 Tranformer 出現(xiàn)之前,我們要訓(xùn)練一個深度學習模型,必須使用大規(guī)模的標記好的數(shù)據(jù)集合來訓(xùn)練神經(jīng)網(wǎng)絡(luò)。對數(shù)據(jù)進行標注只能人工進行,金錢和時間成本都相當高。
讀者如果還有印象,在筆者上一篇關(guān)于 AI 繪畫的文章里有講到,對于 AI 繪畫至關(guān)重要的跨模態(tài)模型 CLIP 之所以成功,是因為它使用了互聯(lián)網(wǎng)已經(jīng)帶文字標記的圖片作為訓(xùn)練數(shù)據(jù),巧妙規(guī)避了超大規(guī)模數(shù)據(jù)標記的難題。
而回過頭來,Transformer 的核心是在數(shù)學上計算輸入元素之間的關(guān)聯(lián)(Attention),通過這種模式,Tranformer 成功的消除了訓(xùn)練數(shù)據(jù)集的標注需求!
這簡直是感天動地,我們可以想象一下,從今以后,互聯(lián)網(wǎng)上或者企業(yè)數(shù)據(jù)庫里海量的文本數(shù)據(jù)都能直接成為大模型的訓(xùn)練數(shù)據(jù)源了。
NVIDIA 創(chuàng)始人兼 CEO 黃仁勛在 2022 NVIDIA GTC 大會上表示說,Transformer 使自我監(jiān)督學習成為可能,并無需人類標記數(shù)據(jù),AI 領(lǐng)域出現(xiàn)了「驚人的進展」。因此,Transformer 正在越來越多的領(lǐng)域中發(fā)揮作用。比如用于語言理解的 Google BERT,用于藥物發(fā)現(xiàn)的 NVIDIA MegaMolBART 以及 DeepMind 的 AlphaFold2 都要追溯到 Transformer 的突破。
上面又提到了 Google BERT 語言模型。這里要插一句,Google 引以為傲的語言大模型 BERT 的架構(gòu)和 OpenAI GPT 其實非常像,但有一個簡單而本質(zhì)的區(qū)別,在訓(xùn)練階段,Google BERT 輸入上文和下文來訓(xùn)練,OpenAI GPT 系列一直堅持只輸入上文訓(xùn)練,而結(jié)果就是,Google BERT 在體現(xiàn) AI 分析能力的各種閱讀理解等問題上,都表現(xiàn)上佳;而 OpenAIGPT 術(shù)業(yè)有專攻,在生成式 AI(比如回答各種問題,創(chuàng)造各種文字內(nèi)容)上一騎絕塵。
不夸張的說,Transformer 是迄今為止發(fā)明的最強大的模型之一。斯坦福研究人員在 2021 年 8 月的一篇論文把 tranformer 稱之為「基礎(chǔ)模型「(Foundation model),認為它推動了 AI 整個范式的轉(zhuǎn)變。
Transformer 技術(shù)的應(yīng)用面|英偉達
05
GPT-3,神功初成
受 Google 論文啟發(fā),基于 Transformer 模式的 GPT 系列模型作為 OpenAI 的當紅炸子雞,風頭當下無兩。
GPT 全稱是「Generative Pre-Training」,直譯過來就是「生成式的預(yù)訓(xùn)練」,有意思吧。
如前文所說,OpenAI 對 GPT 的生成式 AI 有堅定的信念,因此在訓(xùn)練模型的時候,只選用「上文」來訓(xùn)練模型,也就是說,GPT 本質(zhì)上是一個極致的概率模型,它根據(jù)上文提示,來猜測下一個單詞應(yīng)該是什么。
這個堅持雖然在一開始 GPT-1 和 GPT-2 時代讓其輸出效果稍遜于同期 Google 的語言大模型 BERT,但到了 GPT-3 時期,在超級規(guī)模網(wǎng)絡(luò)參數(shù)的加持下,GPT 這個 100% 純粹的生成式 AI 終于迸發(fā)出耀眼的光芒,模型輸出效果甚至大幅超越了研究人員的預(yù)期。
盡管沒有實證,但筆者很傾向認為 GPT-3 的極大成功和 OpenAI 堅定不移的只用上文來訓(xùn)練模型有著某種必然的關(guān)系,人的語言溝通也從來都是按順序表達的,沒有誰先把一句話的最后一個詞說完才回頭考慮上一個詞。從這點來看,GPT 系列模型順應(yīng)了人類思考的邏輯,最終由量變推動了質(zhì)變。
終于,借助了 Transformer, GPT 這樣的超大規(guī)模語言模型(GPT-3 有 1750 億個參數(shù))在不需要標記數(shù)據(jù)的情況下,可以借助現(xiàn)成的海量標準數(shù)據(jù)以及超級算力,得到通用的「預(yù)訓(xùn)練」版本模型。
可能有讀者會繼續(xù)問,有了預(yù)訓(xùn)練好的模型版本后,GPT 怎么能以適應(yīng)各種各樣的特定任務(wù)(或者專業(yè)一點,「下游任務(wù)」)呢? GPT 論文里給出了簡單的改造施工圖,附在這里讀者們有點直觀感性感知即可??傊ㄟ^簡單的改造操作,GPT 就能很好適應(yīng)不同的任務(wù)。只需要在輸入部分調(diào)整一下就可以了,非常方便。
補充一句,或許正是因為改造特別方便,OpenAI 的研究人員才能在 GPT-3.5 版之上改造出一個問答專用的 ChatGPT。雖然還不是基于大殺器 GPT4,但 ChatGPT 所展現(xiàn)出的超強內(nèi)容生成能力,在這幾天已經(jīng)在大眾用戶群體里刮起了超級旋風。
06
從 GPT-3 到
ChatGPT,進化繼續(xù)
在歷史長河里走了過來,終于回到了本文開頭的主角 ChatGPT。
如果讀者已經(jīng)理解了前面關(guān)于深度學習神經(jīng)網(wǎng)絡(luò)的變遷和發(fā)展之路,再來看 ChatGPT 的技術(shù)升級,就是特別簡單的事情了。
ChatGPT 是基于 GPT-3.5 模型的魔改。GPT-3.5 和 GPT-3 的區(qū)別呢,首先是和微軟合作,在微軟的 Azure AI 云服務(wù)器上完成了訓(xùn)練;另一個重要的區(qū)別是其訓(xùn)練數(shù)據(jù)集里除了文字,還加入了代碼,因此 ChatGPT 現(xiàn)在已經(jīng)可以寫程序,甚至給現(xiàn)成的代碼找 bug 了。
為什么試用過 ChatGPT 的同學都感覺提升很明顯? 一個重要的原因是 ChatGPT 引入了一個新的訓(xùn)練方法 RLHF(論文《Training language models to follow instructions with human feedback》發(fā)表于 22 年 3 月),簡單的說,就是用人類反饋的方式加強訓(xùn)練。
看這個簡單的描述顯然不能感受到技術(shù)的提升,不過我們只需要理解, 這其實就是在 GPT-3 的大數(shù)據(jù)預(yù)訓(xùn)練之下,再次加強了人類的反饋。
有趣的是,前面基于 Transformer 的通用大數(shù)據(jù)無監(jiān)督訓(xùn)練模式把自然語言的自動學習做到了某種極致,而這個 RLHF 又重新?lián)炱鹆恕甘謩訖n」人類反饋機制,貌似有一點返璞歸真的感覺。 仿佛是武功高手練至化境之后,又重新拿起了最早的野球拳,一招使出了無與倫比的超越功力。
ChatGPT 還有一個很重要的特點,就是針對輸出有效性上做了非常好的調(diào)整。使用過 ChatGPT 的同學一定能感覺到,ChatGPT 并非每一個問題都能回答詳盡,但它絕對沒有胡說八道,ChatGPT 的回答和真實世界的情況是相當一致的。做到這點很不容易,也是 ChatGPT 和之前容易亂說一氣的問答 AI 模型前輩最大的不同。
另一個和確?;卮鹩行酝瑯又档藐P(guān)注的改進是,ChatGPT 在道德約束上做得很出色。如果我們?nèi)ピ儐栆恍┯庠搅说赖逻吔绲膯栴},或者一些特別敏感的問題, ChatGPT 基本都能察覺和回避。這讓我們想起了 AI 繪畫大模型最讓人詬病的地方,那就是通過 AI 生成 18 禁圖片,盡管這不是一個技術(shù)問題,但對于一個智能內(nèi)容生成平臺,我們顯然要有方法管理好內(nèi)容的質(zhì)量,以及內(nèi)容的道德邊界。在這一點上,ChatGPT 帶了一個好頭。
ChatGPT 的試用版在 OpenAI 的 RLHF 論文發(fā)出半年之后剛剛推出,根據(jù) OpenAI 研究人員自己的說法,內(nèi)部經(jīng)過了大量調(diào)優(yōu),而且即使當下,ChatGPT 還是有很多需要改進的地方。但無論如何,ChatGPT 已經(jīng)展示給我們所有人,自然語言生成式 AI 所能達到的全新高度。
筆者特別憧憬 GPT4 的 ChatGPT 改版。 如果如傳說那般,GPT4 已然突破了圖靈測試,筆者對基于 4.0 版本的 ChatGPT 抱有無限的期待。說不定,作者在上一篇文章里預(yù)言的,AI 大模型來寫長篇玄幻小說的時代,馬上就要來臨了。
07
后記
如果能耐著性子讀到這里,讀者應(yīng)該自然語言的生成式 AI 的前世今生有了一點概念。
回過頭來再問一次,對于「預(yù)訓(xùn)練」這個深度模型里的重要概念。讀者有沒有想過,預(yù)訓(xùn)練到底是什么?
對,具體而言,預(yù)訓(xùn)練就是在幾千億參數(shù)的支持下,類似 GPT 這樣的超級模型灌入了難以計量的文本訓(xùn)練數(shù)據(jù)(說不定已經(jīng)把全世界可以搜刮到的文本都拿來用了)來訓(xùn)練得到了一個通用大語言模型。
不過,在更高的一個角度去暢想,當我們把全世界的文字信息直接灌進擁有數(shù)千億參數(shù)的 AI 模型里,模型在網(wǎng)絡(luò)的各個層級上抽取和記憶這些文字里的特征信息。那么,GPT 這樣的超級模型實際上就在通過所謂預(yù)訓(xùn)練方式,學習到了人類所有文字信息的全部特征,直接把人類的語言智慧記在了自己幾千億量級的神經(jīng)網(wǎng)絡(luò)大腦里。
做到了這種程度,真的就像是我們用人類的全部知識體系來培養(yǎng)出了一個超級強大的機器大腦,這個大腦通過它超大規(guī)模的人工神經(jīng)網(wǎng)絡(luò)規(guī)模接納學習了人類創(chuàng)造的所有內(nèi)容。進而,針對人類的任意問題,AI 可以做出連圖靈測試都無法區(qū)分的真正智能回答。
人類已經(jīng)馬上無法分辨,在小黑屋后面,那究竟是一個人還是一個 AI 了。
這一天來得比想象更快。
一個能容納和理解人類全部文字知識,并做出真正智能回答的 AI,我們是不是可以簡單認為:
今天,真正的機器智能,已然誕生。
*頭圖來源:OpenAI
極客一問
你如何看待 ChatGPT?
更多創(chuàng)新大會詳情