<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          GPT 的野望

          共 14985字,需瀏覽 30分鐘

           ·

          2021-02-05 20:24



          ??新智元推薦?

          來(lái)源:安迪的寫作間

          作者:安迪的寫作間


          一狠心,開個(gè)大坑吧,寫寫 GPT 發(fā)家史,如何從最初少人知曉,偏居一方,直到被 BERT 點(diǎn)名才被大家知道,再到 GPT2 一戰(zhàn)成名。之后 OpenAI 和 GPT 相關(guān)的一舉一動(dòng)就都倍受關(guān)注,一有消息,便成為熱議,比如這次 DALL·E,還有之前 GPT3 連正式博客都沒(méi)發(fā)就各種討論。

          我之前算半個(gè) GPT 黑粉,因?yàn)橛X(jué)得技術(shù)創(chuàng)新不高,不像 BERT 有 MLM 這樣驚艷的想法,所以沒(méi)覺(jué)得很厲害。

          之前有段時(shí)間被一個(gè)加拿大小哥纏著講 GPT,他一直說(shuō) GPT 就是未來(lái),就是 AGI(強(qiáng)人工智能),但其實(shí) Transformer 都不是很懂。我當(dāng)然對(duì)他是嗤之以鼻,還是最后收了 100 刀(用這錢買了一堆課)才給他把 GPT 結(jié)構(gòu)從下到上都捋了一遍,細(xì)到計(jì)算圖每個(gè)節(jié)點(diǎn)。

          現(xiàn)在,隨著 OpenAI 一步步往上堆,到 GPT3 各種 demo 出來(lái),再到 DALL·E 直接文本生成圖片,我也只能直呼牛比,香,真香。事實(shí)證明了不斷堅(jiān)持做一件正確事情的重要性。

          有趣的是, OpenAI 成立之初并非因?yàn)槲谋旧赡P投?,這點(diǎn)和 DeepMind 些許不同,后者專注強(qiáng)化學(xué)習(xí)一百年。

          OpenAI 一開始兩條線是強(qiáng)化學(xué)習(xí)和生成模型(集中 GAN),而?GPT 開始也沒(méi)受到太大關(guān)注,而是在探索中 OpenAI 發(fā)現(xiàn)了其可能性,便開始大力投入,到現(xiàn)在基本上一大半項(xiàng)目都與其相關(guān)。

          所以,現(xiàn)今大家提起 OpenAI 相信都是馬上想起 GPT,再或者和馬一龍(Elon Musk)早期有一腿,又多少人還能想起強(qiáng)化學(xué)習(xí)和GAN呢。

          因?yàn)檫@樣的發(fā)展,因此回顧 GPT 的發(fā)展史無(wú)疑是非常有趣的。這種始于微末,到之后野心龐大,仿佛要”天下布武“,文本音頻圖像統(tǒng)統(tǒng)都要的故事性。讓我馬上中二了,這種劇情太有戲劇性了,不正是:GPT 的野望!

          接下來(lái)就來(lái)一起看看 GPT 是如何發(fā)家,一步步長(zhǎng)大,實(shí)現(xiàn)它野望的吧?。ㄎ奈灿袝r(shí)間線)

          GPT:始于微末,偏居一方


          說(shuō)起 GPT 的東家 OpenAI,如上面提到的,剛成立時(shí)肯定也沒(méi)想到自己之后是靠 GPT 加入大力神教而成名。

          畢竟那時(shí)剛發(fā)布 OpenAI Gym 的它還想著如何用強(qiáng)化學(xué)習(xí)來(lái)搏得一席之地,更遠(yuǎn)些實(shí)現(xiàn) AGI,但如今大家也都知道了,幫他完成心愿的可能是 Hassabis 帶領(lǐng)的 DeepMind 了。
          看看 OpenAI 早期成員,除 Pieter Abbeel 等做強(qiáng)化學(xué)習(xí)的,就是一眾做偏圖像生成的,比如 GAN 提出者 Ian Goodfellow 最早也是入職 OpenAI,同期入職的還有一個(gè)叫 Alec Radford 發(fā)明 DCGAN 的精神小伙。

          大家記住這個(gè)名字,因?yàn)樗麑?duì) GPT 的發(fā)展應(yīng)該說(shuō)至關(guān)重要。

          所以可以看出最早 OpenAI 就是群做強(qiáng)化學(xué)習(xí)和圖像生成的人,沒(méi)啥做 NLP 的,自然也難料想自己居然是通過(guò) NLP 來(lái)一戰(zhàn)成名。

          因此 GPT 模型也是從 OpenAI 15年成立,過(guò)了三年,到 18 年才趁著改革開放四十周年的春風(fēng),哦不,Transformer 和 NLP 預(yù)訓(xùn)練模型的春風(fēng),得以出現(xiàn)。

          當(dāng)時(shí),提出 Transformer 的?Attention Is All You Need?于17年剛發(fā)表,大家尚在觀望 Transformer 的效果,筆者也還在用 LSTM 做翻譯。

          而到了 18 年,亦可說(shuō)是 NLP 預(yù)訓(xùn)練模型元年,開年 ULMFiT 和 ELMo 打開戰(zhàn)局,到 年底 BERT 屠榜血流成河,讓 NLP 領(lǐng)域進(jìn)入了被芝麻街支配的恐怖。


          而第一代 GPT 也正是在這個(gè)風(fēng)雨交加的一年的年中誕生,其實(shí)要說(shuō)先兆也不是沒(méi)有,看 OpenAI 17 年發(fā)的一篇博客?Unsupervised Sentiment Neuron,就已能看到其為之后 GPT 研究打下的基礎(chǔ)。

          這篇論文用 LSTM 在 Amazon 商品評(píng)論上訓(xùn)練單向語(yǔ)言模型,發(fā)現(xiàn)只通過(guò)這樣如此簡(jiǎn)單的預(yù)訓(xùn)練目標(biāo),LSTM 就能產(chǎn)生一種情感神經(jīng)元可以反應(yīng)不同的情感。

          雖然當(dāng)時(shí)用預(yù)訓(xùn)練獲得表示在 SST 情感分類上取得了 SOTA,但大家更多聚焦的是它的可解釋性,以及通過(guò)情感神經(jīng)元進(jìn)行可控生成的工作,倒并沒(méi)對(duì)預(yù)訓(xùn)練給予太多關(guān)注,我最早知道該研究也是可解釋性。

          不過(guò)大家馬上也看出其實(shí)這已為之后 GPT 打下了基礎(chǔ),GPT 和該研究的不同只在于將 LSTM 替換成 Transformer,還有用了更大更 general 的數(shù)據(jù)(這個(gè)套路之后也會(huì)不斷出現(xiàn)),用的仍然是”如此簡(jiǎn)單的預(yù)訓(xùn)練目標(biāo)“。

          從作者陣容也能看出,Sentiment Neuron?的兩位主要人員 Alec Radford 和 Ilya Sutskever 也在之后的 GPT 文章中一而再,再而三出現(xiàn)。倆人可堪稱為 GPT之父。

          說(shuō)完前身,正式看看 GPT 模型吧,也可稱其為?GPT1。

          GPT 全稱為?Generative?Pre-Train(查了才知道),也就顧名思義通過(guò)生成式來(lái)預(yù)訓(xùn)練

          模型結(jié)構(gòu)是?Transformer Decoder 結(jié)構(gòu),共 12 層,隱層大小 768,12 注意力頭,訓(xùn)練長(zhǎng)度為 512 個(gè) token 長(zhǎng)??傆?jì) 1.1億參數(shù),和之后的模型比當(dāng)然只是個(gè)小不點(diǎn),但當(dāng)時(shí)也不小了。最大的 ELMo 才9千萬(wàn)參數(shù)。
          用到的數(shù)據(jù)是 BooksCorpus 數(shù)據(jù)集(約5GB),大概在 8 張 P600 (內(nèi)存2GB)上訓(xùn)了一個(gè)月,可看到這時(shí)候給的資源還挺少。

          效果實(shí)驗(yàn)也主要在**語(yǔ)言理解(Language Understanding)**任務(wù)上做的,在 GLUE 上取得的效果在當(dāng)時(shí)看來(lái)也挺好的,很多任務(wù)上取得了 SOTA,但奇怪的是 GPT 似乎并沒(méi)受到太大關(guān)注,也可能只是在小領(lǐng)域內(nèi)有些名氣,但整體來(lái)說(shuō)還是少被提及(或許也跟它 idea 沒(méi)太大創(chuàng)新性有關(guān))。

          我最初知道 GPT,估計(jì)和大多人一樣,都是看到 BERT 論文中 pick 它出來(lái)碾壓的時(shí)候。

          這時(shí)的 OpenAI 還沒(méi)有看到 GPT 真正潛力所在,只是用它來(lái)做語(yǔ)言理解方面任務(wù),但卻忽略了它真正潛力其實(shí)在生成。而這也正是 GPT 之后幾代亮點(diǎn)所在。

          GPT 這篇博客?Improving Language Understanding with Unsupervised Learning,可看到 Future 一欄其中一條寫著?Scaling the approach。
          there is significant room for improvement using the well-validated approach of more compute and data.
          如果適當(dāng)?shù)挠酶嗨懔蛿?shù)據(jù)的話,還有很大的提升空間。
          毫無(wú)疑問(wèn),這條路確實(shí)是正確的!

          因?yàn)?GPT2 的到來(lái)。


          GPT2:Too Dangerous To Release,一戰(zhàn)驚天下


          18年在 BERT 橫空出世后的余震中結(jié)束,當(dāng)翻過(guò)一年到 19 年,正值2月14日那天,情人節(jié),一個(gè)本應(yīng)是異性戀們暴擊單身狗,給單身狗們飽喂狗糧的日子。

          但科研單身狗卻來(lái)不及傷心,只因 GPT2 的出現(xiàn)給機(jī)器學(xué)習(xí)領(lǐng)域投下又一枚炸彈,造成的整動(dòng)是2019年全年,隨著每次模型放出,都能成為頭條。不管是 PR 做得好,還是 GPT2 真的就是危險(xiǎn),但至少讓 GPT2 聞名的目的已達(dá)到。


          正所謂一戰(zhàn)驚天下,如織田信長(zhǎng)桶狹間一戰(zhàn),成功斬首今川義元,從一方小勢(shì)力成為名震天下的大名,開始其稱霸之路。GPT 也正是從 GPT-2 的知名后,開始了其稱霸之路。

          大多人知曉 GPT2,還是從那句”Too Dangerous To Release(太危險(xiǎn)了,不能給)“的回復(fù)開始。

          GPT2 的成功真可以說(shuō)是 AI 界最佳 PR 了,比起我司某某模型打了某某榜簡(jiǎn)直厲害百倍。論文發(fā)出來(lái),大家要模型,先稱太危險(xiǎn),利用大家對(duì) AI 滅世論的恐懼來(lái)挑起話題。

          而之后放出的 Demo 也確實(shí)精彩,引起了一片論戰(zhàn),大家紛紛站邊,到底該不該開源 GPT2 模型,還都說(shuō)得很有道理。

          此外,還依稀記得 GPT2 有蹭到流量之王馬一龍的流量,以及全年陸續(xù)開源模型的策略也不斷拉起話題,真的牛。

          而要說(shuō) GPT2 所宣稱的?Misinformation(虛假信息)危險(xiǎn),我個(gè)人也覺(jué)得確實(shí)應(yīng)該注意,疫情期間自己還盡過(guò)一份力來(lái)打擊,但對(duì)于 GPT2,我只覺(jué)得是個(gè)幌子,之后大家也發(fā)現(xiàn)真正該防范的其實(shí)是 GAN(DeepFake)的 Misinformation,OpenAI 幾個(gè)月后自己也發(fā)了博客,根據(jù)調(diào)查好像也沒(méi)啥太大危害,哈哈哈,大家隨意大家隨意。

          接下來(lái)聊聊 GPT2 的模型細(xì)節(jié),還有其所宣稱的驚人效果吧。

          相比起 GPT,GPT2 主要的不同還是在于模型、數(shù)據(jù)、以及訓(xùn)練規(guī)模,更大更強(qiáng)了。
          首先模型方面,GPT2 最大的模型有 48 層,1600 隱層大小,25個(gè)注意力頭,1024的上下文長(zhǎng)度,而 GPT 的大小只相當(dāng)于 GPT2 最小那個(gè)模型。

          數(shù)據(jù)方面,通過(guò)抓取 Reddit 上 3 個(gè)點(diǎn)贊以上鏈接的文章,進(jìn)行清洗,獲得 40GB 的文本數(shù)據(jù),稱其為?WebText。

          此外模型架構(gòu)有點(diǎn)輕微改變,主體上還是 Transformer,但將 Layer Normalization 放到了注意力層的前面。相當(dāng)于直接給 Token 向量打通了一條直通最后一層的通路,不知是否是因?yàn)檫@樣會(huì)更有利于生成式訓(xùn)練。
          訓(xùn)練花費(fèi)上,大概用 32 塊 TPU v3(8 個(gè)核)訓(xùn)了一周,花了 4.3 萬(wàn)美金。在 18 年那個(gè)大家還不是很見過(guò)世面的時(shí)候,都被驚呆了,二三十萬(wàn)一個(gè)模型,乖乖。

          當(dāng)然,現(xiàn)在大家都已經(jīng)習(xí)以為常,翻翻眼皮該干啥繼續(xù)干啥。

          關(guān)于效果方面相信也都很清楚,這次 OpenAI 意識(shí)到了,原來(lái) GPT2 的強(qiáng)項(xiàng)不在語(yǔ)言理解啊,所以都沒(méi)在 GLUE 上測(cè)試,而是直接展示 GPT2 真正的強(qiáng)項(xiàng),生成。

          論文中展示了一個(gè) GPT2 生成的關(guān)于科學(xué)家發(fā)現(xiàn)獨(dú)角獸的故事,雖然被吐槽是 Cheery-Pick(精心挑選)出來(lái)的,但效果還是非常驚人,包括其生成的流暢性,前后的邏輯性等等。


          也正是因?yàn)楹眯Ч琌penAI 才有底氣稱 GPT2 太危險(xiǎn),怕被濫用。

          除了故事生成,也是從 GPT2 開始 OpenAI 開始重視其用于 Zero-Shot 的可能性。首先在各個(gè)語(yǔ)言模型任務(wù)上不訓(xùn)練直接進(jìn)行評(píng)估,結(jié)果發(fā)現(xiàn) GPT2 語(yǔ)言模型強(qiáng)大到直接 Zero-Shot 情況下屠榜。

          當(dāng)然語(yǔ)言模型任務(wù)還不是關(guān)鍵,更關(guān)鍵的是對(duì)其他任務(wù)也進(jìn)行?Zero-Shot,比如問(wèn)答,翻譯,總結(jié)... 不訓(xùn)練只給出一些范例,然后讓 GPT2 基于范例文本來(lái)直接進(jìn)行生成,展示了 GPT2 的通用性。

          關(guān)于 GPT2 模型開源策略,二月放出 small 模型,五月放出 medium 模型,八月才放出 larger 模型 ,十二月放出最大的 xl 模型,剛好一年。

          這一年里,大家也基于 GPT2 放出的模型做了各種 demo,比如 HuggingFace 的 TalktoTransformer,和代碼補(bǔ)全的 TabNine(用過(guò)都說(shuō)好,除了資源消耗大),還有其他家也訓(xùn)練了類似模型,比如 Grover,但也學(xué) OpenAI 沒(méi)放出大模型,理由直接略,同 OpenAI。


          GPT2 就這樣紅了 19 年一整年,期間當(dāng)然芝麻街的各位也是你方唱罷我登場(chǎng),打得不可開交。

          在進(jìn)入讓所有人都難忘的 20 年前,還需要倒轉(zhuǎn)一下時(shí)間,因?yàn)閺哪瓿醴懦?GPT2 后,OpenAI 也沒(méi)閑著,當(dāng)然不是把所有工夫都放在”安全“問(wèn)題上。

          而是在 GPT2 看到的可能性上進(jìn)行進(jìn)一步的探索與準(zhǔn)備,首先第一步,為下一步的更大更強(qiáng)打好基礎(chǔ)!

          練兵屯糧:OpenAI LP,Sparse Transformer... All For Scaling!


          第一步,當(dāng)然是搞錢。

          GPT2 的燒錢能力也是有目共睹,按照 OpenAI 的構(gòu)想還要做得更大更強(qiáng),往更多領(lǐng)域推廣,就需要大量錢來(lái)搭建自己的大規(guī)模計(jì)算系統(tǒng)(GPT2 還借的谷歌家的 TPU),勢(shì)必?zé)X速度就更快了。

          因此 OpenAI 先成立了一個(gè)好搞錢的所謂 ”Capped-Profit (有上限盈利)“ 的子公司 OpenAI LP,而母公司 OpenAI 還是 non-profit。

          沒(méi)過(guò)多久,就收到了微軟爸爸給的一億美金,同時(shí)合作一起開發(fā)專門給 OpenAI 用的大規(guī)模云計(jì)算資源。

          在大規(guī)模分布式訓(xùn)練過(guò)程中,OpenAI 用的是 Kubernetes 搭建集群進(jìn)行實(shí)驗(yàn),也總結(jié)了大量的經(jīng)驗(yàn),包括?Scaling Kubernetes to 2,500 Nodes?和?Scaling Kubernetes to 7,500 Nodes?兩篇博客,后面提到的 GPT3、DALL-E、以及 CLIP 等模型都是在 7500 節(jié)點(diǎn)集群上訓(xùn)練的。

          于是硬件資源就搞定了,之后是軟件方面,如果要進(jìn)一步擴(kuò)大 GPT 的規(guī)模,包括模型大小,還有建模長(zhǎng)度,那勢(shì)必要優(yōu)化一下原始 Transformer 模型。

          原始?Transformer 模型的缺點(diǎn)總所周知,就是它的??計(jì)算復(fù)雜度,這也是近期的一個(gè)熱門研究方向,魔改 Transformer,降低計(jì)算復(fù)雜度。

          OpenAI 也給出自己的魔改方案,那就是?Sparse Transformer.

          如其名 Sparse(稀疏),主要對(duì) Transformer 中最占計(jì)算量的注意力矩陣(Attention Matrix)部分做了優(yōu)化,通過(guò)稀疏化,將計(jì)算量從??降到了?.?

          具體操作就是通過(guò)觀察總結(jié)后,將原來(lái)的注意力模式,替換成設(shè)定的更有效率的注意力模式,從而將算子中一個(gè)??降到了?.

          當(dāng)然 Sparse Transformer 那篇論文不光是提出了 Sparse Attention,還包括如何用它來(lái)構(gòu)建更大規(guī)模的模型,包括增加到數(shù)百層,怎么通過(guò)重計(jì)算注意力權(quán)重來(lái)減少訓(xùn)練時(shí)內(nèi)存使用,以及將稀疏注意力模式寫成 GPU 核函數(shù)提高效率,此外還有混合精度等等。

          還有一個(gè)非常需要指出的就是,OpenAI 從這里就已開始將 Transformer 不光用在文本,還用在音頻和圖像序列生成上了,這也為之后的發(fā)展打下一定基礎(chǔ)。

          除了上面提到的軟硬件,OpenAI 也積累了各種大規(guī)模訓(xùn)練經(jīng)驗(yàn),都是些經(jīng)(shao)驗(yàn)(qian)法則,總結(jié)出模型大小,數(shù)據(jù)集大小,計(jì)算量和損失的關(guān)系,還有模型的寬度和深度比例如何處理等等。

          這些規(guī)律的總結(jié)無(wú)疑對(duì) OpenAI 進(jìn)行各種實(shí)驗(yàn)非常有幫組,包括如何進(jìn)行架構(gòu)參數(shù)設(shè)計(jì),如何分配最優(yōu)計(jì)算資源。

          感興趣可以查看這兩篇論文 ?Scaling Laws for Neural Language Models,Scaling Laws for Autoregressive Generative Modeling。看完這兩篇,不由深感我等之貧窮,灑下了不甘的淚水。

          基礎(chǔ)都準(zhǔn)備好了,就是時(shí)候開始我們 GPT 的野望了,攻城略地,進(jìn)擊吧?。?!


          進(jìn)擊:音頻之音樂(lè)生成




          有了 GPT2 在文本的性能展示,以及 Sparse Transfromer 的各種訓(xùn)練優(yōu)化,是時(shí)候?qū)?GPT 的腳步邁出單純的文本生成了。

          第一步就是音頻,音樂(lè)生成。

          其實(shí) Sparse Transformer 有對(duì)音頻進(jìn)行直接生成的實(shí)驗(yàn),所以看到希望后,OpenAI 就開始慢慢投入人力來(lái)發(fā)展這條線。最開始對(duì)這方面進(jìn)行探索的是 Christine McLeavey Payne,做了個(gè)簡(jiǎn)單的 demo,MuseNet.

          緊接 GPT2 不久,19年四月末就發(fā)布的 MuseNet,模型結(jié)構(gòu)用的就是 Sparse Transformer 的 72 層,24頭,4096 上下文長(zhǎng)度的模型,訓(xùn)練目標(biāo)也很簡(jiǎn)單,將 GPT2 的文本序列換成了將 MIDI 文件的音頻給 Token 化后的序列,單向序列生成。

          而訓(xùn)練數(shù)據(jù)用的是,搜集到的各種 MIDI 文件,其中包括古典音樂(lè),爵士,流行各種風(fēng)格。

          還帶有各種元信息,樂(lè)器作曲家等,這樣就能加入樂(lè)器 Token 和作曲家 Token 來(lái)讓模型分清不同樂(lè)器和作曲家風(fēng)格,之后生成也就更可控。

          大概訓(xùn)練數(shù)據(jù)的格式如下:
          bach piano_strings start tempo90 piano:v72:G1 piano:v72:G2 piano:v72:B4 piano:v72:D4 violin:v80:G4 piano:v72:G4 piano:v72:B5 piano:v72:D5 wait:12 piano:v0:B5 wait:5 piano:v72:D5 wait:12 piano:v0:D5 wait:4 piano:v0:G1 piano:v0:G2 piano:v0:B4 piano:v0:D4 violin:v0:G4 piano:v0:G4 wait:1 piano:v72:G5 wait:12 piano:v0:G5 wait:5 piano:v72:D5 wait:12 piano:v0:D5 wait:5 piano:v72:B5 wait:12
          可看到,只是簡(jiǎn)單的給 MIDI 中的信息用文本表示出來(lái)了,包括樂(lè)器,音高,音量等(樂(lè)器:音量:音高)。

          而實(shí)際效果,聽了下,比較適合寫作業(yè)聽,雖然聽起來(lái)像那么回事,但一首曲子沒(méi)有完整主題,跳來(lái)跳去,風(fēng)格倒是像一聽就聽出來(lái)了。

          整體來(lái)說(shuō)效果還挺好的,特別想到這只是基于單向序列預(yù)測(cè)來(lái)生成的。研究生階段隔壁就是做音樂(lè)生成,看教授做的各種東西,會(huì)發(fā)現(xiàn)需要各種音樂(lè)理論,前后處理很麻煩,生成效果還不一定好。

          而 MuseNet 直接無(wú)視各種理論,單向無(wú)腦輸出??深惐日Z(yǔ)言生成方面,GPT 也沒(méi)用到什么句法樹啥的語(yǔ)言結(jié)構(gòu)理論,只是單向輸出,卻能獲得結(jié)構(gòu)完整,邏輯還不錯(cuò)的文本。

          當(dāng)然 MuseNet 只是第一步,之后一年內(nèi) OpenAI 擴(kuò)大團(tuán)隊(duì)(Alec 和 Ilya 也介入),又做出了一個(gè)更棒的音樂(lè)生成產(chǎn)品,那就是恰好一年多一點(diǎn)的20年4月末放出的?JukeBox.


          JukeBox 相比起 MuseNet 最大的改進(jìn)就是————更大了。

          上下文長(zhǎng)度擴(kuò)大到 8192,但這不是關(guān)鍵,最關(guān)鍵的兩點(diǎn)在于
          • 將 MIDI 輸入變成了 32-bit 44.1kHz 的純音頻輸入,加入了編碼解碼方案來(lái)將音頻 token 化,以及還原
          • 可基于文本(歌詞)進(jìn)行聲音的輸出

          對(duì)于第一點(diǎn),主要考慮,如果將純音頻輸入當(dāng)做 bit 處理,那么一個(gè)只有4分鐘的音樂(lè)就有超過(guò)1000萬(wàn)個(gè)時(shí)間步,而如果想學(xué)習(xí)音樂(lè)的高層次信息又得參考全局信息,而這么長(zhǎng)的時(shí)間步根本不可能直接用 Transformer 處理。

          因此一個(gè)解決方案就是,通過(guò)將一段音頻給離散化壓縮投影到一個(gè)更低維的空間 token 化,來(lái)減少時(shí)間步。

          而這里將音頻離散化以及還原的部件用的是 VQ-VAE-2,能將音頻編碼成不同層次的 token,然后再解碼回去。

          對(duì)于第二點(diǎn),訓(xùn)練倒不難,難在獲得歌詞與音樂(lè)的對(duì)齊數(shù)據(jù),研究人員通過(guò)一些先驗(yàn),比如每個(gè)詞固定窗口大小,或用 AutoLyricsAlign 這樣的對(duì)齊工具來(lái)處理。

          效果和 MuseNet 類似,效果不差聽起來(lái)像個(gè)樣子,而且在一些小范圍還能生成一些很棒的片段,但大的像整個(gè)音樂(lè)的維度上卻差強(qiáng)人意,不能生成那種整體結(jié)構(gòu)化的東西。

          此外這個(gè)模型巨慢,生成一分鐘音頻要將近 9 個(gè)小時(shí)。也找了音樂(lè)家來(lái)用,但發(fā)現(xiàn)尚沒(méi)有比較好的輔助創(chuàng)作的用途。

          但整體來(lái)說(shuō)還是很 impressive 的,因?yàn)楫吘故侵苯訌募円纛l來(lái)做的音樂(lè)生成,也證明了在 GPT 在音頻領(lǐng)域的能力。

          進(jìn)擊:強(qiáng)化學(xué)習(xí)之加入人反饋的文本生成

          在文本生成方面,OpenAI 希望能做得更好。雖然 GPT2 顯示不經(jīng)過(guò)訓(xùn)練,只用一些文本 Prompt(提示)來(lái)引導(dǎo),就能完成很多任務(wù),比如翻譯,摘要等等,但性能也理所當(dāng)然不會(huì)太好,也很難控制。

          于是就 OpenAI 就準(zhǔn)備利用自己的強(qiáng)項(xiàng),強(qiáng)化學(xué)習(xí),來(lái)對(duì)文本生成進(jìn)行加強(qiáng)。
          第一個(gè)探索成果是,19年9月發(fā)布的?Fine-Tuning GPT-2 from Human Preference,方法非常簡(jiǎn)單,雖然用了強(qiáng)化學(xué)習(xí)的概念,但卻是一個(gè)你我他,三歲小孩都懂的強(qiáng)化學(xué)習(xí)方法。

          就是針對(duì)特定任務(wù),先給個(gè)可基于文本,然后再給出四個(gè)可能樣本,之后找眾包工具人們,做多選題,對(duì)當(dāng)前任務(wù)哪個(gè)最好,最后 GPT2 就用這個(gè)來(lái)進(jìn)行 finetune 訓(xùn)練。

          非常簡(jiǎn)單吧,名副其實(shí)的**“人工”智能**,給我一堆人,我就能生成一個(gè)宇宙。
          任務(wù)包括限定風(fēng)格的文本續(xù)寫,以及文本摘要。


          發(fā)現(xiàn)對(duì)續(xù)寫任務(wù),基于人反饋的 GPT2 只用非常少樣本就能生成非常好的結(jié)果。但文本摘要卻出了問(wèn)題,因?yàn)槿祟悩?biāo)注會(huì)傾向于直接抽取式的摘要結(jié)果,導(dǎo)致 GPT2 也學(xué)到了這種傾向,變得只會(huì)簡(jiǎn)單地從文本中進(jìn)行 copy 來(lái)進(jìn)行摘要生成

          同樣剛好一年后(發(fā)現(xiàn)規(guī)律了嗎),2020年9月 OpenAI 放出一篇新博客,Learning to Summarize with Human Feedback. 正是吸取上面的經(jīng)驗(yàn)后,做出的進(jìn)一步實(shí)驗(yàn)。

          這次用到了真正的強(qiáng)化學(xué)習(xí)。

          只關(guān)注一個(gè)任務(wù),之前不太成功的文本摘要,用的是 Reddit TL;DR 數(shù)據(jù)集。效果比上次好很多,能不 finetune 直接用在 CNN/DailyMail 摘要任務(wù)上用,效果還很好,都能作為一個(gè)通用的摘要模型了。

          而相比起之前最主要的改進(jìn),在于兩點(diǎn)
          • 最重要的還是在于標(biāo)注質(zhì)量的提高,之前出的問(wèn)題是模型會(huì)經(jīng)常只 copy 片段用于摘要,但這是由于標(biāo)注導(dǎo)致的。所以這次 OpenAI 吸取教訓(xùn),不再用眾包,直接雇了 80 個(gè)標(biāo)注合約工,不按件計(jì)費(fèi)了,要注重質(zhì)量。此外,還對(duì)每個(gè)人進(jìn)行了詳細(xì)的面試入職,開發(fā)專門的標(biāo)注界面,還有專門的聊天室來(lái)咨詢問(wèn)題,還會(huì)一對(duì)一打視頻電話對(duì)... 非常用心了這次,因此才能獲得比上次質(zhì)量高很多的標(biāo)注。


          • 其次用到了真正意義上的強(qiáng)化學(xué)習(xí)算法 PPO,而 reward 不再是人直接給了,而是先用上面的高質(zhì)量標(biāo)注訓(xùn)練一個(gè)好的 reward 模型,之后再用這個(gè) reward 模型來(lái)優(yōu)化生成策略。



          整個(gè)過(guò)程就如下圖:

          1. 先收集高質(zhì)量人類標(biāo)注
          2. 再用標(biāo)注訓(xùn)練 reward 模型
          3. 最后用 reward 模型來(lái)訓(xùn)練生成策略,進(jìn)行摘要生成

          這套流程 OpenAI 非常熟悉,之前就有相關(guān)成果。

          除了前面說(shuō)的克服了之前模型 copy 的缺點(diǎn),還發(fā)現(xiàn)通過(guò)強(qiáng)化學(xué)習(xí)策略,能讓小模型比大模型有監(jiān)督效果更好,比如通過(guò)該方式訓(xùn)練 13億 參數(shù)模型,比120億參數(shù)直接監(jiān)督訓(xùn)練的摘要效果還要好。

          當(dāng)然和其他 GPT 一樣缺點(diǎn)就是太大了,6.7B的模型用強(qiáng)化學(xué)習(xí)來(lái) finetune 需要 320 GPU天。

          進(jìn)擊:圖像之圖像生成



          要說(shuō) GPT 系列里最讓人 impressive 的,還是圖像生成的成果,前段時(shí)間的 DALL-E 正是這部分的最新成果,也是 DALL-E 讓我萌生了寫這篇文章的想法。

          DALL-E 和之前的 JukeBox,還有強(qiáng)化學(xué)習(xí)摘要一樣,在正式出場(chǎng)前,都先有一個(gè)初步探索的成果。而對(duì)于 GPT 圖像生成,這個(gè)成果就是 imageGPT 了,簡(jiǎn)稱?iGPT.


          idea 非常簡(jiǎn)單,和 Sparse Transformer 里做法一樣,對(duì)圖片像素直接進(jìn)行序列預(yù)測(cè),但 iGPT 為了展示 GPT 強(qiáng)大的通用性,刻意使用了和 GPT2 一樣的架構(gòu),同時(shí)也為了避免植入先驗(yàn),所以直接用的是完整版 Transformer,即計(jì)算復(fù)雜度?的版本。

          這也導(dǎo)致 iGPT 的訓(xùn)練消耗很大,需要 2500 個(gè) V100 天。因?yàn)樗懔π枨蟾?,這也讓 iGPT 的建模長(zhǎng)度不能太長(zhǎng),所以是在三種低分辨率大小上進(jìn)行的訓(xùn)練:32x32, 48x48, 64x64。

          為了進(jìn)一步減少序列長(zhǎng)度,沒(méi)有直接用 RGB 編碼格式的圖片進(jìn)行訓(xùn)練,而是 OpenAI 自己搞出了一個(gè) 9-bit 的顏色編碼,比 RGB 格式的長(zhǎng)度又小了三倍。

          至于效果方面,如上面圖片展示,首先 iGPT 可以明顯生成可識(shí)別物體的圖片,有些創(chuàng)意還很有意思,比如中間那只貓的生成。

          但 iGPT 想要強(qiáng)調(diào)的并不是其生成能力,而是想展示 GPT 的通用性,通過(guò)這樣簡(jiǎn)單的單向序列預(yù)測(cè)目標(biāo)在圖片上進(jìn)行訓(xùn)練,也能學(xué)習(xí)到非常好的圖片特征。

          利用這些圖片特征,iGPT 能在一些圖片數(shù)據(jù)集上達(dá)到 SOTA.

          當(dāng)然這個(gè) SOTA 代價(jià)也是非常大的,比對(duì)比學(xué)習(xí)的效率差太多了,但 OpenAI 表示這里只是在探索可能性,證明 GPT 的能力,爺就是壕。

          以為按照同樣規(guī)律,又要過(guò)個(gè)一年后,但沒(méi)想到這次是半年后,OpenAI 在 GPT 的圖片生成上就進(jìn)一步放了一個(gè)大招:DALL-E. 還買一送一,送了個(gè) CLIP。


          DALL-E 很多細(xì)節(jié)還沒(méi)放出來(lái),更多只是展示了它驚人的效果,太炫了簡(jiǎn)直。

          DALL-E 完成的任務(wù)用一句話來(lái)說(shuō)就是,根據(jù)文本生成滿足要求的圖片。

          而且還能仿佛理解了文本內(nèi)容一樣,生成一些之前完全就不存在的圖片,比如長(zhǎng)頸鹿、龜


          更多 demo,可以去原貼看,還是一句,很驚人。比之前 GPT2 的文本展示給人的沖擊力大多了。

          按照博客里的說(shuō)法,DALL-E 卻并沒(méi)用 GAN-loss,只是單純用和 GPT 一樣預(yù)測(cè)下一個(gè) token 的最大似然損失。僅僅只是這樣就能用文本進(jìn)行圖片生成,真的有點(diǎn)難以想象。

          所以說(shuō)到底還是,Attention Is All Your Need! Transformer 結(jié)構(gòu)真如 Sutton 教授在 The Bitter Lesson 里說(shuō)的,是一種可以充分撬動(dòng)算力來(lái)進(jìn)行 Scaling 的方法。

          接下來(lái)介紹關(guān)于 DALL-E 的模型細(xì)節(jié)。

          首先,DALL-E 整個(gè)就是一個(gè) GPT3 的圖像版本,關(guān)于 GPT3 下一節(jié)會(huì)再介紹,主要還是更大更強(qiáng)了。而 DALL-E 用到的數(shù)據(jù)集,應(yīng)該和 CLIP 一樣,是 OpenAI 在網(wǎng)上爬取的大量圖片與文本的成對(duì)數(shù)據(jù)。

          之后,再將這些成對(duì)數(shù)據(jù)構(gòu)建成 token 序列,前面是 256 個(gè) token 長(zhǎng)度的文本序列,而緊接著的是 token 化成 1024 個(gè) token 的圖片。

          至于如何 token 化,還記得 JukeBox 的同學(xué)馬上就能想到,沒(méi)錯(cuò),就是 VQVAE. 先將圖片預(yù)處理成 256x256 的圖片,之后預(yù)訓(xùn)練 VAE 將 256x256 像素大小的圖片,壓縮成 32x32 的離散隱編碼,如此就剛好獲得 1024=32x32 長(zhǎng)度的圖片 token 表示。

          對(duì)前面的文本序列,Attention 采用的就是標(biāo)準(zhǔn)單向語(yǔ)言模型的 mask,而對(duì)圖片序列部分,用的是 SparseTransformer 里提到的各種注意力模式。

          對(duì)圖片與文本之間,每個(gè)圖片 token 都會(huì)看到所有的文本信息,之后訓(xùn)練也按照這樣的安排,來(lái)進(jìn)行單向 token 預(yù)測(cè)。

          目前看到的就是這么簡(jiǎn)單的方式,之后加上超大的 GPT3,再加上可能也超大的文本圖片對(duì)數(shù)據(jù),就能夠獲得驚人效果的 DALL-E 了。

          而 DALL-E 的缺點(diǎn),還是之前所有 GPT 的缺點(diǎn)。

          第一,計(jì)算量 super 大,先不說(shuō) GPT3 這樣 Inference 一次,之后還得將生成的圖片 token 用 VAE 還原成圖片,還得 sample 多次,最后再用 CLIP(同樣巨大),對(duì)這些圖片進(jìn)行 rerank,再挑出滿意的圖片。而且生成過(guò)程還得調(diào),這就涉及到第二點(diǎn)。

          第二,可控性差,雖然 GPT3 在大量數(shù)據(jù)上訓(xùn)完后的能力很強(qiáng),但也讓它像是一頭難以控制的巨獸(初號(hào)機(jī)),要控制其產(chǎn)生令人滿意的生成,需要不斷嘗試給它合適的文本引導(dǎo) prompt。所以才會(huì)看到 demo 里有些 prompt 很奇怪,同樣的話要說(shuō)好幾遍。

          隨著 GPT 的成功,估計(jì)之后 prompt engineering 也會(huì)成為一門學(xué)科(aka: GPT控制學(xué))

          商業(yè)化:GPT3 君臨


          基于數(shù)次提到的 GPT 的缺點(diǎn),尤其是模型過(guò)大,算力需求大,所以之前想法也是這個(gè)肯定不太好投入實(shí)用上線。

          結(jié)果 OpenAI 就在 20 年年中放出了一個(gè) API 接口,而這其實(shí)也就是 GPT3,以及用它做的商業(yè)化。


          可以清晰看到,相比起 GPT2,這次 GPT3 真是一點(diǎn)沒(méi)宣傳模型,還不如 GPT,至少 GPT 還專門發(fā)了篇博客,而 GPT3 只是悄咪咪地發(fā)了篇論文,然后在 OpenAI API 博文里稍微提了一嘴。

          但即便如此,GPT3 一出來(lái)還是受到了很大關(guān)注,引起了很多爭(zhēng)議。最大爭(zhēng)議當(dāng)然就是來(lái)自一眾對(duì) GPT 報(bào)以巨大期望的人,以為 GPT3 一定能在 GPT2 基礎(chǔ)上進(jìn)行巨大創(chuàng)新,結(jié)果一看還是老路子,模型方面沒(méi)有太大創(chuàng)新,繼續(xù)燒錢!更大!更強(qiáng)!

          模型更大了,從 GPT2 的 1.5B 給擴(kuò)大到 175 B,96層,12288隱層大小,96頭,真正的巨無(wú)霸,訓(xùn)練 batch size 還是 3.2M。數(shù)據(jù)也更大了,包括之前的 WebText 的加強(qiáng)版,還有一些開源高質(zhì)量數(shù)據(jù)集,Books1,Books2,Wikipedia,此外還加入清洗過(guò)的 Common Crawl 數(shù)據(jù),光純文本就 570 GB 大小。
          當(dāng)然一定要說(shuō)結(jié)構(gòu)上沒(méi)改動(dòng),也不是,其實(shí)就是之前提到過(guò)的 Sparse Transformer,GPT3 里的 Transformer 應(yīng)該用了 Sparse 結(jié)構(gòu)。

          GPT3 論文長(zhǎng) 75 頁(yè),大都是在做各種實(shí)驗(yàn)來(lái)探索它的性質(zhì),而其中主要關(guān)注的就如其標(biāo)題 Language Models are Few-Shot Learners,提到的 Few-shot learning。

          當(dāng)然這里的 Few-shot,和傳統(tǒng)意義上理解的找?guī)讉€(gè)例子 finetune 還不同。只是直接給 GPT3 幾個(gè)相關(guān)例子,讓 GPT3 輸出想要的結(jié)果,這個(gè)過(guò)程中沒(méi)有參數(shù)訓(xùn)練和梯度傳遞的。

          之所以 OpenAI 做這樣的實(shí)驗(yàn),很大可能是因?yàn)?GPT3 的訓(xùn)練成本過(guò)大,因此如果要使用的話,更希望是能直接 inference 用,沒(méi)有 finetune 的訓(xùn)練過(guò)程。

          實(shí)驗(yàn)結(jié)果也給了 OpenAI 挺大信心,GPT3 能這樣在大量任務(wù)上取得還算不錯(cuò)的成績(jī),充分證明了其強(qiáng)大的泛化性。甚至在一些任務(wù)上,只通過(guò)這樣不用 finetune 訓(xùn)練的方法,就取得 SOTA 結(jié)果。

          通過(guò)上述一系列 OpenAI 對(duì) GPT3 的態(tài)度,已經(jīng)能看出 OpenAI 對(duì) GPT3 的期望,已經(jīng)不在其所謂模型創(chuàng)新性了,更多在怎么展示它的實(shí)用性上,包括在各種任務(wù)上的通用性。此外論文里面還花了很大篇幅討論其社會(huì)影響。

          當(dāng)然,最直接的還是給 API 放了出來(lái),準(zhǔn)備商業(yè)化。讓大家可以通過(guò)申請(qǐng)白名單(特別難申請(qǐng))來(lái)體驗(yàn) GPT3 的效果。

          而申請(qǐng)下了 API 的大佬們,用 GPT3 做了很多超炫的 demo,包括直接根據(jù)要求生成 html 和 css 代碼,還有 AI Dungeon 直接讓 GPT3 生成游戲劇本,各種各樣。更多可參考 https://github.com/elyase/awesome-gpt3

          OpenAI 商業(yè)化 GPT3 API 后,好爸爸微軟立刻就開始砸錢,讓 OpenAI 給該接口授權(quán)給它了,即使這個(gè) API 還在 Beta 測(cè)試階段。

          而至于 GPT3 可能的前景,我個(gè)人還是挺看好的,因?yàn)檎故境龅暮芏?demo 確實(shí)好。而且根據(jù)吳教授在 The Batch 里提到的一些情況,他創(chuàng)立的 Landing.ai 里已經(jīng)看到很多人開始考慮如何用 GPT3 來(lái)進(jìn)行創(chuàng)業(yè)了。

          而如果文本的 GPT3 API 成功后,因?yàn)樯鲜龅母鞣N其他模態(tài)的模型也都是基于 GPT 模型來(lái)進(jìn)行開發(fā)的,因此將這些無(wú)論是音樂(lè)生成,圖像生成,摘要生成的打包成 API,也是非常簡(jiǎn)單。

          未來(lái)隨著開發(fā)相信 OpenAI 也會(huì)隨著這些需要提供各種各樣模態(tài)的 GPT 模型,而使用者只需要提供自己的 idea,剩下的交給模型就行。


          未來(lái)


          至于之后的路途,其實(shí)差不多能清晰的看到了,用 GPT 的這套框架,只要給出足夠的數(shù)據(jù),無(wú)論是什么,只要能 token 化和序列化,不管是什么模態(tài),文本、音頻、圖像,甚至更遠(yuǎn)些如腦電波。GPT 這套框架都能給建模出來(lái)。

          之后 OpenAI 只是想到一個(gè)應(yīng)用的 idea,然后找到大量的數(shù)據(jù),想辦法序列化,就能直接訓(xùn)練出一個(gè)該應(yīng)用的 XX-GPT 了。如之前提到的文字轉(zhuǎn)音頻,文字轉(zhuǎn)圖像,反過(guò)來(lái) GPT 也能輕松做。

          如果想要針對(duì)某個(gè)特定任務(wù)進(jìn)行加強(qiáng),那么也能用強(qiáng)化學(xué)習(xí)進(jìn)行強(qiáng)化。

          當(dāng)然每個(gè)模型一個(gè)應(yīng)用也很麻煩,之后肯定得想一種方法,簡(jiǎn)單點(diǎn)當(dāng)然用任務(wù) token 提示,將大量的任務(wù)放在一個(gè)模型里,最后只用一個(gè)超大模型就能完成各種任務(wù)。其實(shí)這也是 Google Brain 一直想要完成的事情,比如最近的 Switch Transformer.

          多年后,可能會(huì)有一個(gè) GPT-1000,人們想要完成什么任務(wù),比如說(shuō)根據(jù)這個(gè)視頻配一段 OST,告訴它,給它輸入,它返回多個(gè)候選的創(chuàng)意,人類再在這些基礎(chǔ)上進(jìn)行調(diào)整完善,最后給這些結(jié)果反饋給 GPT,讓它不斷進(jìn)化。

          而模型自身也能不斷地從網(wǎng)絡(luò)上抓取數(shù)據(jù)進(jìn)行自我訓(xùn)練。

          而這樣的過(guò)程不斷進(jìn)行下去,日積月累最終獲得的模型也必將近乎是一個(gè)通用型的人工智能。


          時(shí)間線

          18 年:

          Reference

          [0]?Unsupervised Sentiment Neuron: Learning to Generate Reviews and Discovering Sentiment
          [1]?GPT: Improving Language Understanding with Unsupervised Learning
          [2]?GPT2:Better Language Models and Their Implications
          [3]?Sparse Transformer: Generative Modeling with Sparse Transformers
          [4]?MuseNet
          [5] GPT-2: 6-Month Follow-Up,很多作者影響
          [6] RL from human prefer: Fine-Tuning GPT-2 from Human Preferences, 更多人介入
          [7] GPT-2: 1.5B Release
          [8] Jukebox, 作者:Prafulla Dhariwal, Heewoo Jun, Christine Payne, Jong Wook Kim, Alec Radford, Ilya Sutskever
          [9] OpenAI API, GPT3,都沒(méi)有成為 milestone,博客也沒(méi)發(fā),重要度下降
          [10] Image GPT, Next pixel prediction
          [11] Learning to Summarize with Human Feedback
          [12] OpenAI Licenses GPT-3 Technology to Microsoft
          [13] DALL·E: Creating Images from Text, 主導(dǎo)者,Aditya Ramesh
          [14] CLIP: Connecting Text and Images
          [15] Attention Is All You Need
          [16] ULMFiT:Universal Language Model Fine-tuning for Text Classification
          [17] ELMo: Deep contextualized word representations
          [18] Scaling Laws for Neural Language Models
          [19] Scaling Laws for Autoregressive Generative Modeling
          [20] Microsoft Invests In and Partners with OpenAI to Support Us Building Beneficial AGI
          [21] OpenAI LP
          [22] Scaling Kubernetes to 2,500 Nodes
          [23] Scaling Kubernetes to 7,500 Nodes
          [24] Learning from Human Preferences







          瀏覽 63
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  神马午夜国产 | 东方AV在线观看 | 久久免费视频,久久免费视频 | 一级黄色片成年人电影 | 91麻豆亚洲国产成人久久精品 |