為什么數(shù)據(jù)污染對LLMs來說是一個大問題
2023-08-27 13:32:26 | 來源:騰訊網(wǎng) |
2023-08-27 13:32:26 | 來源:騰訊網(wǎng) |
編者按:在大型語言模型(LLMs)領(lǐng)域,處理數(shù)據(jù)污染問題尤為復(fù)雜。雖然我們通常會告訴機(jī)器學(xué)習(xí)模型要把訓(xùn)練和測試的數(shù)據(jù)分開,但是LLMs有些獨(dú)特的特點(diǎn),讓這個問題變得更難解決。LLMs使用的龐大數(shù)據(jù)集、智能的表現(xiàn)方式,以及測試問題的多樣性,讓我們傳統(tǒng)的檢測方法不再適用。?Ben Dickson 編撰的?“Why data contamination is a big issue for LLMs”(為什么數(shù)據(jù)污染對LLMs來說是個大問題)簡單的為我們介紹了為了避免數(shù)據(jù)污染,我們需要做的一些改變。首先,我們需要更多的透明度和驗(yàn)證。我們希望能夠更了解LLMs的訓(xùn)練數(shù)據(jù)。其次,我們需要更好的工具來檢測測試數(shù)據(jù)和訓(xùn)練數(shù)據(jù)之間的相似性。重要的一點(diǎn)是,我們要認(rèn)識到LLMs的智能方式與人類有些不同,傳統(tǒng)的測試方法可能不太適合它們,我們需要不斷地調(diào)整我們的方法,以更好地解決數(shù)據(jù)污染的問題。我們特將該內(nèi)容編譯出來和各位客戶、合作伙伴朋友分享。如需轉(zhuǎn)載,請聯(lián)系我們(ID:15937102830)
自從ChatGPT發(fā)布以來,尤其是GPT-4發(fā)布以后,我已經(jīng)看到了一個反復(fù)出現(xiàn)的模式,即炒作和失望。首先,有研究聲稱ChatGPT、GPT-4或其他大型語言模型(LLM)已經(jīng)通過了或在某些人類設(shè)計(jì)的困難測試中表現(xiàn)出色:律師考試、數(shù)學(xué)考試、麻省理工學(xué)院考試、編程競賽、理解力測試等等。然后,另一項(xiàng)研究駁斥了先前研究的結(jié)果。事實(shí)證明,當(dāng)仔細(xì)檢查時,模型提供了錯誤原因的正確答案。
科學(xué)和研究界仍在探索正確的方法來評估大型語言模型的能力。與此同時,我們正在發(fā)現(xiàn)初始結(jié)果在人類測試中的表現(xiàn)為何是誤導(dǎo)性的。導(dǎo)致這些錯誤的主要原因之一是“數(shù)據(jù)污染”,這基本上意味著測試示例包含在模型的訓(xùn)練數(shù)據(jù)中。
(資料圖片僅供參考)
數(shù)據(jù)污染在機(jī)器學(xué)習(xí)的所有領(lǐng)域中都很常見,機(jī)器學(xué)習(xí)工程師會非常小心地避免它。然而,當(dāng)涉及到大型語言模型時,數(shù)據(jù)污染變得更加復(fù)雜、微妙且難以檢測。以下是關(guān)于LLM數(shù)據(jù)污染以及如何避免它的相關(guān)信息。
01
機(jī)器學(xué)習(xí)中的數(shù)據(jù)污染
在訓(xùn)練機(jī)器學(xué)習(xí)模型時,機(jī)器學(xué)習(xí)工程師將數(shù)據(jù)集分為訓(xùn)練集和測試集(在許多情況下,還會添加驗(yàn)證數(shù)據(jù)集)。顧名思義,訓(xùn)練集通常占據(jù)數(shù)據(jù)集的主要部分,用于訓(xùn)練模型。隨著訓(xùn)練的進(jìn)行,模型對訓(xùn)練數(shù)據(jù)變得越來越敏感,其性能逐漸提高。
測試集確定了模型是否能夠泛化到未見過的示例。如果模型在訓(xùn)練集和測試集上的表現(xiàn)存在差距,那么該模型很可能出現(xiàn)了過擬合(即,它記住了訓(xùn)練數(shù)據(jù)),需要進(jìn)行修正。
這就是為什么確保訓(xùn)練集和測試集之間沒有重疊非常重要。當(dāng)訓(xùn)練樣例出現(xiàn)在測試集中時,數(shù)據(jù)集就被稱為受到污染。受污染的測試集會提供誤導(dǎo)性的結(jié)果,因?yàn)樗鼘⒃谀P鸵呀?jīng)見過的示例上評估模型。這就好像是在考試時把答案連同試題一起給學(xué)生。他們可能會通過考試,但這并不意味著他們學(xué)會了這個主題。
(當(dāng)有足夠的數(shù)據(jù)時,機(jī)器學(xué)習(xí)工程師會添加一個驗(yàn)證集,用于比較不同版本的訓(xùn)練模型并配置超參數(shù)。使用單獨(dú)的驗(yàn)證集和測試集有助于避免二次數(shù)據(jù)污染。當(dāng)您在驗(yàn)證集上持續(xù)評估訓(xùn)練模型時,驗(yàn)證集中的數(shù)據(jù)最終會影響訓(xùn)練過程。)
數(shù)據(jù)集的分割方法取決于模型解決的問題類型。例如,如果您正在解決回歸問題并且數(shù)據(jù)集中的不同示例之間沒有依賴關(guān)系,那么您可以隨機(jī)地分割它們。您只需確保一個示例不同時包含在訓(xùn)練集和測試集中。如果您正在解決一個簡單的分類問題,除了隨機(jī)分割外,您還必須確保訓(xùn)練集和測試集中的類別平衡。如果您正在解決時間序列問題,那么您必須根據(jù)事件發(fā)生的順序來分割數(shù)據(jù),并確保測試集中的示例都發(fā)生在訓(xùn)練集之后。
對于經(jīng)典的機(jī)器學(xué)習(xí)問題,檢測數(shù)據(jù)污染通常是直接的。您可以比較訓(xùn)練和測試樣例、時間特征、類別平衡等。對于大型語言模型,事情變得復(fù)雜起來。
02
為什么大型語言模型的數(shù)據(jù)污染變得復(fù)雜
同樣的基本原則,即分離訓(xùn)練集和測試集,也適用于大型語言模型。當(dāng)您在基準(zhǔn)數(shù)據(jù)集上評估您的大型語言模型時,必須注意不要將測試示例包含在模型的訓(xùn)練數(shù)據(jù)中。
然而,以下幾個原因使得在大型語言模型中處理數(shù)據(jù)污染變得復(fù)雜:
數(shù)據(jù)集規(guī)模:基礎(chǔ)大型語言模型的訓(xùn)練數(shù)據(jù)包含數(shù)千億甚至數(shù)萬億的標(biāo)記。這些數(shù)據(jù)來自許多不同的來源,包括不同的語言、信息類型、任務(wù)等。確保您的測試數(shù)據(jù)或其版本尚未包含在數(shù)據(jù)集中非常困難。有幾個例子顯示,研究人員報(bào)告稱大型語言模型可以解決復(fù)雜任務(wù),但后來發(fā)現(xiàn)模型可以逐字地生成這些示例,這意味著它們已經(jīng)包含在其訓(xùn)練數(shù)據(jù)中。
提示錯誤:大型語言模型可以進(jìn)行少樣本學(xué)習(xí),即在提示中包含一些已解決的示例,以使模型能夠在不更新其參數(shù)的情況下執(zhí)行新任務(wù)。在一項(xiàng)研究中,研究人員開發(fā)了一個自動系統(tǒng),使用相似性搜索來檢索相關(guān)示例,以創(chuàng)建一個供模型使用的少樣本提示。在某些情況下,這些示例包含了實(shí)際問題及其答案。在這種情況下,提示被答案污染。
模型復(fù)雜性:大型語言模型是具有數(shù)百億甚至數(shù)千億參數(shù)的巨大模型。但是,它們的數(shù)據(jù)集要比參數(shù)大小大得多,這意味著它們并不完全記憶數(shù)據(jù)。它們有時被稱為“隨機(jī)鸚鵡”。因此,它們會重復(fù)模仿它們的訓(xùn)練數(shù)據(jù),但不是逐字復(fù)制,其中存在一些隨機(jī)性。它們擅長生成大部分有意義的標(biāo)記序列,但也經(jīng)常生成完全錯誤的回應(yīng)。它們可以進(jìn)行復(fù)雜的數(shù)學(xué)計(jì)算,但在基本問題上也會失敗。一些測試顯示,大型語言模型可以進(jìn)行推理,而其他測試則顯示它們對規(guī)劃和推理沒有概念。因此,很難確切地說它們在訓(xùn)練過程中學(xué)到了什么,除了訓(xùn)練數(shù)據(jù)中的統(tǒng)計(jì)規(guī)律。所有這些都使得很難確定模型之所以提供正確答案是因?yàn)樗来鸢?,還是因?yàn)樗呀?jīng)學(xué)會了如何解決問題。
問題混淆:大型語言模型進(jìn)行下一個標(biāo)記預(yù)測的訓(xùn)練,并被設(shè)計(jì)為可以解決許多不同類型的問題。但正如我之前提到的,檢測數(shù)據(jù)污染在很大程度上取決于您要解決的問題類型。因此,用于數(shù)學(xué)、編碼、文本生成、問答、規(guī)劃以及其他大型語言模型正在解決的問題類型的數(shù)據(jù)污染規(guī)則都會有所不同。
透明度缺失:最后,該領(lǐng)域面臨的最大問題之一是逐漸減少的透明度。人工智能公司和研究實(shí)驗(yàn)室越來越有動機(jī)保守他們模型的詳細(xì)信息。最強(qiáng)大的大型語言模型變得越來越難以理解。OpenAI沒有提供有關(guān)GPT-4架構(gòu)和訓(xùn)練數(shù)據(jù)的詳細(xì)信息。Google在PaLM 2中采取了類似的方法。我們對其他大型語言模型(如Claude和Bard)的訓(xùn)練數(shù)據(jù)了解甚少。透明度的缺乏使得在獨(dú)立測試中檢測數(shù)據(jù)污染變得非常困難。
03
如何讓避免大型語言模型的數(shù)據(jù)污染
鑒于大型語言模型的獨(dú)特特點(diǎn),其中一些我在上面提到過,我認(rèn)為我們需要一種新的方法來檢測和預(yù)防數(shù)據(jù)污染。
首先,我們必須從鼓勵該領(lǐng)域中更多的透明度和驗(yàn)證開始。該領(lǐng)域需要回歸到分享知識的初衷。要么應(yīng)該有對訓(xùn)練數(shù)據(jù)的訪問權(quán)限,要么應(yīng)該有工具來驗(yàn)證某個示例是否在訓(xùn)練中使用過。
此外,應(yīng)該有更好的工具來測試測試示例和訓(xùn)練數(shù)據(jù)之間的相似性。而且相似性度量在不同類型的任務(wù)中會有所不同。正如一些科學(xué)家所指出的,關(guān)于AI系統(tǒng)能力的研究應(yīng)該提供更細(xì)粒度的評估示例訪問權(quán)限。
我們還應(yīng)該認(rèn)識到,如果大型語言模型是智能的,它們的智能與我們的智能非常不同。正如一些科學(xué)家所指出的,用于測量人類智能的測試并不適用于評估大型語言模型。人類的記憶和有意識的數(shù)據(jù)處理能力有限。他們在彼此之上建立技能,并學(xué)會進(jìn)行泛化。例如,在學(xué)習(xí)微積分之前,您必須掌握代數(shù)和基礎(chǔ)數(shù)學(xué)。因此,如果您在微積分考試中獲得高分(不作弊的情況下),則您應(yīng)該具備所有這些基礎(chǔ)技能。
但深度學(xué)習(xí)系統(tǒng)可以找到解決方案的捷徑,而無需學(xué)習(xí)先決條件技能。因此,我們需要設(shè)計(jì)旨在確保模型不因錯誤的原因而給出正確答案的測試。例如,測試可以更加徹底,并評估人類默認(rèn)為理所當(dāng)然的基礎(chǔ)構(gòu)建模塊。另一個有用的技術(shù)是在相同問題的不同變體上測試模型。如果模型已經(jīng)記住了問題和解決方案,它將在一個變體上成功,在其他變體上失敗。
隨著語言模型不斷發(fā)展,我們設(shè)計(jì)、訓(xùn)練和測試它們的方式也將不斷改變。數(shù)據(jù)污染仍將是一個問題,解決它的方法必須發(fā)生變化。