人工智能(Artificial Intelligence, AI)最近取得了巨大的進(jìn)展,特別是大語言模型(Large Language Models, LLMs),比如最近火爆全網(wǎng)的ChatGPT和GPT-4。GPT模型在各項(xiàng)自然語言處理任務(wù)上有著驚人的效果。至于具體有多強(qiáng),這里就不再贅述了。做了這么多年AI研究好久沒這么激動(dòng)過了。沒試過的朋友趕緊試一下!
正所謂「大力出奇跡」,把參數(shù)量調(diào)「大」能提高模型性能已經(jīng)成為了大家的普遍共識(shí)。但是僅僅增加模型參數(shù)就夠了嗎?仔細(xì)閱讀GPT的一系列論文后就會(huì)發(fā)現(xiàn),僅僅增加模型參數(shù)是不夠的。它們的成功在很大程度上還歸功于用于訓(xùn)練它們的大量和高質(zhì)量的數(shù)據(jù)。
在本文中,我們將從數(shù)據(jù)為中心的人工智能視角去分析一系列GPT模型(之后會(huì)用Data-centric AI以避免啰嗦)。Data-centric AI大體上可以分文三個(gè)目標(biāo):訓(xùn)練數(shù)據(jù)開發(fā)(training data development)、推理數(shù)據(jù)開發(fā)(inference data development)和數(shù)據(jù)維護(hù)(data maintenance)。本文將討論GPT模型是如何實(shí)現(xiàn)(或者可能即將實(shí)現(xiàn))這三個(gè)目標(biāo)的。感興趣的讀者歡迎戳下方鏈接了解更多信息。
綜述論文:Data-centric Artificial Intelligence: A Survey
短篇介紹:Data-centric AI: Perspectives and Challenges
GitHub資源(不定期持續(xù)更新,歡迎貢獻(xiàn)):https://github.com/daochenzha/data-centric-AI
1
什么是大語言模型?
什么又是GPT模型?
這章將簡(jiǎn)單介紹下大語言模型和GPT模型,對(duì)它們比較熟悉的讀者可以跳過。大語言模型指的是一類自然語言處理模型。顧名思義,大語言模型指的是比較「大」的(神經(jīng)網(wǎng)絡(luò))語言模型。語言模型在自然語言處理領(lǐng)域已經(jīng)被研究過很久了,它們常常被用來根據(jù)上文來推理詞語的概率。例如,大語言模型的一個(gè)基本功能是根據(jù)上文預(yù)測(cè)缺失詞或短語的出現(xiàn)概率。我們常常需要用到大量的數(shù)據(jù)去訓(xùn)練模型,使得模型學(xué)到普遍的規(guī)律。
通過上文來預(yù)測(cè)缺失詞示意圖
GPT模型是由OpenAI開發(fā)的一系列大語言模型,主要包括GPT-1,GPT-2,GPT-3,InstructGPT以及最近上線的ChatGPT/GPT-4。就像其他大語言模型一樣,GPT模型的架構(gòu)主要基于Transformer,以文本和位置信息的向量為輸入,使用注意力機(jī)制來建模詞之間的關(guān)系。
GPT-1模型的網(wǎng)絡(luò)結(jié)構(gòu),圖片來自原論文 https://cdn.openai.com/research-covers/language-unsupervised/language_understanding_paper.pdf
之后的GPT系列模型結(jié)構(gòu)大體上都與GPT-1類似,主要區(qū)別在于更多參數(shù)(更多層,更多隱含層維度等等)。
GPT系列模型大小比較
2什么是Data-centric AI?
Data-centric AI是一種搭建AI系統(tǒng)的新理念,被@吳恩達(dá)老師大力倡導(dǎo)。我們這里引用下他給出的定義
Data-centric AI is the discipline of systematically engineering the data used to build an AI system.
— Andrew Ng
傳統(tǒng)的搭建AI模型的方法主要是去迭代模型,數(shù)據(jù)相對(duì)固定。比如,我們通常會(huì)聚焦于幾個(gè)基準(zhǔn)數(shù)據(jù)集,然后設(shè)計(jì)各式各樣的模型去提高預(yù)測(cè)準(zhǔn)確率。這種方式我們稱作以模型為中心(model-centric)。然而,model-centric沒有考慮到實(shí)際應(yīng)用中數(shù)據(jù)可能出現(xiàn)的各種問題,例如不準(zhǔn)確的標(biāo)簽,數(shù)據(jù)重復(fù)和異常數(shù)據(jù)等。準(zhǔn)確率高的模型只能確保很好地「擬合」了數(shù)據(jù),并不一定意味著實(shí)際應(yīng)用中會(huì)有很好的表現(xiàn)。
與model-centric不同,Data-centric更側(cè)重于提高數(shù)據(jù)的質(zhì)量和數(shù)量。也就是說Data-centric AI關(guān)注的是數(shù)據(jù)本身,而模型相對(duì)固定。采用Data-centric AI的方法在實(shí)際場(chǎng)景中會(huì)有更大的潛力,因?yàn)閿?shù)據(jù)很大程度上決定了模型能力的上限。
需要注意的是,「Data-centric」與「Data-driven」(數(shù)據(jù)驅(qū)動(dòng)),是兩個(gè)根本上不同的概念。后者僅強(qiáng)調(diào)使用數(shù)據(jù)去指導(dǎo)AI系統(tǒng)的搭建,這仍是聚焦于開發(fā)模型而不是去改變數(shù)據(jù)。
Data-centric AI和model-centric AI的區(qū)別,圖片來源于https://arxiv.org/abs/2301.04819
Data-centric AI框架包括三個(gè)目標(biāo):
訓(xùn)練數(shù)據(jù)開發(fā)(training data development)旨在構(gòu)建足夠數(shù)量的高質(zhì)量數(shù)據(jù),以支持機(jī)器學(xué)習(xí)模型的訓(xùn)練。
推理數(shù)據(jù)開發(fā)(inference data development)旨在構(gòu)建模型推理的數(shù)據(jù),主要用于以下兩個(gè)目的:
評(píng)估模型的某種能力,比如構(gòu)建對(duì)抗攻擊( Adversarial Attacks)數(shù)據(jù)以測(cè)試模型的魯棒性
解鎖模型的某種能力,比如提示工程(Prompt Engineering)
數(shù)據(jù)維護(hù)(data maintenance)旨在確保數(shù)據(jù)在動(dòng)態(tài)環(huán)境中的質(zhì)量和可靠性。在實(shí)際生產(chǎn)環(huán)境(production environment)中,我們并不是只訓(xùn)練一次模型,數(shù)據(jù)和模型是需要不斷更新的。這個(gè)過程需要采取一定的措施去持續(xù)維護(hù)數(shù)據(jù)。
Data-centric AI框架第二層是目標(biāo),第三層是子目標(biāo),圖片來源于 https://arxiv.org/abs/2303.10158
3 為什么Data-centric AI是GPT模型取得成功的重要原因?
數(shù)月前,Yann LeCun發(fā)文稱ChatGPT在技術(shù)上并不是什么新鮮事物。的確如此,ChatGPT和GPT-4中使用的方法,比如Transformer、「從人類反饋中進(jìn)行的強(qiáng)化學(xué)習(xí)」(Reinforcement Learning from Human Feedback,RLHF)等都不是什么新技術(shù)。即便如此,ChatGPT還是取得了以前的模型無法企及的驚人效果。那么,是什么推動(dòng)了它的成功?
毋庸置疑,增加模型參數(shù)的數(shù)量對(duì)GPT模型的成功至關(guān)重要,但這只是其中的一個(gè)原因。通過詳細(xì)閱讀GPT-1、GPT-2、GPT-3、InstructGPT和ChatGPT/GPT-4論文中有關(guān)數(shù)據(jù)的描述,我們可以明顯看出OpenAI的工程師們花了極大心血去提高數(shù)據(jù)的質(zhì)量和數(shù)量。以下,我們用Data-centric AI框架從三個(gè)維度進(jìn)行分析。
訓(xùn)練數(shù)據(jù)開發(fā):從GPT-1到ChatGPT/GPT-4,通過更好的數(shù)據(jù)收集(data collection)、數(shù)據(jù)標(biāo)注(data labeling)和數(shù)據(jù)準(zhǔn)備(data preparation)策略,用于訓(xùn)練GPT模型的數(shù)據(jù)數(shù)量和質(zhì)量都得到了顯著提高。以下括號(hào)中標(biāo)識(shí)了每個(gè)具體策略對(duì)應(yīng)到Data-centric AI框架中的子目標(biāo)。
GPT-1:訓(xùn)練使用了BooksCorpus數(shù)據(jù)集。該數(shù)據(jù)集包含4629.00 MB的原始文本,涵蓋了各種類型的書籍,如冒險(xiǎn)、奇幻和浪漫等。
用到的Data-centric AI策略:
無。
結(jié)果:
預(yù)訓(xùn)練之后,在下游任務(wù)微調(diào)可以提高性能。
GPT-2:訓(xùn)練使用了WebText數(shù)據(jù)集。這是OpenAI的一個(gè)內(nèi)部數(shù)據(jù)集,通過從Reddit上抓取出站鏈接創(chuàng)建而成。
用到的Data-centric AI策略:
僅篩選并使用Reddit上至少獲得3個(gè)karma及以上的鏈接(數(shù)據(jù)收集)
用Dragnet和Newspaper這兩個(gè)工具去提取純文本(數(shù)據(jù)收集)
用了一些啟發(fā)式策略做了去重和數(shù)據(jù)清洗,具體策略論文沒有提到(數(shù)據(jù)準(zhǔn)備)
結(jié)果:
經(jīng)過篩選后,獲得了40 GB的文本(大概是GPT-1所用數(shù)據(jù)的8.6倍)。
GPT-2即便在沒有微調(diào)的情況下也能取得很不錯(cuò)的效果。
GPT-3:訓(xùn)練主要使用了Common Crawl,一個(gè)很大但質(zhì)量不算很好的數(shù)據(jù)集。
用到的Data-centric AI策略:
訓(xùn)練一個(gè)分類器來過濾掉低質(zhì)量的文檔。
這里比較有意思的是,OpenAI把WebText當(dāng)作標(biāo)準(zhǔn),基于每個(gè)文檔與WebText之間的相似性來判斷質(zhì)量高低(數(shù)據(jù)收集)
使用Spark的MinHashLSH對(duì)文檔進(jìn)行模糊去重(數(shù)據(jù)準(zhǔn)備)
把之前的WebText擴(kuò)展下也加了進(jìn)來,還加入了books corpora和Wikipedia數(shù)據(jù)(數(shù)據(jù)收集)
結(jié)果:
在對(duì)45TB的純文本進(jìn)行質(zhì)量過濾后,獲得了570GB的文本(僅選擇了1.27%的數(shù)據(jù),可見對(duì)質(zhì)量把控的力度很大,過濾完后的文本大約是GPT-2的14.3倍)。
訓(xùn)練得到的模型比GPT-2更強(qiáng)了。
InstructGPT:在GPT-3之上用人類反饋去微調(diào)模型,使得模型與人類期望相符。
用到的Data-centric AI策略:
使用人類提供的答案來用有監(jiān)督的方式微調(diào)模型。
OpenAI對(duì)標(biāo)注人員的選擇極為嚴(yán)苛,對(duì)標(biāo)注者進(jìn)行了考試,最后甚至?xí)l(fā)問卷確保標(biāo)注者有比較好的體驗(yàn)。
要是我的研究項(xiàng)目需要人工標(biāo)注,能有人理我就不錯(cuò)了,更別談考試和問卷(數(shù)據(jù)標(biāo)注)
收集比較數(shù)據(jù)(人類對(duì)產(chǎn)生的答案根據(jù)好壞程度排序)來訓(xùn)練一個(gè)獎(jiǎng)勵(lì)模型,然后基于該獎(jiǎng)勵(lì)模型使用「從人類反饋中進(jìn)行的強(qiáng)化學(xué)習(xí)」(Reinforcement Learning from Human Feedback,RLHF)來微調(diào)(數(shù)據(jù)標(biāo)注)
結(jié)果:
InstructGPT產(chǎn)生的結(jié)果更加真實(shí)、有更少的偏見、更符合人類的預(yù)期。
ChatGPT/GPT-4:至此,產(chǎn)品走向了商業(yè)化,OpenAI不再「Open」,不再披露具體細(xì)節(jié)。已知的是ChatGPT/GPT-4在很大程度上遵循了以前GPT模型的設(shè)計(jì),并且仍然使用RLHF來調(diào)整模型(可能使用更多、更高質(zhì)量的數(shù)據(jù)/標(biāo)簽)。鑒于GPT-4的推理速度比ChatGPT慢很多,模型的參數(shù)數(shù)量大概率又變多了,那么也很有可能使用了一個(gè)更大的數(shù)據(jù)集。
從GPT-1到ChatGPT/GPT-4,所用的訓(xùn)練數(shù)據(jù)大體經(jīng)歷了以下變化:小數(shù)據(jù)(小是對(duì)于OpenAI而言,對(duì)普通研究者來說也不小了)->大一點(diǎn)的高質(zhì)量數(shù)據(jù)->更大一點(diǎn)的更高質(zhì)量數(shù)據(jù)->高質(zhì)量人類(指能通過考試的標(biāo)注者)標(biāo)注的高質(zhì)量數(shù)據(jù)。模型設(shè)計(jì)并沒有很顯著的變化(除了參數(shù)更多以順應(yīng)更多的數(shù)據(jù)),這正符合了Data-centric AI的理念。從ChatGPT/GPT-4的成功,我們可以發(fā)現(xiàn),高質(zhì)量的標(biāo)注數(shù)據(jù)是至關(guān)重要的。在AI的任何子領(lǐng)域幾乎都是如此,即便是在很多傳統(tǒng)上的無監(jiān)督任務(wù)上,標(biāo)注數(shù)據(jù)也能顯著提高性能,例如弱監(jiān)督異常檢測(cè)。OpenAI對(duì)數(shù)據(jù)和標(biāo)簽質(zhì)量的重視程度令人發(fā)指。正是這種執(zhí)念造就了GPT模型的成功。這里順便給大家推薦下朋友做的可視化文本標(biāo)注工具Potato,非常好用!
推理數(shù)據(jù)開發(fā):現(xiàn)在的ChatGPT/GPT-4模型已經(jīng)足夠強(qiáng)大,強(qiáng)大到我們只需要調(diào)整提示(推理數(shù)據(jù))來達(dá)到各種目的,而模型則保持不變。例如,我們可以提供一段長(zhǎng)文本,再加上特定的指令,比方說「summarize it」或者「TL;DR」,模型就能自動(dòng)生成摘要。在這種新興模式下,Data-centric AI變得更為重要,以后很多AI打工人可能再也不用訓(xùn)練模型了,只用做提示工程(prompt engineering)。
提示工程示例,圖片來源于https://arxiv.org/abs/2303.10158
當(dāng)然,提示工程是一項(xiàng)具有挑戰(zhàn)性的任務(wù),它很大程度上依賴于經(jīng)驗(yàn)。這篇綜述很好地總結(jié)了各種各樣的方法,有興趣的讀者可以繼續(xù)閱讀。與此同時(shí),即使是語義上相似的提示,輸出也可能非常不同。在這種情況下,可能需要一些策略去降低輸出的方差,比如Soft Prompt-Based Calibration。
Soft prompt-based calibration,圖片來源于https://arxiv.org/abs/2303.13035v1
大語言模型的推理數(shù)據(jù)開發(fā)研究仍處于早期階段。我相信在不久的將來,很多其他任務(wù)中用到過的推理數(shù)據(jù)開發(fā)方法也會(huì)逐漸被遷移到大語言模型中,例如構(gòu)建對(duì)抗攻擊(Adversarial Attacks)數(shù)據(jù)以測(cè)試模型的魯棒性。
數(shù)據(jù)維護(hù):作為一款商業(yè)產(chǎn)品,ChatGPT/GPT-4一定不是僅僅訓(xùn)練一次就結(jié)束了,而是會(huì)被持續(xù)更新和維護(hù)。我們?cè)谕獠繘]辦法知道OpenAI數(shù)據(jù)維護(hù)具體是如何進(jìn)行的。因此,我們只能推測(cè)。OpenAI可能采取了如下策略:
持續(xù)數(shù)據(jù)收集:當(dāng)我們使用ChatGPT/GPT-4時(shí),我們輸入的提示和提供的反饋可以被OpenAI用來進(jìn)一步提升他們的模型。在此過程中,模型開發(fā)者需要設(shè)計(jì)監(jiān)測(cè)數(shù)據(jù)質(zhì)量的指標(biāo)和維護(hù)數(shù)據(jù)質(zhì)量的策略,以收集更高質(zhì)量的數(shù)據(jù)。
數(shù)據(jù)理解工具:開發(fā)各種工具來可視化和理解用戶數(shù)據(jù)可以幫助更好地理解用戶需求,并指導(dǎo)未來的改進(jìn)方向。
高效數(shù)據(jù)處理:隨著ChatGPT/GPT-4用戶數(shù)量的迅速增長(zhǎng),高效的數(shù)據(jù)管理系統(tǒng)需要被開發(fā),以幫助快速獲取相關(guān)數(shù)據(jù)進(jìn)行訓(xùn)練和測(cè)試。
ChatGPT/GPT-4 會(huì)收集用戶反饋
4 從大語言模型的成功中我們能學(xué)到什么?
大語言模型的成功可以說是顛覆性的。展望未來,我做幾個(gè)預(yù)測(cè):
Data-centric AI變得更加重要。經(jīng)過了多年的研究,模型設(shè)計(jì)已經(jīng)相對(duì)比較成熟,特別是在Transformer出現(xiàn)之后(目前我們似乎還看不到Transformer的上限)。提高數(shù)據(jù)的數(shù)量和質(zhì)量將成為未來提高AI系統(tǒng)能力的關(guān)鍵(或可能是唯一)途徑。此外,當(dāng)模型變得足夠強(qiáng)大時(shí),大多數(shù)人可能不需要再訓(xùn)練模型。相反,我們只需要設(shè)計(jì)適當(dāng)?shù)耐评頂?shù)據(jù)(提示工程)便能從模型中獲取知識(shí)。因此,Data-centric AI的研究和開發(fā)將持續(xù)推動(dòng)未來AI系統(tǒng)的進(jìn)步。
大語言模型將為Data-centric AI提供更好的解決方案。許多繁瑣的數(shù)據(jù)相關(guān)工作目前已經(jīng)可以借助大語言模型更高效地完成了。例如,ChatGPT/GPT-4已經(jīng)可以編寫可以運(yùn)行的代碼來處理和清洗數(shù)據(jù)了。此外,大語言模型甚至可以用于創(chuàng)建訓(xùn)練數(shù)據(jù)。例如,最近的研究表明,使用大語言模型合成數(shù)據(jù)可以提高臨床文本挖掘模型的性能。
數(shù)據(jù)和模型的界限將變得模糊。以往,數(shù)據(jù)和模型是兩個(gè)分開的概念。但是,如今當(dāng)模型足夠強(qiáng)大后,模型成為了一種「數(shù)據(jù)」或者說是數(shù)據(jù)的「容器」。在需要的時(shí)候,我們可以設(shè)計(jì)適當(dāng)?shù)奶崾菊Z,利用大語言模型合成我們想要的數(shù)據(jù)。這些合成的數(shù)據(jù)反過來又可以用來訓(xùn)練模型。這種方法的可行性在GPT-4上已經(jīng)得到了一定程度的驗(yàn)證。在報(bào)告中,一種被稱作rule-based reward models(RBRMs)的方法用GPT-4自己去判斷數(shù)據(jù)是否安全,這些標(biāo)注的數(shù)據(jù)反過來又被用來訓(xùn)練獎(jiǎng)勵(lì)模型來微調(diào)GPT-4。有種左右手互搏的感覺了。我不經(jīng)在想,之后的模型會(huì)通過這種方式實(shí)現(xiàn)自我進(jìn)化嗎?細(xì)思極恐……
用ChatGPT來合成數(shù)據(jù)訓(xùn)練下游模型,圖片來源于 https://arxiv.org/abs/2303.04360
回想起五年前,我還在糾結(jié)「如何才能提高文本分類的準(zhǔn)確率」,多次失敗的經(jīng)歷曾讓我一度懷疑自然語言處理和AI沒有半點(diǎn)關(guān)系。如今ChatGPT/GPT-4驚人的能力讓我提前見證了歷史!
未來AI的發(fā)展將走向何方?大語言模型的進(jìn)展日新月異,經(jīng)??吹揭恍┭芯孔匀徽Z言處理的朋友們擔(dān)心大模型的出現(xiàn)會(huì)不會(huì)讓AI科研無路可走了。我認(rèn)為完全不需要有這種擔(dān)心。技術(shù)永遠(yuǎn)是不斷進(jìn)步的。新技術(shù)的出現(xiàn)不可避免會(huì)取代舊的技術(shù)(這是進(jìn)步),但同時(shí)也會(huì)催生更多新的研究方向。比如,近年來深度學(xué)習(xí)的飛速發(fā)展并沒有讓傳統(tǒng)機(jī)器學(xué)習(xí)的研究無路可走,相反,提供了更多的可供研究的方向。
同時(shí),AI一個(gè)子領(lǐng)域的突破勢(shì)必會(huì)帶動(dòng)其他子領(lǐng)域的蓬勃發(fā)展,這其中就有許多新的問題需要研究。比如,以ChatGPT/GPT-4為代表的大模型上的突破很可能會(huì)帶動(dòng)計(jì)算機(jī)視覺的進(jìn)一步提升,也會(huì)啟發(fā)很多AI驅(qū)動(dòng)的應(yīng)用場(chǎng)景,例如金融、醫(yī)療等等。無論技術(shù)如何發(fā)展,提高數(shù)據(jù)的質(zhì)量和數(shù)量一定是提高AI性能的有效方法,Data-centric AI的理念將越來越重要。
那么大模型就一定是達(dá)成通用人工智能的方向嗎?我持保留態(tài)度??v觀AI發(fā)展歷程,各個(gè)AI子領(lǐng)域的發(fā)展往往是螺旋上升、相互帶動(dòng)的。這次大模型的成功是多個(gè)子領(lǐng)域的成功碰撞出的結(jié)果,例如模型設(shè)計(jì)(Transformer)、Data-centric AI(對(duì)數(shù)據(jù)質(zhì)量的重視)、強(qiáng)化學(xué)習(xí)(RLHF)、機(jī)器學(xué)習(xí)系統(tǒng)(大規(guī)模集群訓(xùn)練)等等,缺一不可。在大模型時(shí)代,我們?cè)贏I各個(gè)子領(lǐng)域依然都大有可為。比如,我認(rèn)為強(qiáng)化學(xué)習(xí)相比大模型可能有更高的上限,因?yàn)樗茏晕业赡懿痪玫膶砦覀儗⒁娮C由強(qiáng)化學(xué)習(xí)引領(lǐng)的比ChatGPT更驚艷的成果。對(duì)強(qiáng)化學(xué)習(xí)感興趣的讀者可以關(guān)注下我之前的文章DouZero斗地主AI深度解析,以及RLCard工具包介紹。
在這個(gè)AI發(fā)展日新月異的時(shí)代,我們需要不斷學(xué)習(xí)。我們對(duì)Data-centric AI這個(gè)領(lǐng)域進(jìn)行了總結(jié),希望能幫助大家快速高效地了解這個(gè)領(lǐng)域,相關(guān)鏈接見本文開頭。鑒于Data-centric AI是一個(gè)很大的領(lǐng)域,我們的總結(jié)很難面面俱到。歡迎感興趣的讀者去我們的GitHub上指正、補(bǔ)充。
審核編輯 :李倩
-
人工智能
+關(guān)注
關(guān)注
1794文章
47622瀏覽量
239585 -
語言模型
+關(guān)注
關(guān)注
0文章
536瀏覽量
10312 -
GPT
+關(guān)注
關(guān)注
0文章
358瀏覽量
15462
原文標(biāo)題:GPT 模型成功的背后用到了哪些以數(shù)據(jù)為中心的人工智能(Data-centric AI)技術(shù)?
文章出處:【微信號(hào):AI智勝未來,微信公眾號(hào):AI智勝未來】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論