人人PyTorch,上A100能奪冠:分析完去年200場數(shù)據(jù)競賽,我悟了
2022 年是 AI 領(lǐng)域發(fā)展的重要一年,在數(shù)據(jù)競賽領(lǐng)域也同樣如此,所有平臺的總獎金超過了 500 萬美元。
近日,機器學(xué)習(xí)競賽分析平臺 ML Contests 對 2022 年的數(shù)據(jù)競賽進行了一次大規(guī)模統(tǒng)計。新報告回顧了 2022 年發(fā)生的所有值得關(guān)注的事。以下是對原文的編譯整理。
重點內(nèi)容:
- 成功參賽者的工具選擇:Python、Pydata、Pytorch 和梯度提高的決策樹。
- 深度學(xué)習(xí)仍未取代梯度增強的決策樹,盡管在結(jié)識增強方法時,前者通常價值會有所提升。
- Transformer 繼續(xù)在 NLP 中占主導(dǎo)地位,并開始在計算機視覺中和卷積神經(jīng)網(wǎng)絡(luò)開始競爭。
- 當今數(shù)據(jù)競賽涵蓋了廣泛的研究領(lǐng)域,包括計算機視覺、NLP、數(shù)據(jù)分析、機器人、時間序列分析等。
- 大集合模型在獲勝方案中仍然很普遍,一些單模型解決方案也能贏。
- 有多個活躍的數(shù)據(jù)競賽平臺存在。
- 數(shù)據(jù)競賽社區(qū)持續(xù)增長,在學(xué)界也是一樣。
- 大約有 50%獲獎?wù)呤且蝗藞F隊,50%的獲獎?wù)呤鞘状蔚锚劇?/span>
- 有人使用了高端硬件,但 Google Colab 這樣的免費資源也能贏得比賽。
比賽和趨勢
獎金數(shù)額最大的比賽是由美國復(fù)墾局贊助 Drivendata 的 Snow Cast Showdown 競賽。參與者可獲得 50 萬美元的獎金,旨在通過為西部的不同地區(qū)提供準確的雪水流量估算,以幫助改善供水管理。與往常一樣,Drivendata 詳細撰寫了比賽情況的文章并有詳細的解決方案報告,非常值得一讀。
2022 年最受歡迎的比賽是 Kaggle 的 American Express 默認預(yù)測競賽,旨在預(yù)測客戶是否會償還貸款。有超過 4000 支隊伍參賽,共 10 萬美元獎金分發(fā)至前四名的隊伍。今年第一次有首次參賽且單人隊伍獲得冠軍,其使用了神經(jīng)網(wǎng)絡(luò)和 LightGBM 模型的集合。
最大的獨立競賽是斯坦福大學(xué)的 AI 審計挑戰(zhàn),該挑戰(zhàn)為最佳的「模型、解決方案、數(shù)據(jù)集和工具」提供了 7.1 萬美元的獎勵池,以尋求方法解決「非法歧視的 AI 審核系統(tǒng)」的問題。
基于金融預(yù)測的三場比賽全部在 Kaggle 上:分別是 JPX 的東京證券交易所預(yù)測,Ubiquant 的市場預(yù)測以及 G-Research 的加密預(yù)測。
在不同方向的對比中,計算機視覺占比最高,NLP 位居第二,順序決策問題(強化學(xué)習(xí))正在興起。Kaggle 通過在 2020 年引入模擬競賽來回應(yīng)這種流行的增長。Aicrowd 還舉辦了許多強化學(xué)習(xí)類競賽。在 2022 年,其中有 25 個互動賽的比賽總額超過 30 萬美元。
在 NeurIPS 2022 官方競賽 Real Robot Challenge 中,參與者必須學(xué)會控制三指機器人,以將立方體移動到目標位置或?qū)⑵涠ㄎ辉诳臻g的特定點上,且要面朝正確的方向。參與者的策略每周在物理機器人上運行,結(jié)果更新到排行榜上。獎勵為 5000 美元的獎品,以及在 NeurIPS 研討會上演講的學(xué)術(shù)榮譽。
平臺
雖然人們都知道 Kaggle 和天池,但目前也有很多機器學(xué)習(xí)競賽平臺組成了活躍的生態(tài)系統(tǒng)。
下圖為 2022 平臺比較:
舉一些例子:
- Kaggle 是最成熟的平臺之一,它在 2017 年被谷歌收購,并擁有最大的社區(qū),最近吸引了 1000 萬用戶。在 Kaggle 上進行帶獎金的比賽可能非常昂貴。除了舉辦比賽外,Kaggle 還允許用戶托管數(shù)據(jù)集,筆記和模型。
- Codalab 是一個開源競賽平臺,由巴黎大學(xué) - 薩克萊大學(xué)維護。任何人都可以注冊,主持或參加比賽。其提供免費的 CPU 資源可用于推理,比賽組織者可以用自己的硬件進行補充。
- Zindi 是一個較小的平臺,具有非常活躍的社區(qū),專注于將機構(gòu)與非洲的數(shù)據(jù)科學(xué)家聯(lián)系起來。Drivendata 專注于具有社會影響的競賽,并為 NASA 和其他組織開展了比賽。競賽總是在深入的研究報告后跟進。
- Aicrowd 最初是瑞士聯(lián)邦理工學(xué)院(EPFL)的研究項目,現(xiàn)在是前五名競賽平臺之一。它舉辦了幾次 NeurIPS 官方比賽。
學(xué)術(shù)界
在大型平臺上運行的比賽的大部分獎金都來自工業(yè)界,但是機器學(xué)習(xí)競賽顯然在學(xué)術(shù)界擁有更加豐富的歷史,正如 Isabelle Guyon 今年在 NeurIPS 邀請演講中所討論的那樣。
NeurIPS 是全球最負盛名的學(xué)術(shù)機器學(xué)習(xí)會議之一,過去十年中最重要的機器學(xué)習(xí)論文經(jīng)常會在大會上呈現(xiàn),包括 AlexNet,GAN,Transformer 和 GPT-3。
NeurIPS 在 2014 年首次在機器學(xué)習(xí)(CIML)研討會方面舉辦了數(shù)據(jù)挑戰(zhàn)賽,自 2017 年以來一直有競賽環(huán)節(jié)。從那時起,競賽和總獎金不斷增長,在 2022 年 12 月達到了接近 40 萬美元。
其他機器學(xué)習(xí)會議也舉辦了比賽,包括 CVPR、ICPR、IJCAI、ICRA、ECCV、PCIC 和 AutoML。
獎金
大約一半的機器學(xué)習(xí)比賽有超過 1 萬美元的獎池。毫無疑問,許多有趣的比賽獎金不多,本報告僅考慮那些有貨幣獎品或?qū)W術(shù)榮譽的部分。通常,與享有聲望的學(xué)術(shù)會議相關(guān)的數(shù)據(jù)比賽為獲獎?wù)咛峁┝寺眯匈浛?,以便他們參加會議。
雖然平均而言,一些比賽平臺確實傾向于擁有比其他平臺更大的獎池(見平臺比較圖表),但許多平臺在 2022 年至少舉辦過一場獎池非常大的比賽 —— 總獎金排名前十的比賽包括在 DrivenData、Kaggle、CodaLab 和 AIcrowd 上運行的。
奪冠方法
該調(diào)查通過問卷和觀察代碼的方式分析獲勝算法使用的技術(shù)。
相當一致的是,Python 是競賽獲勝者的首選語言,這對于人們來說可能不是個預(yù)料之外的結(jié)果。在使用 Python 的人中,大約一半主要使用 Jupyter Notebook,另一半使用標準 Python 腳本。
一個主要使用 R 語言的獲勝解決方案是:Amir Ghazi 贏得了 Kaggle 上預(yù)測 2022 年美國男子大學(xué)籃球錦標賽獲勝者的比賽。他通過使用 —— 顯然是逐字復(fù)制 ——2018 年同類競賽獲勝解決方案的代碼來做到這一點,該方法由 Kaggle Grandmaster Darius Baru?auskas 撰寫。讓人難以想象的是,Darius 也參加了 2022 年的這場比賽,他使用新的方法,并獲得了第 593 名。
獲獎?wù)呤褂玫?Python 包
在觀察獲勝解決方案中使用的軟件包時,結(jié)果顯示所有使用 Python 的獲獎?wù)叨荚谝欢ǔ潭壬鲜褂昧?PyData 堆棧。
將最流行的軟件包分為三類 —— 核心工具包、NLP 類和計算機視覺類。
其中,深度學(xué)習(xí)框架 PyTorch 的增長一直穩(wěn)定,其從 2021 年到 2022 年的躍升非常明顯:PyTorch 從獲勝解決方案的 77% 增加到了 96%。
在 46 個使用深度學(xué)習(xí)的獲獎解決方案中,44 個使用 PyTorch 作為他們的主要框架,只有兩個使用 TensorFlow。更明顯的是,使用 TensorFlow 贏得的兩項比賽之一,Kaggle 的大堡礁競賽,提供額外的 5 萬美元獎金給使用 TensorFlow 的獲勝團隊。另一個使用 TensorFlow 獲勝的比賽使用了高級的 Keras API。
雖然有 3 名獲勝者使用 pytorch-lightning 和 1 名使用 fastai—— 兩者都建立在 PyTorch 之上 —— 但絕大多數(shù)人直接使用 PyTorch。
現(xiàn)在或許可以說至少在數(shù)據(jù)競賽上,PyTorch 贏得了機器學(xué)習(xí)框架之爭。這與更廣泛的機器學(xué)習(xí)研究趨勢一致。
值得注意的是,我們沒有發(fā)現(xiàn)任何獲勝團隊使用其他神經(jīng)網(wǎng)絡(luò)庫的實例,例如 JAX(由 Google 構(gòu)建,由 DeepMind 使用)、PaddlePaddle(由百度開發(fā))或 MindSpore(由華為開發(fā))。
計算機視覺
工具有一統(tǒng)江湖的趨勢,技術(shù)卻不是。在 CVPR 2022 上,ConvNext 架構(gòu)被介紹為「2020 年代的 ConvNet」,并證明其性能優(yōu)于最近的基于 Transformer 的模型。它被用于至少兩個贏得比賽的計算機視覺解決方案,而 CNN 總體上仍是迄今為止計算機視覺競賽獲獎?wù)咧凶類塾玫纳窠?jīng)網(wǎng)絡(luò)架構(gòu)。
計算機視覺與語言建模非常相似的地方在于使用預(yù)訓(xùn)練模型:在公共數(shù)據(jù)集(例如 ImageNet)上訓(xùn)練的易于理解的架構(gòu)。最受歡迎的存儲庫是 Hugging Face Hub,可通過 timm 訪問,這使得加載數(shù)十種不同計算機視覺模型的預(yù)訓(xùn)練版本變得極其方便。
使用預(yù)訓(xùn)練模型的優(yōu)勢是顯而易見的:真實世界的圖像和人類生成的文本都有一些共同的特征,使用預(yù)訓(xùn)練模型可以帶來常識的知識,類似于使用了更大、更通用的訓(xùn)練數(shù)據(jù)集。
通常,預(yù)先訓(xùn)練好的模型會根據(jù)特定任務(wù)的數(shù)據(jù)(例如比賽組織者提供的數(shù)據(jù))進行微調(diào) —— 進一步訓(xùn)練,但并非總是如此。Image Matching Challenge 的獲勝者使用了預(yù)訓(xùn)練模型,完全沒有任何微調(diào) ——「由于本次比賽中訓(xùn)練和測試數(shù)據(jù)的質(zhì)量(不同),我們沒有使用提供的訓(xùn)練進行 fine-tuning,因為我們認為它會不太有效。」這個決定得到了回報。
到目前為止,2022 年獲獎?wù)咧凶钍軞g迎的預(yù)訓(xùn)練計算機視覺模型類型是 EfficientNet,顧名思義,它的優(yōu)勢在于比許多其他模型占用資源更少。
自然語言處理
自 2017 年問世以來,基于 Transformer 的模型一直主導(dǎo)著自然語言處理(NLP)領(lǐng)域。Transformer 是 BERT 和 GPT 中的「T」,也是 ChatGPT 中的核心。
因此,自然語言處理競賽中所有獲勝的解決方案都是基于 Transformer 的模型為核心也就不足為奇了。它們都是在 PyTorch 中實現(xiàn)的,這并不奇怪。他們都使用了預(yù)訓(xùn)練模型,使用 Hugging Face 的 Transformers 庫加載,幾乎所有模型都使用了 Microsoft Research 的 DeBERTa 模型版本 —— 通常是 deberta-v3-large。
它們其中的許多都需要大量的計算資源。例如,谷歌 AI4Code 獲勝者運行 A100(80GB)大約 10 天,以訓(xùn)練單個 deberta-v3-large 用于他們的最終解決方案。這種方法是個例外(使用單個主模型和固定的訓(xùn)練 / 評估拆分)—— 所有其他解決方案都大量使用集成模型,并且?guī)缀醵际褂酶鞣N形式的 k-fold 交叉驗證。例如,Jigsaw Toxic Comments 比賽的獲勝者使用了 15 個模型輸出的加權(quán)平均值。
基于 Transformer 的集成有時會與 LSTM 或 LightGBM 結(jié)合使用,也有至少兩個偽標簽實例被有效地用于獲勝的解決方案。
XGBoost 曾經(jīng)是 Kaggle 的代名詞。然而,LightGBM 顯然是 2022 年獲獎?wù)咦钕矚g的 GBDT 庫 —— 獲獎?wù)咴谒麄兊慕鉀Q方案報告或問卷中提到 LightGBM 的次數(shù)與 CatBoost 和 XGBoost 的總和相同,CatBoost 位居第二,XGBoost 出人意料地排名第三。
計算和硬件
正如大致預(yù)期的,大多數(shù)獲勝者使用 GPU 進行訓(xùn)練 —— 這可以極大地提高梯度提升樹的訓(xùn)練性能,并且實際上是深度神經(jīng)網(wǎng)絡(luò)所必需的。相當多的獲獎?wù)呖梢栽L問其雇主或大學(xué)提供的集群,通常包括 GPU。
有點令人驚訝的是,我們沒有發(fā)現(xiàn)任何使用 Google 的張量處理單元 TPU 來訓(xùn)練獲勝模型的實例。我們也沒有看到任何關(guān)于蘋果 M 系列芯片上訓(xùn)練的獲勝模型,蘋果芯片自 2022 年 5 月以來一直得到 PyTorch 的支持。
谷歌的云筆記本解決方案 Colab 很受歡迎,有一位獲勝者使用免費套餐,一位使用 Pro 套餐,另一位使用 Pro+(我們無法確定第四位獲勝者使用 Colab 所使用的套餐)。
本地個人硬件比云硬件更受歡迎,盡管九名獲獎?wù)咛岬搅怂麄冇糜谟?xùn)練的 GPU,但沒有具體說明他們使用的是本地 GPU 還是云 GPU。
最受歡迎的 GPU 是最新的高端 AI 加速卡 NVIDIA A100(這里將 A100 40GB 和 A100 80GB 放在一起,因為獲勝者并不總能區(qū)分兩者),而且通常使用多塊 A100—— 例如,Zindi 的 Turtle Recall 競賽的獲勝者使用 8 塊 A100(40GB)GPU,另外兩個獲勝者使用 4 塊 A100。
團隊構(gòu)成
許多比賽允許每個團隊最多 5 名參賽者,團隊可以由個人或較小的團隊在成績提交截止日期前的某個 deadline 前「合并」在一起組成。
一些比賽允許更大的團隊,例如,Waymo 的開放數(shù)據(jù)挑戰(zhàn)允許每個團隊最多 10 個人。
結(jié)論
這是對 2022 年機器學(xué)習(xí)競賽的大致觀察。希望你可以從中找到一些有用信息。
2023 年有許多激動人心的新比賽,我們期待在這些比賽結(jié)束時發(fā)布更多見解。