近年來, transformers 已成為一種強大的深度神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu),已被證明在許多應(yīng)用領(lǐng)域,如 自然語言處理 ( NLP )和 computer vision ,都超過了最先進的水平。
這篇文章揭示了在微調(diào)變壓器時,如何以最快的訓(xùn)練時間獲得最大的精度。我們展示了 RAPIDS Machine Learning 庫中的 cuML 支持向量機( SVM )算法如何顯著加快這一過程。 GPU 上的 CuML SVM 比基于 CPU 的實現(xiàn)快 500 倍。 這種方法使用支持向量機磁頭,而不是傳統(tǒng)的 多層感知器( MLP )頭 ,因此可以精確輕松地進行微調(diào)。
什么是微調(diào)?為什么需要微調(diào)?
transformer 是一個 deep learning 模型,由許多多頭、自我關(guān)注和前饋完全連接的層組成。它主要用于序列到序列任務(wù),包括 NLP 任務(wù),如機器翻譯和問答,以及計算機視覺任務(wù),如目標檢測等。
從頭開始訓(xùn)練 transformer 是一個計算密集型過程,通常需要幾天甚至幾周的時間。在實踐中,微調(diào)是將預(yù)訓(xùn)練的變壓器應(yīng)用于新任務(wù)的最有效方法,從而減少培訓(xùn)時間。
用于微調(diào)變壓器的 MLP 磁頭
如圖 1 所示,變壓器有兩個不同的組件:
主干,包含多個自我注意塊和前饋層。
頭部,對分類或回歸任務(wù)進行最終預(yù)測。
在微調(diào)過程中, transformer 的主干網(wǎng)絡(luò)被凍結(jié),而只有輕型頭部模塊接受新任務(wù)的培訓(xùn)。 head 模塊最常見的選擇是 multi-layer perceptron ( MLP ),用于分類和回歸任務(wù)。
圖 1 。以 cuML-SVM 為磁頭加速變壓器的微調(diào)
事實證明,實現(xiàn)和調(diào)整 MLP 可能比看起來要困難得多。為什么?
有多個超參數(shù)需要調(diào)整: 層數(shù)、輟率、學(xué)習(xí)率、正則化、優(yōu)化器類型等。選擇要調(diào)整的超參數(shù)取決于您試圖解決的問題。例如,輟 和 batchnorm 等標準技術(shù)可能會導(dǎo)致 回歸問題的性能退化 。
必須采取更多措施防止過度安裝。 變壓器的輸出通常是一個長的嵌入向量,長度從數(shù)百到數(shù)千不等。當(dāng)訓(xùn)練數(shù)據(jù)大小不夠大時,過度擬合很常見。
執(zhí)行時間方面的性能通常不會得到優(yōu)化。 用戶必須為數(shù)據(jù)處理和培訓(xùn)編寫樣板代碼。批量生成和從 CPU 到 GPU 的數(shù)據(jù)移動也可能成為性能瓶頸。
SVM 磁頭用于變壓器微調(diào)的優(yōu)勢
支持向量機 (支持向量機)是最受歡迎的監(jiān)督學(xué)習(xí)方法之一,當(dāng)存在有意義的預(yù)測性特征時,支持向量機是最有效的。由于 SVM 對過度擬合的魯棒性,對于高維數(shù)據(jù)尤其如此。
然而,出于以下幾個原因,數(shù)據(jù)科學(xué)家有時不愿嘗試支持向量機:
它需要手工特征工程,這可能很難實現(xiàn)。
傳統(tǒng)上,支持向量機速度較慢。
RAPIDS cuML 通過提供 在 GPU 上的加速比高達 500 倍 重新喚起了人們對重溫這一經(jīng)典模型的興趣。有了 RAPIDS cuML ,支持向量機在數(shù)據(jù)科學(xué)界再次流行起來。
例如, RAPIDS cuML SVM 筆記本電腦已在多個 Kaggle 比賽中頻繁使用:
TReNDS Neuroimaging by Ahmet Erdem
CommonLit Readability by Chris Deotte
PetFinder by Chris Deotte
由于 transformers 已經(jīng)學(xué)會了以長嵌入向量的形式提取有意義的表示, cuML SVM 是頭部分類器或回歸器的理想候選。
與 MLP 頭相比, cuML SVM 具有以下優(yōu)勢:
容易調(diào)整。 在實踐中,我們發(fā)現(xiàn)在大多數(shù)情況下,僅調(diào)整一個參數(shù) C 就足以支持 SVM。
速度 。在 GPU 上處理之前, cuML 將所有數(shù)據(jù)一次性移動到 GPU 。
多樣化 。支持向量機的預(yù)測與 MLP 預(yù)測在統(tǒng)計上不同,這使得它在集合中非常有用。
Simple API. cuML SVM API 提供 scikit-learn 風(fēng)格的擬合和預(yù)測功能。
案例研究: PetFinder 。我的掌門人競賽
提出的帶有 SVM 磁頭的微調(diào)方法適用于 NLP 和 計算機視覺任務(wù) 。為了證明這一點,我們研究了 寵物搜尋者。我的掌門人競賽 ,這是一個 Kaggle 數(shù)據(jù)科學(xué)競賽,它根據(jù)寵物的照片預(yù)測了它們的受歡迎程度。
該項目使用的數(shù)據(jù)集由 10000 張手動標記的圖像組成,每個圖像都有一個我們想要預(yù)測的目標 pawpularity 。當(dāng) pawpularity 值在 0 到 100 之間時,我們使用回歸來解決這個問題。
由于只有 10000 個標記圖像,因此訓(xùn)練深層神經(jīng)網(wǎng)絡(luò)以從零開始獲得高精度是不切實際的。相反,我們通過使用預(yù)訓(xùn)練的 swin transformer 主干,然后用標記的 pet 圖像對其進行微調(diào)來實現(xiàn)這一點。
圖 2 。如何使用 cuML SVM 頭進行微調(diào)。
如圖 2 所示,我們的方法需要三個步驟:
首先,將使用 MLP 的回歸頭添加到主干 swin 變壓器,并對主干和回歸頭進行微調(diào)。一個有趣的發(fā)現(xiàn)是,二進制交叉熵損失優(yōu)于常見的均方誤差損失( MSE ) 由于目標的分布 。
接下來,主干被凍結(jié), MLP 頭被替換為 cuML SVM 頭。然后用常規(guī)的 MSE 損失對 SVM 頭進行訓(xùn)練。
為了獲得最佳預(yù)測精度,我們對 MLP 頭和 SVM 頭進行了平均。求值度量根意味著平方誤差從 18 優(yōu)化到 17.8 ,這對該數(shù)據(jù)集非常重要。
值得注意的是,第 1 步和第 3 步是可選的,在這里實施的目的是優(yōu)化模型在本次比賽中的得分。僅步驟 2 是微調(diào)最常見的場景。因此,我們在步驟 2 測量了運行時間,并比較了三個選項: cuML SVM ( GPU )、 sklearn SVM ( CPU )和 PyTorchMLP ( GPU )。結(jié)果如圖 3 所示。
圖 3 。運行時比較
使用 sklearn SVM 對運行時間進行歸一化, cuML SVM 實現(xiàn)了 15 倍的訓(xùn)練加速比和 28.18 倍的推理加速比。值得注意的是,由于 GPU 利用率高, cuML SVM 比 PyTorch MLP 更快。 筆記本可以在 Kaggle 上找到。
Transformer 微調(diào)的關(guān)鍵要點
Transformer 是革命性的深度學(xué)習(xí)模式,但培訓(xùn)它們很耗時。 GPU 上變壓器的快速微調(diào)可以通過提供顯著的加速而使許多應(yīng)用受益。 RAPIDS cuML SVM 也可以作為經(jīng)典 MLP 頭的替代品,因為它速度更快、精度更高。
GPU 加速為 SVM 等經(jīng)典 ML 模型注入了新的能量。使用 RAPIDS ,可以將兩個世界中最好的結(jié)合起來:經(jīng)典的機器學(xué)習(xí)( ML )模型和尖端的深度學(xué)習(xí)( DL )模型。在里面 RAPIDS cuML ,你會發(fā)現(xiàn)更多閃電般快速且易于使用的型號。
后記
在撰寫和編輯本文時, PetFinder.my 掌門人競賽 得出結(jié)論。 NVIDIA KGMON Gilberto Titericz 通過使用 RAPIDS 支持向量機獲得第一名。他成功的解決方案是集中變壓器和其他深層 CNN 的嵌入,并使用 RAPIDS SVM 作為回歸頭。
關(guān)于作者
Jiwei Liu 是 NVIDIA 的數(shù)據(jù)科學(xué)家,致力于 NVIDIA 人工智能基礎(chǔ)設(shè)施,包括 RAPIDS 數(shù)據(jù)科學(xué)框架。
Chris Deotte 是 NVIDIA 的高級數(shù)據(jù)科學(xué)家。克里斯有博士學(xué)位。在計算科學(xué)和數(shù)學(xué)中,有一篇關(guān)于優(yōu)化并行處理的論文。
審核編輯:郭婷
-
NVIDIA
+關(guān)注
關(guān)注
14文章
5071瀏覽量
103486 -
gpu
+關(guān)注
關(guān)注
28文章
4766瀏覽量
129189 -
人工智能
+關(guān)注
關(guān)注
1793文章
47601瀏覽量
239510
發(fā)布評論請先 登錄
相關(guān)推薦
評論