剪掉ImageNet 20%數據量,模型性能不下降!Meta斯坦福等提出新方法,用知識蒸餾給數據集瘦身
這兩天,推特上一個任務懸賞火得一塌糊涂。
一家AI公司提供25萬美金(折合人民幣約167萬元),懸賞什么任務能讓模型越大、性能反而越差。
評論區里已經討論得熱火朝天了。
不過這事兒倒也不是單純整活,而是為了進一步探索大模型。
畢竟,這兩年大家越發意識到,AI模型不能單純比“大”。
一方面,隨著模型的規模越來越大,訓練付出的成本開始呈現指數型增長;
另一方面,模型性能的提升也已經逐漸到達瓶頸期,哪怕想要讓誤差再下降1%,都需要更多的數據集增量和計算增量。
比如對于Transformer而言,交叉熵損失想要從3.4奈特降低到2.8奈特,就需要原本10倍量的訓練數據。
針對這些問題,AI學者們已經在從各種方向上找解決路子了。
Meta斯坦福的學者們,最近想到了從數據集上切入。
他們提出,對數據集進行知識蒸餾,使得數據集規模雖小,但還能保持模型性能不下降。
實驗驗證,在剪掉ImageNet 20%的數據量后,ResNets表現和使用原本數據時的正確率相差不大。
研究人員表示,這也為AGI實現找出了一條新路子。
超大數據集的效率并不高
本文提出的辦法,其實就是對原本的數據集進行優化精簡。
研究人員表示,過去許多方法都表明,許多訓練示例是高度冗余的,理論上可以把數據集“剪”得更小。
而且最近也有研究提出了一些指標,可以根據訓練示例的難度或重要性對它們進行排序,并通過保留其中一些難度高的示例,就能完成數據修剪。
基于前人的發現和研究,此次學者們進一步提出了一些可具體操作的方法。
首先,他們提出了一種數據分析方法,可以讓模型只學習部分數據,就能實現同等的性能。
通過數據分析,研究人員初步得出結論:
一個數據集怎樣修剪效果最好?這和它本身的規模有關。
初始數據量越多,越應該保留難度高的示例;
初始數據量越少,則應該保留難度低的示例。
而在保留困難示例進行數據修剪后,模型和數據規模的對應關系,可以打破冪律分布。
常被提起的二八定律就是基于冪律提出的。
即20%的數據會影響80%的結果。
同時在此情況下,還能找到一個處于帕累托最優的下的極值。
這里所說的帕累托最優是指資源分配的一種理想狀態。
它假設固定有一群人和可分配的資源,從一種分配狀態調整到另一種分配狀態,在沒有使任何一個人變差的前提下,至少使得一個人變得更好。
在本文中,調整分配狀態即可理解為,修剪多少比例的數據集。
然后,研究人員進行了實驗來驗證這一理論。
從實驗結果來看,當數據集越大,修剪后的效果就越明顯。
在SVHN、CIFAR-10、ImageNet幾個數據集上,ResNet的錯誤率總體和數據集修剪規模呈反比。
在ImageNet上可以看到,數據集規模保留80%的情況下,和原本數據集訓練下的錯誤率基本相同。
這一曲線也逼近了帕累托最優。
接下來,研究人員聚焦在ImageNet上,對10種不同情況進行了大規模基準測試。
結果表明,隨機修剪以及一些修剪指標,在ImageNet上的表現并不夠好。
所以更進一步,研究人員還提出了一種自監督方法來修剪數據。
也就是知識蒸餾(教師學生模型),這是模型壓縮的一種常見方法。
結果顯示,在自監督方法下,它在找數據集中簡單/困難示例上的表現都還不錯。
使用自監督方法修剪數據后,正確率明顯提高(圖C中淺藍色線)。
還存在一些問題
不過在論文中,研究人員也提到,雖然通過如上方法可以在不犧牲性能的情況下修剪數據集,但是有些問題仍舊值得關注。
比如數據集縮小后,想要訓練出同等性能的模型,需要的時間可能會更長。
因此,在進行數據集修剪時,應該平衡縮減規模和訓練增長時間兩方面因素。
與此同時,對數據集進行修剪,勢必會喪失一些群體的樣本,由此也可能造成模型在某一個方面出現弊端。
在這方面會容易引起道德倫理方面的問題。
研究團隊
本文作者之一Surya Ganguli,是量子神經網絡科學家。
他現在是斯坦福大學應用物理學教授、谷歌客座研究教授。
此前,他在斯坦福讀本科期間,同時學習了計算機科學、數學和物理三個專業,之后拿下了電氣工程與計算機科學碩士學位。
論文地址:https://arxiv.org/abs/2206.14486?