中文字幕亚洲欧美日韩在线不卡,亚洲欧美日产综合在线网性色,思思久久精品6一本打道,综合视频中文字幕

    <sub id="dxmnt"><ol id="dxmnt"></ol></sub>

      1. ChatGPT 的「神功」,是如何煉成的?

        更新時(shí)間:2022-12-11 10:05:52作者:智慧百科

        ChatGPT 的「神功」,是如何煉成的?


        最強(qiáng)對(duì)話式 AI,站在巨人的肩膀上。

        來源:Web3天空之城(Web3SkyCity)

        作者:城主

        鏈接:

        AIGC 在這幾個(gè)月成了一個(gè)大熱的話題。

        頗有些風(fēng)水輪流轉(zhuǎn)的感覺,如同年初大火特火的 web3 一樣, AIGC 是現(xiàn)在的當(dāng)紅炸子雞, 創(chuàng)業(yè)投資討論里如果不帶點(diǎn) AIGC 就是妥妥的落伍。

        不久之前,備受關(guān)注的開源 AI 繪畫模型 Stable Diuffusion 推出了 2.0 版, 引起了更多關(guān)注和焦慮:「我連 1.0 的門道都還沒摸清楚,怎么就 2.0 了啊」

        沒有跟上 AIGC 的步伐,仿佛就要被世界所拋棄。

        有趣的是,作者前面看到一些 AIGC 文章,基本都是圍繞著最近大熱的 AI 繪畫來討論的。

        當(dāng)然了,生成式 AI 繪畫模型的突破是一件值得大書特書的事情,在作者上一篇文章《AI 繪畫何以突飛猛進(jìn)? 從歷史到技術(shù)突破,一文讀懂火爆的 AI 繪畫發(fā)展史》里也已經(jīng)做了深入的探討。

        但是,必須指出的是,當(dāng)下在 AI 繪畫或者 AI 生成其他形式內(nèi)容的大模型里,對(duì)自然語言的理解是一個(gè)首要的關(guān)鍵環(huán)節(jié),而之所以 AI 繪畫能火爆出圈,有至少一半的功勞必須歸結(jié)于,當(dāng)下最新的 AI 繪畫模型可以直接「理解」用戶的語言輸入,以及在模型內(nèi)部里把語言內(nèi)容理解和圖像內(nèi)容理解緊密結(jié)合起來。

        生成式 AI 就像人工智能皇冠上的一顆明珠,不是唯一的一顆,但絕對(duì)璀璨耀眼。盡管 AI 在信息分析處理等各個(gè)方面都發(fā)揮著重要作用,但「生成式 AI」的出現(xiàn)無疑影響更深遠(yuǎn):生成即創(chuàng)造。生成式 AI 的突破,意味著 AI 開始走向了創(chuàng)造新內(nèi)容世界的大道。

        羅馬不是一天建成的。就讓我們一起回顧和嘗試?yán)斫?,這激動(dòng)人心的一切究竟是怎么發(fā)生的。

        01

        ChatGPT 橫空出世

        在回顧歷史前,首先要跟風(fēng)提一下幾天前發(fā)布的 ChatGPT,一個(gè)絕對(duì)神仙級(jí)別的自然語言生成式 AI。

        ChatGPT 誕生的重要意義恐怕不亞于 Stable Diffusion 等 AI 繪畫生成模型的出現(xiàn)。有興趣的朋友可以感受去 chat.openai.com 感受一下這個(gè)當(dāng)今最熱沒有之一的自然語言問答式 AI 的巨大威力。

        ChatGPT 是明星人工智能公司 OpenAI 的 GPT 自然語言生成式模型的最新衍生品。在這之前,坊間已經(jīng)傳聞 OpenAI 的下一代自然語言生成模型 GPT4 即將出現(xiàn)。而且,有一個(gè)讓人震驚的江湖傳言:GPT4 據(jù)稱通過了圖靈測試!

        圖靈測試究竟是什么意思? 簡單的說,就是隔著一個(gè)小黑屋問各種話題,然后是否能分辨小黑屋里回答問題的究竟是機(jī)器還是人類。如果無法辨別,就就說明了機(jī)器具有和人一樣等級(jí)的智能,通過了圖靈測試。

        迄今為止,還沒有 AI 模型能真正通過圖靈測試??磥砼R界點(diǎn)已經(jīng)到,筆者都迫不及待的期待 GPT4 的真正推出了。

        誰知道,還沒等來 GPT-4,衍生自 GPT-3.5 的 ChatGPT 卻先來了。

        顧名思義,ChatGPT 就是「聊天 GPT」,以對(duì)話的方式交互,用戶問問題,它來回答。

        咋聽起來,似乎也沒有很新鮮。 但情況是,ChatGPT 的智能化遠(yuǎn)遠(yuǎn)超出了那些它的聊天 AI 前輩們。

        好比 StableDiffusion/Midjourney 也就是 AI 繪畫,但所能生成的 AI 繪畫質(zhì)量甩了前輩無數(shù)條街。

        網(wǎng)上有越來越多的文章開始安利 ChatGPT,不過多是拿了外網(wǎng)英文問答的截圖,其實(shí) ChatGPT 可以直接上中文!另外,可以直接問 ChatGPT 怎么寫代碼,比如寫一個(gè)俄羅斯方塊。

        而更有想象力的,是讓 ChatGPT 來生成 AI 繪畫的輸入關(guān)鍵詞!讓 AI 自己來指導(dǎo) AI 作畫,多美妙的主意。

        這僅僅是一個(gè)開始,隨著 ChatGPT 在全網(wǎng)的各種自來水安利,相信還有更多古靈精怪的玩法不斷被網(wǎng)友們挖掘出來。

        ChatGPT 的回答給人的感覺是,這是一個(gè)特別靠譜的聊天 AI,真正的上知天文下知地理,最關(guān)鍵的是,它不胡說八道!正因?yàn)樗卮鸬臏?zhǔn)確性,看起來 ChatGPT 有了替代通用搜索引擎 Google 的可能性。

        OpenAI 的 CEO 薩姆?阿爾特曼(Sam Altman)對(duì) ChatGPT 的未來發(fā)展表示很有信心。他在推特上說,語言接口是未來的一個(gè)發(fā)展方向,OpenAI 只是一個(gè)先行者,相信很快大家就能用上真正智能的提供建議的 AI 助手了。

        測試版的 ChatGPT 仍有一些缺點(diǎn),但這都只是戰(zhàn)術(shù)級(jí)別的;在戰(zhàn)略上,ChatGPT 的前景已經(jīng)相當(dāng)令人期待,特別是 OpenAI 下一代 GPT-4 加持下的 ChatGPT,其能力恐怕更加突破天際。

        我們也許正在經(jīng)歷又一個(gè) AI 突破的時(shí)刻,一如 2022 年初到年中 AI 繪畫的勢如破竹。 而這次,則是人類通用信息生成的突破!

        喜歡刨根問底的讀者們會(huì)問,AI 是如何走到這一步的?

        02

        大算力,大數(shù)據(jù),

        大力出奇跡

        2006 年,杰弗里·辛頓(Geoffrey Hinton)在 science 期刊上發(fā)表了重要的論文《Reducing the dimensionality of data with neural networks》,提出深度信念網(wǎng)絡(luò)(Deep Belief Networks,DBNs),「深度學(xué)習(xí)」正式誕生,基于人工神經(jīng)網(wǎng)絡(luò)的第三次 AI 發(fā)展浪潮開始了,且一直延續(xù)至今。

        和前兩次浪潮不同的是,當(dāng)下計(jì)算機(jī)性能已經(jīng)能讓大規(guī)模的人工神經(jīng)網(wǎng)絡(luò)模擬得以成為現(xiàn)實(shí)。在 1957 年,羅森布拉特用 IBM 704 去仿真感知機(jī),每秒完成 1.2 萬次浮點(diǎn)加法,而如今超級(jí)計(jì)算機(jī)速度是 IBM 704 的 10 萬億倍以上。

        此外,個(gè)人計(jì)算機(jī) GPU 近些年發(fā)展迅猛,盡管 GPU 的初衷是為了加速 3D 圖形計(jì)算,但通用 GPU 的計(jì)算模式正好匹配了神經(jīng)網(wǎng)絡(luò)并行計(jì)算的需求特點(diǎn),從而進(jìn)一步推動(dòng)了神經(jīng)網(wǎng)絡(luò)模型的發(fā)展。

        除了算力之外,限制前兩次 AI 浪潮發(fā)展的另一主要因素就是數(shù)據(jù)的缺乏。

        在深度學(xué)習(xí)理論模型提出之后,最早之一意識(shí)到了 AI 學(xué)科發(fā)展的數(shù)據(jù)鉗制,并著手去解決的是華人 AI 科學(xué)家李飛飛。

        年輕的李飛飛以堅(jiān)韌不拔的大無畏精神,推動(dòng)完成了一個(gè)超大規(guī)模的開源圖片標(biāo)注數(shù)據(jù)庫,這就是著名的 Image Net 項(xiàng)目。在 2009 年正式發(fā)布時(shí),Image Net 有超過 1000 萬數(shù)據(jù),兩萬多個(gè)類別。

        2010 年開始,Image Net 大規(guī)模視覺識(shí)別挑戰(zhàn)賽(ILSVCR)開始舉辦,全世界圖像領(lǐng)域深度學(xué)習(xí)的專家們同臺(tái)競技和交流,從此拉開了計(jì)算機(jī)視覺的新篇章。

        雖然本文主要是關(guān)注自然語言大模型的前世今生的,而 Image Net 完全是圖像領(lǐng)域的工作。 但是,Image Net 的出現(xiàn)和發(fā)展給了自然語言 AI 模型研究一個(gè)很重要的啟發(fā)。這就是圖像領(lǐng)域深度學(xué)習(xí)的預(yù)訓(xùn)練概念。

        大家都知道,「深度學(xué)習(xí)」顧名思義,就是具有很多層級(jí)的神經(jīng)網(wǎng)絡(luò)模型?,F(xiàn)代神經(jīng)網(wǎng)絡(luò)模型的網(wǎng)絡(luò)結(jié)構(gòu)層數(shù)很深,動(dòng)則幾百萬上千萬參數(shù)量。 而這些神經(jīng)網(wǎng)絡(luò)模型在能做特定任務(wù)之前,都是需要經(jīng)過「訓(xùn)練」,即根據(jù)標(biāo)注好的特定訓(xùn)練數(shù)據(jù)去反復(fù)調(diào)整模型里的參數(shù),最后所有參數(shù)調(diào)整到位,模型能匹配訓(xùn)練數(shù)據(jù)集的輸入和輸出。

        那么,問題來了,要調(diào)整深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)模型里那成千萬的參數(shù)量,如果訓(xùn)練數(shù)據(jù)少了,肯定很難調(diào)整到位。這就好比一個(gè)內(nèi)部齒輪復(fù)雜精密的新機(jī)器,如果只稍微動(dòng)一下,內(nèi)部能牽扯到的齒輪機(jī)構(gòu)說不定都很少,達(dá)不到磨合的目的;只有大規(guī)模長時(shí)間運(yùn)轉(zhuǎn)起來,內(nèi)部的齒輪才能全速轉(zhuǎn)起來,互相磨合好。

        但是,那些特定的 AI 任務(wù)往往沒有那么多訓(xùn)練數(shù)據(jù),這怎么辦?

        非常值得慶幸的是,AI 科學(xué)家研究發(fā)現(xiàn)了深度學(xué)習(xí)網(wǎng)絡(luò)一個(gè)有趣的特性,對(duì)于圖像領(lǐng)域的深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)而言,不同層級(jí)的神經(jīng)元學(xué)習(xí)到的是不同邏輯層級(jí)的圖像特征!


        如上圖所示,若將訓(xùn)練好的網(wǎng)絡(luò)每層神經(jīng)元學(xué)習(xí)到的特征可視化,會(huì)發(fā)現(xiàn)最底層的神經(jīng)元學(xué)習(xí)到的是線段等特征,第二層學(xué)到的是人臉各個(gè)五官的特征,第三層學(xué)到的是人臉輪廓的特征,這三層構(gòu)成了人臉特征的邏輯層級(jí)結(jié)構(gòu)。神經(jīng)網(wǎng)絡(luò)越底層的特征越基礎(chǔ)抽象,比如什么邊角弧線等,而越往上層,就具體和任務(wù)相關(guān)。

        一個(gè)訓(xùn)練好的深度學(xué)習(xí)網(wǎng)絡(luò)的內(nèi)部參數(shù),在底層體現(xiàn)了通用和基礎(chǔ)的特征,而越到高層,越和特定任務(wù)相關(guān)。這是深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)一個(gè)特別棒的特性。

        人們開始動(dòng)腦筋了,既然是這樣,那么是不是可以先用標(biāo)準(zhǔn)的大數(shù)據(jù)集比如 Image Net 來做深度學(xué)習(xí)網(wǎng)絡(luò)的「預(yù)訓(xùn)練」呢? 反正那么多層的神經(jīng)網(wǎng)絡(luò)里,大多數(shù)的層級(jí)都和特定任務(wù)關(guān)系不大,我們只需要把通用大數(shù)據(jù)預(yù)訓(xùn)練得到的網(wǎng)絡(luò)模型結(jié)果,再結(jié)合任務(wù)相關(guān)的那點(diǎn)可憐的標(biāo)注數(shù)據(jù)去微調(diào)(Fine-tuning)高層的網(wǎng)絡(luò)參數(shù),使得高層參數(shù)輸出更匹配當(dāng)前領(lǐng)域的任務(wù),就 OK 了。

        這樣一來,原本因?yàn)閿?shù)據(jù)不足而無法訓(xùn)練的特定任務(wù)也能解決了。即便任務(wù)的訓(xùn)練數(shù)據(jù)不缺,先通過預(yù)訓(xùn)練過程也能極大的加快特定任務(wù)訓(xùn)練的完成速度。預(yù)訓(xùn)練這種通吃的解決方案人見人愛,很快在圖像處理領(lǐng)域廣泛流行開來。

        既然在圖像處理領(lǐng)域的深度學(xué)習(xí)里預(yù)訓(xùn)練這么管用,搞自然語言處理 AI 的同學(xué)們自然也會(huì)在心里想,為什么不在自然語言處理領(lǐng)域里做預(yù)訓(xùn)練這么香的事情呢?

        03

        自然語言 AI

        的深度進(jìn)化

        首先,自然語言處理的研究里,有個(gè)基本概念叫做「語言模型」,大致理解起來也簡單,就是想辦法打造一個(gè)核心函數(shù) P,這個(gè)函數(shù)通過一個(gè)句子里前面的所有單詞來計(jì)算下一個(gè)單詞的概率大小。一句話里的單詞總是順序出現(xiàn)的, 每個(gè)單詞都可以通過前面所有單詞計(jì)算出這么一個(gè)概率,把所有這些單詞的概率乘起來,總概率數(shù)值越大,說明這越像是人說出的話。

        怎么構(gòu)造這個(gè)神奇的函數(shù) P 是 AI 科學(xué)家的事情,但讀者們一定可以明白,有了這個(gè)牛的「語言模型」函數(shù) P,計(jì)算機(jī)就會(huì)說人話了。

        而從神經(jīng)網(wǎng)絡(luò)學(xué)派的同學(xué)看來,是不是可以用神經(jīng)網(wǎng)絡(luò)來打造這樣一個(gè)語言模型呢?就是說用很多的現(xiàn)成語料,來訓(xùn)練出一個(gè)神經(jīng)網(wǎng)絡(luò),然后給這個(gè)神經(jīng)網(wǎng)絡(luò)模型輸入一句話的前面幾個(gè)詞,這個(gè)模型就能計(jì)算出這句話的下一個(gè)單詞。

        這就是大名鼎鼎的「神經(jīng)網(wǎng)絡(luò)語言模型」NNLM。

        NNLM 神經(jīng)網(wǎng)絡(luò)語言模型的想法并不是最近冒出來的,它的歷史要追溯到 20 年前。NNLM 的論文在 2003 年就被發(fā)表出來了,而當(dāng)時(shí),深度學(xué)習(xí)的概念還只存在于杰弗里·辛頓(Geoffrey Hinton)的腦袋里。

        所以,不幸的是,NNLM 當(dāng)時(shí)沒有引起學(xué)界多少反響,被埋沒了近 10 年。事實(shí)上,在深度學(xué)習(xí)大火之前,用神經(jīng)網(wǎng)絡(luò)做自然語言處理甚至?xí)恍υ挘?strong>之前自然語言處理的主流研究方式還是基于統(tǒng)計(jì)學(xué)的機(jī)器學(xué)習(xí)方法。神經(jīng)網(wǎng)絡(luò)語言模型 NNLM 這個(gè)概念太超前時(shí)代了。

        一直到了 2013 年,在深度學(xué)習(xí)概念提出來 7 年之后,深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)模型先是在圖像和語音領(lǐng)域大顯神威,自然語言 AI 的同學(xué)終于想起了這篇十年前的論文。NNLM 重出江湖, 為世人所知:

        在 2013 年,AI 研究人員倒騰了一個(gè)自然語言處理的處理模型 Word2Vec。 顧名思義,「Word2Vec」就是「Word to Vector,從詞到向量」。研究人員的目標(biāo)是把一個(gè)單詞變成一個(gè)數(shù)學(xué)向量,這個(gè)數(shù)學(xué)量在 NLP 里有個(gè)專門的名詞,叫做 Word Embedding(詞嵌入)

        為啥要變成一個(gè)向量,出發(fā)點(diǎn)也很簡單,如果能將每個(gè)單詞都能表示為數(shù)學(xué)空間里的一個(gè)向量,那么是不是理論上,在這個(gè)向量空間里比較接近的詞,就是意義接近的單詞呢? 這樣計(jì)算機(jī)不就可以方便的理解單詞之間的聯(lián)系了嗎?

        Word2Vec 翻出了十年前的 NNLM。NNLM 的初衷只是想構(gòu)建一個(gè)神經(jīng)網(wǎng)絡(luò)語言模型,根據(jù)前面的詞,來預(yù)測后一個(gè)是什么詞。NNLM 網(wǎng)絡(luò)內(nèi)部構(gòu)造了一個(gè)隨機(jī)初始化的矩陣,通過不斷的訓(xùn)練,來達(dá)成 NNLM 模型預(yù)測單詞的目的。

        特別湊巧的是,研究人員發(fā)現(xiàn)這個(gè)訓(xùn)練出來的內(nèi)部矩陣的每一行,正好可以作為每個(gè)詞的嵌入向量 Word Embedding!這真是得來全不費(fèi)功夫啊。

        NNLM 和 Word2Vec 使用了類似的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),不過因?yàn)槟康牟煌?,其?xùn)練方法理念是截然不同的。NNLM 作為語言模型,是要看到上文預(yù)測下文,所以訓(xùn)練時(shí)輸入的是句子上文單詞;而 Word2Vec 呢? 因?yàn)樗哪繕?biāo)是要找出所有單詞之間意義遠(yuǎn)近的數(shù)學(xué)關(guān)系,所以訓(xùn)練時(shí)都使用句子上文和下文作為輸入。

        不知道讀者意識(shí)到?jīng)],這兩種訓(xùn)練方式在更高的意義上有著一些本質(zhì)區(qū)別,就好比我們?nèi)祟愓f話,都是順序說出來一個(gè)個(gè)單詞的,說不定呢,人的潛意識(shí)或許也是一個(gè)類似 NNLM 的 P 函數(shù),自覺不自覺地的決定人說話里的下一個(gè)詞是什么。因此只從上文預(yù)測下文的訓(xùn)練方式,貌似天然更契合「生成式」的邏輯。

        而 Word2Vec 這種通過上文和下文輸入來訓(xùn)練的方式,可以比喻成機(jī)器來做閱讀理解,就像是我們做語文或英語的閱讀理解,一定是通讀全文,然后根據(jù)上下文來理解和判斷問題的答案。這樣的人工智能,就是所謂分析式的 AI。

        兩種模型訓(xùn)練的思路,在后續(xù)發(fā)展里變成了自然語言模型的兩種路線。本文開頭提到的 OpenAI 生成式模型 GPT 系列,堅(jiān)定的只用上文進(jìn)行訓(xùn)練,用以追求「純粹」的生成;而 Google 公司的大語言模型 Bert,則采用了上文和下文一起訓(xùn)練的模式,此乃后話。

        前面提到,圖像處理領(lǐng)域里使用大規(guī)模通用數(shù)據(jù)進(jìn)行「預(yù)訓(xùn)練」所取得的效率和成果實(shí)在讓人羨慕,而在自然語言處理領(lǐng)域里,其實(shí)也有一點(diǎn)點(diǎn)「預(yù)訓(xùn)練」概念的,這個(gè)預(yù)訓(xùn)練就是,每個(gè)單詞的 Word Embedding 可以反過來初始化神經(jīng)網(wǎng)絡(luò)的內(nèi)部參數(shù)。

        不去探究數(shù)學(xué)細(xì)節(jié),讀者只要知道,這種「預(yù)訓(xùn)練方式」和前面圖像處理領(lǐng)域的低層級(jí)網(wǎng)絡(luò)預(yù)訓(xùn)練方式有點(diǎn)類似,但問題是利用 Word Embedding 只能初始化第一層網(wǎng)絡(luò)參數(shù),和圖像處理領(lǐng)域的預(yù)訓(xùn)練能有效初始化大多數(shù)網(wǎng)絡(luò)層級(jí)不可同日而語,只能說是一種比較原始初級(jí)的「預(yù)訓(xùn)練」了

        但直到 2018 年前,這就是 NLP 領(lǐng)域里能采用的預(yù)訓(xùn)練典型做法了。

        采用 Word Embedding 來初始化 NLP 神經(jīng)網(wǎng)絡(luò)有那么點(diǎn)效果,但沒有期待的那么好。這里面還有一個(gè)邏輯上的原因:一個(gè)單詞有多義詞問題。所以企圖在一個(gè)數(shù)學(xué)空間里用一個(gè)固定的數(shù)學(xué)向量來表征一個(gè)單詞的意義,還要求含義相近的單詞都聚在一起。 在面對(duì)多義詞的時(shí)候, 這在邏輯上顯然就是矛盾的。

        當(dāng)然了,聰明的 AI 研究人員肯定還是有辦法。既然一個(gè)單詞存在多義性,固定的 Word Embedding 向量無法表達(dá)單詞的多個(gè)含義,那么是不是可以先訓(xùn)練好一個(gè)單詞的 Word Embedding,然后在實(shí)際使用中,根據(jù)句子里的上下文語義去動(dòng)態(tài)調(diào)整這個(gè) Word Embedding 數(shù)值,這樣經(jīng)過調(diào)整后的「動(dòng)態(tài) Word Embedding」 更能準(zhǔn)確表達(dá)單詞在上下文的具體含義,同時(shí)自然的,解決了多義詞的問題。

        這個(gè)根據(jù)當(dāng)前上下文來動(dòng)態(tài)調(diào)整 Word Embedding 的想法就是頂級(jí)學(xué)術(shù)會(huì)議 NAACL 2018 年的最佳論文「Deep Contextualized Word Representation」,這個(gè) NLP 模型命名為 ELMO(Embedding from Language Models,基于語言模型的詞嵌入)

        ELMO 引入上下文動(dòng)態(tài)調(diào)整單詞 Word Embedding 后,多義詞問題就被徹底解決了,而且比預(yù)期的解決得還好:利用 ELMO 改進(jìn)過的多種不同 NLP 任務(wù),性能上都有幅度不同的提升,最高達(dá)到了 25%,不愧是最佳論文。

        此外,ELMO 還有一個(gè)貢獻(xiàn),研究人員發(fā)現(xiàn) ELMO 所使用的深度神經(jīng)網(wǎng)絡(luò)模型里,不同層次提取到的特征是有差異的。看到這里,讀者想起了什么沒有? 是不是和圖像預(yù)訓(xùn)練的模型層級(jí)特征有點(diǎn)像了?

        讓我們復(fù)習(xí)一下,前面講過,圖像處理領(lǐng)域進(jìn)行大規(guī)模預(yù)訓(xùn)練后,把深度學(xué)習(xí)網(wǎng)絡(luò)每層參數(shù)做可視化后可以看到,深度學(xué)習(xí)網(wǎng)絡(luò)每一層都對(duì)應(yīng)著不同抽象層級(jí)的「特征」,在圖像領(lǐng)域里,就是從底層的線段,到中間層的具體五官細(xì)節(jié),再到高層的臉型,等等。

        再說一次,「預(yù)訓(xùn)練」為什么是一個(gè)特別重要的概念? 這是因?yàn)?strong>好的「預(yù)訓(xùn)練」可以直接利用大量標(biāo)準(zhǔn)通用的的訓(xùn)練數(shù)據(jù)(圖像領(lǐng)域就是圖片,NLP 領(lǐng)域就是語料),把深度學(xué)習(xí)模型調(diào)整到了 90% 甚至更高程度的可用狀態(tài),預(yù)訓(xùn)練好的模型最后通過任務(wù)相關(guān)的少量訓(xùn)練數(shù)據(jù),就能微調(diào)至完全勝任各種特定任務(wù),這真是一個(gè)很美妙的事情。

        那么,ELMO 出現(xiàn)后,自然語言處理領(lǐng)域的「預(yù)訓(xùn)練」有可能趕上圖像領(lǐng)域了嗎?

        遺憾的是,還差一口氣。

        因?yàn)榧夹g(shù)原因,LEMO 模型在抽取文字特征方面還比較弱,這是一個(gè)技術(shù)上的缺陷,意味著這個(gè)模型就無法很好完成 NLP 的「預(yù)訓(xùn)練」夢想: 特征都抽取不好,怎么讓網(wǎng)絡(luò)里每一層具體表達(dá)不同邏輯層級(jí)的特征呢。而從技術(shù)細(xì)節(jié)上對(duì)比,也會(huì)發(fā)現(xiàn) ELMO 這種「預(yù)訓(xùn)練」方法和圖像領(lǐng)域的預(yù)訓(xùn)練方法,兩者在模式上還有很大差異。

        自然語 AI 研究人員還需要繼續(xù)找到一個(gè)方法,希望這個(gè)方法能很好的提取出文字的特征,就類似圖像處理領(lǐng)域的神經(jīng)網(wǎng)絡(luò)模型,能很好的提取圖像不同邏輯層面的特征。

        恰就在時(shí)間剛好的 2017 年底, Google 研究人員發(fā)表了一篇里程碑式的論文, 這一篇論文提出的「自我注意力」機(jī)制讓自然語言處理揭開了嶄新的篇章。

        04

        注意力機(jī)制

        和 Transformer

        2017 年 12 月,Google 在頂級(jí)機(jī)器學(xué)習(xí)會(huì)議 NIPS 上發(fā)表了論文《Attention is all you need》,提出在機(jī)器翻譯上大量使用自注意力(Self Attention)機(jī)制來學(xué)習(xí)文本表示,并把這種機(jī)制模型起了個(gè)霸氣的名字:Transformer。

        這篇論文一經(jīng)出世就橫掃了整個(gè)自然語言處理學(xué)術(shù)界,Transformer 迅速的取代了深度學(xué)習(xí)里傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)成為了之后的大語言模型的標(biāo)準(zhǔn)配置。

        Transformer 是目前 NLP 領(lǐng)域里最強(qiáng)的特征提取器,本質(zhì)上 Transformer 是一個(gè)疊加的「自注意力機(jī)制」構(gòu)成的深度網(wǎng)絡(luò)。

        包括我們現(xiàn)在所知道的 OpenAIGPT 系列模型,以及 GoogleBERT 系列模型,都受到了這篇文章的啟發(fā)采用了部分 Transformer 的架構(gòu),從而取得了突破性的效果。

        先說個(gè)題外話,筆者感慨,論文是否牛,一看題目就知道,這篇論文連題目都如此特別和霸氣。

        話說回來,什么是注意力機(jī)制? 深度學(xué)習(xí)里的注意力機(jī)制其實(shí)是一種思想,參考借鑒了人類的注意力思維方式。

        視覺注意力機(jī)制是人類視覺所特有的大腦信號(hào)處理機(jī)制,我們的眼睛會(huì)快速掃描全局圖像,得到需要重點(diǎn)關(guān)注的區(qū)域,就是所謂的注意力焦點(diǎn)后,再進(jìn)一步對(duì)相關(guān)區(qū)域投入更多的關(guān)注。這是人類在長期進(jìn)化中獲得的一種生存機(jī)制,極大提高了人類信息處理的效率和準(zhǔn)確性。

        深度學(xué)習(xí)的注意力機(jī)制在概念上參照了人類的視覺注意力機(jī)制,核心目標(biāo)就是從眾多信息里選擇出對(duì)當(dāng)前任務(wù)更重要和關(guān)鍵的信息。

        具體到 NLP 自然語言處理領(lǐng)域里,在之前,注意力機(jī)制一般是指輸出句子里某個(gè)詞和輸入句子每個(gè)詞之間的相似度。這也很好理解,就是去尋求問題(輸入)和答案(輸出)之間的關(guān)系么。

        但 Google 這篇《Attention is all you need》的特別之處,是明確指出了,我們其實(shí)不需要先考慮輸入和輸出的關(guān)系啊,為什么不參考人類理解語言的方式,首先「學(xué)習(xí)」一句話內(nèi)部單詞之間的關(guān)系呢? 這就是所謂的「SelfAttention 自注意力機(jī)制」:指的是輸入元素之間,或者輸出元素之間的內(nèi)在聯(lián)系機(jī)制。


        如上圖所示,Self Attention 自注意力機(jī)制尋找到了一個(gè)句子里單詞之間的語義特征,「it」指代的是「the animal」

        稍微想一下,Self Attention 自注意力機(jī)制在邏輯意義上非常清晰,它讓機(jī)器去理解人類語言每句話里單詞之間的語義關(guān)系。

        除了邏輯上看起來更有道理,Self Attention 機(jī)制還附帶了一個(gè)很大的好處:因?yàn)榫W(wǎng)絡(luò)層面拋棄了傳統(tǒng)的 RNN(循環(huán)神經(jīng)網(wǎng)絡(luò))模型,徹底規(guī)避了 RNN 不能很好并行計(jì)算的困擾,極大提高了模型并行訓(xùn)練計(jì)算的效率。更不用說,Attention 注意力機(jī)制只關(guān)注部分信息,參數(shù)較少,容易訓(xùn)練。

        有趣的是,谷歌研究人員在這篇重要論文里差點(diǎn)使用了「注意力網(wǎng)絡(luò)」這樣的命名,只是他們覺得這個(gè)名字聽起來實(shí)在不夠響亮,后來團(tuán)隊(duì)里一位工程師給起了個(gè)名字 Transformer,這看起來就高大上很多了。

        基于自我注意力機(jī)制的 Transformer 模型的出現(xiàn)是革命性的,最最重要的一點(diǎn),它能實(shí)現(xiàn)自我監(jiān)督學(xué)習(xí)。所謂自我監(jiān)督,就是不需要標(biāo)注的樣本,使用標(biāo)準(zhǔn)的語料或者圖像,模型就能學(xué)習(xí)了。

        在 Tranformer 出現(xiàn)之前,我們要訓(xùn)練一個(gè)深度學(xué)習(xí)模型,必須使用大規(guī)模的標(biāo)記好的數(shù)據(jù)集合來訓(xùn)練神經(jīng)網(wǎng)絡(luò)。對(duì)數(shù)據(jù)進(jìn)行標(biāo)注只能人工進(jìn)行,金錢和時(shí)間成本都相當(dāng)高。

        讀者如果還有印象,在筆者上一篇關(guān)于 AI 繪畫的文章里有講到,對(duì)于 AI 繪畫至關(guān)重要的跨模態(tài)模型 CLIP 之所以成功,是因?yàn)樗褂昧嘶ヂ?lián)網(wǎng)已經(jīng)帶文字標(biāo)記的圖片作為訓(xùn)練數(shù)據(jù),巧妙規(guī)避了超大規(guī)模數(shù)據(jù)標(biāo)記的難題。

        而回過頭來,Transformer 的核心是在數(shù)學(xué)上計(jì)算輸入元素之間的關(guān)聯(lián)(Attention),通過這種模式,Tranformer 成功的消除了訓(xùn)練數(shù)據(jù)集的標(biāo)注需求!

        這簡直是感天動(dòng)地,我們可以想象一下,從今以后,互聯(lián)網(wǎng)上或者企業(yè)數(shù)據(jù)庫里海量的文本數(shù)據(jù)都能直接成為大模型的訓(xùn)練數(shù)據(jù)源了。

        NVIDIA 創(chuàng)始人兼 CEO 黃仁勛在 2022 NVIDIA GTC 大會(huì)上表示說,Transformer 使自我監(jiān)督學(xué)習(xí)成為可能,并無需人類標(biāo)記數(shù)據(jù),AI 領(lǐng)域出現(xiàn)了「驚人的進(jìn)展」。因此,Transformer 正在越來越多的領(lǐng)域中發(fā)揮作用。比如用于語言理解的 Google BERT,用于藥物發(fā)現(xiàn)的 NVIDIA MegaMolBART 以及 DeepMind 的 AlphaFold2 都要追溯到 Transformer 的突破。

        上面又提到了 Google BERT 語言模型。這里要插一句,Google 引以為傲的語言大模型 BERT 的架構(gòu)和 OpenAI GPT 其實(shí)非常像,但有一個(gè)簡單而本質(zhì)的區(qū)別,在訓(xùn)練階段,Google BERT 輸入上文和下文來訓(xùn)練,OpenAI GPT 系列一直堅(jiān)持只輸入上文訓(xùn)練,而結(jié)果就是,Google BERT 在體現(xiàn) AI 分析能力的各種閱讀理解等問題上,都表現(xiàn)上佳;而 OpenAIGPT 術(shù)業(yè)有專攻,在生成式 AI(比如回答各種問題,創(chuàng)造各種文字內(nèi)容)上一騎絕塵。

        不夸張的說,Transformer 是迄今為止發(fā)明的最強(qiáng)大的模型之一。斯坦福研究人員在 2021 年 8 月的一篇論文把 tranformer 稱之為「基礎(chǔ)模型「(Foundation model),認(rèn)為它推動(dòng)了 AI 整個(gè)范式的轉(zhuǎn)變。


        Transformer 技術(shù)的應(yīng)用面|英偉達(dá)

        05

        GPT-3,神功初成

        受 Google 論文啟發(fā),基于 Transformer 模式的 GPT 系列模型作為 OpenAI 的當(dāng)紅炸子雞,風(fēng)頭當(dāng)下無兩。

        GPT 全稱是「Generative Pre-Training」,直譯過來就是「生成式的預(yù)訓(xùn)練」,有意思吧。

        如前文所說,OpenAI 對(duì) GPT 的生成式 AI 有堅(jiān)定的信念,因此在訓(xùn)練模型的時(shí)候,只選用「上文」來訓(xùn)練模型,也就是說,GPT 本質(zhì)上是一個(gè)極致的概率模型,它根據(jù)上文提示,來猜測下一個(gè)單詞應(yīng)該是什么。

        這個(gè)堅(jiān)持雖然在一開始 GPT-1 和 GPT-2 時(shí)代讓其輸出效果稍遜于同期 Google 的語言大模型 BERT,但到了 GPT-3 時(shí)期,在超級(jí)規(guī)模網(wǎng)絡(luò)參數(shù)的加持下,GPT 這個(gè) 100% 純粹的生成式 AI 終于迸發(fā)出耀眼的光芒,模型輸出效果甚至大幅超越了研究人員的預(yù)期。

        盡管沒有實(shí)證,但筆者很傾向認(rèn)為 GPT-3 的極大成功和 OpenAI 堅(jiān)定不移的只用上文來訓(xùn)練模型有著某種必然的關(guān)系,人的語言溝通也從來都是按順序表達(dá)的,沒有誰先把一句話的最后一個(gè)詞說完才回頭考慮上一個(gè)詞。從這點(diǎn)來看,GPT 系列模型順應(yīng)了人類思考的邏輯,最終由量變推動(dòng)了質(zhì)變。

        終于,借助了 Transformer, GPT 這樣的超大規(guī)模語言模型(GPT-3 有 1750 億個(gè)參數(shù))在不需要標(biāo)記數(shù)據(jù)的情況下,可以借助現(xiàn)成的海量標(biāo)準(zhǔn)數(shù)據(jù)以及超級(jí)算力,得到通用的「預(yù)訓(xùn)練」版本模型。

        可能有讀者會(huì)繼續(xù)問,有了預(yù)訓(xùn)練好的模型版本后,GPT 怎么能以適應(yīng)各種各樣的特定任務(wù)(或者專業(yè)一點(diǎn),「下游任務(wù)」)呢? GPT 論文里給出了簡單的改造施工圖,附在這里讀者們有點(diǎn)直觀感性感知即可??傊ㄟ^簡單的改造操作,GPT 就能很好適應(yīng)不同的任務(wù)。只需要在輸入部分調(diào)整一下就可以了,非常方便。


        補(bǔ)充一句,或許正是因?yàn)楦脑焯貏e方便,OpenAI 的研究人員才能在 GPT-3.5 版之上改造出一個(gè)問答專用的 ChatGPT。雖然還不是基于大殺器 GPT4,但 ChatGPT 所展現(xiàn)出的超強(qiáng)內(nèi)容生成能力,在這幾天已經(jīng)在大眾用戶群體里刮起了超級(jí)旋風(fēng)。

        06

        從 GPT-3 到

        ChatGPT,進(jìn)化繼續(xù)

        在歷史長河里走了過來,終于回到了本文開頭的主角 ChatGPT。

        如果讀者已經(jīng)理解了前面關(guān)于深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的變遷和發(fā)展之路,再來看 ChatGPT 的技術(shù)升級(jí),就是特別簡單的事情了。

        ChatGPT 是基于 GPT-3.5 模型的魔改。GPT-3.5 和 GPT-3 的區(qū)別呢,首先是和微軟合作,在微軟的 Azure AI 云服務(wù)器上完成了訓(xùn)練;另一個(gè)重要的區(qū)別是其訓(xùn)練數(shù)據(jù)集里除了文字,還加入了代碼,因此 ChatGPT 現(xiàn)在已經(jīng)可以寫程序,甚至給現(xiàn)成的代碼找 bug 了。

        為什么試用過 ChatGPT 的同學(xué)都感覺提升很明顯? 一個(gè)重要的原因是 ChatGPT 引入了一個(gè)新的訓(xùn)練方法 RLHF(論文《Training language models to follow instructions with human feedback》發(fā)表于 22 年 3 月),簡單的說,就是用人類反饋的方式加強(qiáng)訓(xùn)練。

        看這個(gè)簡單的描述顯然不能感受到技術(shù)的提升,不過我們只需要理解, 這其實(shí)就是在 GPT-3 的大數(shù)據(jù)預(yù)訓(xùn)練之下,再次加強(qiáng)了人類的反饋。

        有趣的是,前面基于 Transformer 的通用大數(shù)據(jù)無監(jiān)督訓(xùn)練模式把自然語言的自動(dòng)學(xué)習(xí)做到了某種極致,而這個(gè) RLHF 又重新?lián)炱鹆恕甘謩?dòng)檔」人類反饋機(jī)制,貌似有一點(diǎn)返璞歸真的感覺。 仿佛是武功高手練至化境之后,又重新拿起了最早的野球拳,一招使出了無與倫比的超越功力。

        ChatGPT 還有一個(gè)很重要的特點(diǎn),就是針對(duì)輸出有效性上做了非常好的調(diào)整。使用過 ChatGPT 的同學(xué)一定能感覺到,ChatGPT 并非每一個(gè)問題都能回答詳盡,但它絕對(duì)沒有胡說八道,ChatGPT 的回答和真實(shí)世界的情況是相當(dāng)一致的。做到這點(diǎn)很不容易,也是 ChatGPT 和之前容易亂說一氣的問答 AI 模型前輩最大的不同。

        另一個(gè)和確?;卮鹩行酝瑯又档藐P(guān)注的改進(jìn)是,ChatGPT 在道德約束上做得很出色。如果我們?nèi)ピ儐栆恍┯庠搅说赖逻吔绲膯栴},或者一些特別敏感的問題, ChatGPT 基本都能察覺和回避。這讓我們想起了 AI 繪畫大模型最讓人詬病的地方,那就是通過 AI 生成 18 禁圖片,盡管這不是一個(gè)技術(shù)問題,但對(duì)于一個(gè)智能內(nèi)容生成平臺(tái),我們顯然要有方法管理好內(nèi)容的質(zhì)量,以及內(nèi)容的道德邊界。在這一點(diǎn)上,ChatGPT 帶了一個(gè)好頭。

        ChatGPT 的試用版在 OpenAI 的 RLHF 論文發(fā)出半年之后剛剛推出,根據(jù) OpenAI 研究人員自己的說法,內(nèi)部經(jīng)過了大量調(diào)優(yōu),而且即使當(dāng)下,ChatGPT 還是有很多需要改進(jìn)的地方。但無論如何,ChatGPT 已經(jīng)展示給我們所有人,自然語言生成式 AI 所能達(dá)到的全新高度。

        筆者特別憧憬 GPT4 的 ChatGPT 改版。 如果如傳說那般,GPT4 已然突破了圖靈測試,筆者對(duì)基于 4.0 版本的 ChatGPT 抱有無限的期待。說不定,作者在上一篇文章里預(yù)言的,AI 大模型來寫長篇玄幻小說的時(shí)代,馬上就要來臨了。

        07

        后記

        如果能耐著性子讀到這里,讀者應(yīng)該自然語言的生成式 AI 的前世今生有了一點(diǎn)概念。

        回過頭來再問一次,對(duì)于「預(yù)訓(xùn)練」這個(gè)深度模型里的重要概念。讀者有沒有想過,預(yù)訓(xùn)練到底是什么?

        對(duì),具體而言,預(yù)訓(xùn)練就是在幾千億參數(shù)的支持下,類似 GPT 這樣的超級(jí)模型灌入了難以計(jì)量的文本訓(xùn)練數(shù)據(jù)(說不定已經(jīng)把全世界可以搜刮到的文本都拿來用了)來訓(xùn)練得到了一個(gè)通用大語言模型。

        不過,在更高的一個(gè)角度去暢想,當(dāng)我們把全世界的文字信息直接灌進(jìn)擁有數(shù)千億參數(shù)的 AI 模型里,模型在網(wǎng)絡(luò)的各個(gè)層級(jí)上抽取和記憶這些文字里的特征信息。那么,GPT 這樣的超級(jí)模型實(shí)際上就在通過所謂預(yù)訓(xùn)練方式,學(xué)習(xí)到了人類所有文字信息的全部特征,直接把人類的語言智慧記在了自己幾千億量級(jí)的神經(jīng)網(wǎng)絡(luò)大腦里。

        做到了這種程度,真的就像是我們用人類的全部知識(shí)體系來培養(yǎng)出了一個(gè)超級(jí)強(qiáng)大的機(jī)器大腦,這個(gè)大腦通過它超大規(guī)模的人工神經(jīng)網(wǎng)絡(luò)規(guī)模接納學(xué)習(xí)了人類創(chuàng)造的所有內(nèi)容。進(jìn)而,針對(duì)人類的任意問題,AI 可以做出連圖靈測試都無法區(qū)分的真正智能回答。

        人類已經(jīng)馬上無法分辨,在小黑屋后面,那究竟是一個(gè)人還是一個(gè) AI 了。

        這一天來得比想象更快。

        一個(gè)能容納和理解人類全部文字知識(shí),并做出真正智能回答的 AI,我們是不是可以簡單認(rèn)為:

        今天,真正的機(jī)器智能,已然誕生。

        *頭圖來源:OpenAI

        極客一問

        你如何看待 ChatGPT?

        更多創(chuàng)新大會(huì)詳情