CMU攜手NUS、復(fù)旦推出DataLab:打造文本領(lǐng)域數(shù)據(jù)分析處理Matlab
建立以數(shù)據(jù)為中心的人工智能已經(jīng)成為一個(gè)正在到來的趨勢。一年多前,吳恩達(dá)開始發(fā)起的一項(xiàng)主題為「數(shù)據(jù)是人工智能的食物」運(yùn)動(dòng)。數(shù)月前,谷歌 AI 負(fù)責(zé)人 Jeff Dean 將數(shù)據(jù)的分析和管理列為 2021 年后機(jī)器學(xué)習(xí)的一大趨勢。不久前,AI 明星創(chuàng)業(yè)公司 Huggingface 宣布開始建立可交互的數(shù)據(jù)分析平臺計(jì)劃。
近日,CMU 聯(lián)合 NUS、復(fù)旦、耶魯?shù)雀咝0l(fā)布了 DataLab:面向文本數(shù)據(jù)的統(tǒng)一數(shù)據(jù)分析、處理、診斷和可視化平臺。
- 論文鏈接:https://arxiv.org/pdf/2202.12875.pdf
- 平臺訪問:http://datalab.nlpedia.ai/
- SDK 地址:https://github.com/ExpressAI/DataLab
- 文檔地址:https://expressai.github.io/DataLab/
根據(jù)公布的技術(shù)文檔,我們看到 DataLab 的產(chǎn)生背景源于以下這樣一個(gè)問題:
「如果 Matlab 統(tǒng)一了『數(shù)值』計(jì)算和分析,那么誰來扮演『數(shù)據(jù)』處理和分析統(tǒng)一的角色?」
比起「數(shù)值」,數(shù)據(jù)的復(fù)雜性表現(xiàn)在它往往有著不同的模態(tài),不同的結(jié)構(gòu),不同的處理操作。這些種種因素使得對數(shù)據(jù)存儲以及操作標(biāo)準(zhǔn)化變得困難,更不用說建立統(tǒng)一的數(shù)據(jù)分析平臺。
所以即使現(xiàn)在做到比較好的 TensorFlow (TFDS)[1] 以及 HuggingFace (HFDS)[2] 的數(shù)據(jù)集平臺,它們也只是完成了標(biāo)準(zhǔn)化數(shù)據(jù)載入這一件事情;即使集結(jié)了幾十家高校上百名研究員完成的 Xl-Augmenter 平臺,也只是嘗試標(biāo)注化數(shù)據(jù)增強(qiáng);即使 Sorkel 聯(lián)手 HuggingFace, Stanford 等機(jī)構(gòu)提出了 PromptSource [3],也只是嘗試標(biāo)準(zhǔn)化數(shù)據(jù)提示 (Data Prompting) 這一個(gè)操作。
這些不同數(shù)據(jù)操作平臺的構(gòu)建都非常有價(jià)值,然而平臺之間切換的代價(jià)仍然存在,這里應(yīng)該有個(gè)「平臺的平臺」的概念,以數(shù)據(jù)為中心,實(shí)現(xiàn)各種不同操作接口的標(biāo)準(zhǔn)化,使得用戶以后在數(shù)據(jù)處理上只需要有一個(gè)入口,而這就是 DataLab 期待扮演的角色。
研究團(tuán)隊(duì)前段時(shí)間剛提出以 Prompt Engineering 為核心的 NLP 發(fā)展第四范式。那接下來讓我們看看 DataLab 具體在做什么,以及對 Prompt Engineering 會(huì)不會(huì)也有些幫助?下圖 1 為 DATALAB 功能概述。
DataLab 的特性如下:
- 覆蓋廣:DataLab 目前覆蓋大部分 NLP 任務(wù),包含 1700 多個(gè)數(shù)據(jù)集以及 3500 多個(gè)通過數(shù)據(jù)變形獲得的數(shù)據(jù)集;
- 可理解性:DataLab 為許多數(shù)據(jù)集 (728 個(gè)數(shù)據(jù)集,139,570,057 個(gè)樣本) 定制能夠刻畫數(shù)據(jù)集的特征(例如性別偏見)并進(jìn)行計(jì)算,它可以幫助研究人員和開發(fā)人員在使用數(shù)據(jù)集之前更好地理解數(shù)據(jù)集,并幫助數(shù)據(jù)創(chuàng)建者提高數(shù)據(jù)質(zhì)量 (例如消除 artifacts、偏見等);
- 統(tǒng)一性:DataLab 的主要目標(biāo)之一是將不同的數(shù)據(jù)分析和處理操作統(tǒng)一到一個(gè)平臺和 SDK 中;
- 可交互性:DataLab 使得數(shù)據(jù)查看、評估和處理更高效方便地完成 (實(shí)時(shí)搜索、對比、過濾、生成數(shù)據(jù)集診斷報(bào)告)。DataLab 也可以作為現(xiàn)成的標(biāo)注平臺,用戶可以在這里貢獻(xiàn)一些缺失但重要的可眾包信息;
- 啟發(fā)性:DataLab 對數(shù)據(jù)集的全局視角可以激發(fā)新的研究方向,比如通過跟蹤數(shù)據(jù)集的全球發(fā)展?fàn)顩r,并確定未來的發(fā)展方向。
1. 數(shù)據(jù)的特性細(xì)粒度分析
細(xì)粒度分析指的是,我們從多個(gè)不同的角度去認(rèn)識一個(gè)數(shù)據(jù)集的特性。下圖 2 為 SST 數(shù)據(jù)集(自然語言處理中關(guān)于情感分析的流行數(shù)據(jù)集)中的樣本按照不同文本長度劃分的分布圖。
圖 2:SST 數(shù)據(jù)集的樣本按照不同文本長度劃分的統(tǒng)計(jì)分布圖
使用 DataLab,用戶可以選擇任意支持的分析角度,實(shí)現(xiàn)一鍵化操作。DataLab 還支持?jǐn)?shù)據(jù)集級別的整體分析,歡迎登錄網(wǎng)站試玩。
2. 數(shù)據(jù)集中存在的 「偏見」
DataLab 可以幫助用戶一鍵化地識別數(shù)據(jù)集中的「偏見」。目前支持三種分析:
- 性別偏見
- 仇恨言論
- artifacts
如下圖 3 所示,我們利用 DataLab 可以很容易發(fā)現(xiàn)這個(gè)有名的數(shù)據(jù)集(SST2)中存在明顯的性別偏見問題:
圖 3:SST2 數(shù)據(jù)集的性別偏見分布
再比如,利用 DataLab,我們?nèi)菀讖?fù)現(xiàn) Gururangan et al.[4] 在 SNLI 數(shù)據(jù)集(自然語言處理中關(guān)于兩個(gè)句子關(guān)系推理流行的數(shù)據(jù)集)上發(fā)現(xiàn)的一個(gè)很有名的 artifact 現(xiàn)象:hypothesis 越長的句對 (premise-hypothesis) 通常是「neutral」關(guān)系,如下圖 4 所示。
圖 4:SNLI 數(shù)據(jù)集的 artifact 現(xiàn)象
3. Prompt 的分析
Prompt Learning 已經(jīng)得到了相當(dāng)多的關(guān)注,因?yàn)樗芨玫乩妙A(yù)訓(xùn)練的語言模型中有利于許多 NLP 任務(wù)的知識。在實(shí)際應(yīng)用中,什么是好的「Prompt」是一個(gè)具有挑戰(zhàn)性的問題。下圖 5 為DataLab 定義 Prompt 的一個(gè)例子。
(a)Prompt的定義
(b)屬性;(c)同一個(gè)數(shù)據(jù)集Prompts在不同PLM上的結(jié)果
DataLab 目前不但支持了 3000 多個(gè)已經(jīng)設(shè)計(jì)好的 Prompt(包含 PromptSources 公布的 2000 多個(gè)),覆蓋了上百個(gè)數(shù)據(jù)集,并且為 Prompt 設(shè)計(jì)了一個(gè)模式,使得每一個(gè) Prompt 可以被許多不同的角度刻畫。圖 5 為 DataLab 定義的 Prompt 例子,包括 Prompt 的特征 (如長度、形狀等)、屬性 (如模板、答案等)、支持的預(yù)訓(xùn)練語言模型,以及它在不同的預(yù)訓(xùn)練語言模型的結(jié)果(圖 5 下右)。該設(shè)計(jì)不僅可以幫助研究者更好地設(shè)計(jì) Prompt,還可以分析什么是好的 Prompt。
4. 對比兩個(gè)數(shù)據(jù)集差異
在做研究時(shí),了解兩個(gè)數(shù)據(jù)集之間的詳細(xì)差異在很多方面都很重要,例如,它可以幫助我們解釋模型訓(xùn)練在不同數(shù)據(jù)集上的不同行為。然而,分析它們的差異是一項(xiàng)繁瑣的工作,通常需要設(shè)計(jì)不同的特征并且在不同的數(shù)據(jù)集上去計(jì)算。DataLab 將這一過程自動(dòng)化,并幫助研究人員以非常方便的方式進(jìn)行兩兩數(shù)據(jù)集分析。
我們選取了兩個(gè)文本摘要的數(shù)據(jù)集進(jìn)行測試, 然后會(huì)得到關(guān)于這兩個(gè)數(shù)據(jù)集全方面的比較,如下雷達(dá)圖,兩個(gè)數(shù)據(jù)集各自特點(diǎn)可以清晰的被刻畫。
5. 數(shù)據(jù)集推薦
我們常常有個(gè)好的 idea,卻不清楚應(yīng)該選用哪些合適的數(shù)據(jù)集,隨著越來越多的數(shù)據(jù)集被提出,如何為給定的應(yīng)用選擇正確的數(shù)據(jù)集變得更加困難。
DataLab 嘗試在這方面提供些幫助。具體說來,給定一個(gè)研究想法的描述,DataLab 可以根據(jù)語義搜索出比較適配的數(shù)據(jù)集,并且給出排序得分。我們用一個(gè)例子測試對比了下 DataLab 和 Google Dataset Search:我們發(fā)現(xiàn)前者可以比較精準(zhǔn)地找到一個(gè)符合描述的數(shù)據(jù)集,而 Google Dataset Search 直接失效。
下圖 6:DataLab 和 Google Dataset Search 對于同一個(gè)學(xué)術(shù) idea 而推薦的數(shù)據(jù)集。
(a) DataLab 為給定的 idea 而推薦的數(shù)據(jù)集的結(jié)果頁面。
(b)Google Dataset Search 為給定的 idea 的搜索結(jié)果(沒有結(jié)果返回)
6. 全球視野分析
(1)語言地圖
語言地圖是用來從地理的角度分析哪些語言研究得多,哪些語言研究得少,從而告訴我們未來應(yīng)該更關(guān)注構(gòu)建哪些語言的數(shù)據(jù)集。
如下圖 7,顏色越紅表示該國語言的數(shù)據(jù)集被研究得越多。我們可以很容易看出哪些國家語言的數(shù)據(jù)集很豐富(紅色),相比而言,中文數(shù)據(jù)集是相對匱乏(橙色)。
(2)NLP 模型誰家強(qiáng)?
以數(shù)據(jù)集為單位,根據(jù)依賴其實(shí)現(xiàn)模型性能的排序,以及對應(yīng)的實(shí)現(xiàn)機(jī)構(gòu),我們可以對不同機(jī)構(gòu)設(shè)計(jì)的 NLP 系統(tǒng)的性能上進(jìn)行排序,并且判斷不同機(jī)構(gòu)更擅長的 NLP 任務(wù),如下圖 8 所示。
圖 8:全球機(jī)構(gòu)在 NLP 系統(tǒng)性能上的排名
未來展望
我們希望平臺的統(tǒng)一可以讓集體智慧更容易發(fā)揮作用。未來,DataLab 將繼續(xù)向多個(gè)方向擴(kuò)展:
- 探索并包含更多不同的數(shù)據(jù)類型。目前,DataLab 僅包含文本類型的數(shù)據(jù)集,隨著進(jìn)一步優(yōu)化,DataLab 將逐漸支持其他領(lǐng)域不同類型的數(shù)據(jù)集,例如圖像、多模態(tài)和聲音等;
- 擴(kuò)展更多的操作。目前,DataLab 包含的操作有預(yù)處理、prompting、數(shù)據(jù)編輯等操作。隨著引入不同任務(wù)的系統(tǒng),DataLab 有望探索系統(tǒng)組合等技術(shù),實(shí)現(xiàn)高精度的自動(dòng)數(shù)據(jù)標(biāo)注,從而一定程度上為用戶減少數(shù)據(jù)標(biāo)注的成本;
- 促進(jìn)該領(lǐng)域更好的進(jìn)步。不同平臺的統(tǒng)一能夠讓用戶快速找到相關(guān)數(shù)據(jù)集(數(shù)據(jù)集推薦),定位合適的數(shù)據(jù)集(數(shù)據(jù)可理解性),快速進(jìn)行數(shù)據(jù)的處理(預(yù)處理、prompting 等),從而一定程度上讓學(xué)術(shù)研究更容易。