0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

利用RAPIDS機(jī)器學(xué)習(xí)實(shí)現(xiàn)Transformer的微調(diào)

星星科技指導(dǎo)員 ? 來源:NVIDIA ? 作者:NVIDIA ? 2022-04-20 10:28 ? 次閱讀

近年來, transformers 已成為一種強(qiáng)大的深度神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu),已被證明在許多應(yīng)用領(lǐng)域,如 自然語言處理 ( NLP )和 computer vision ,都超過了最先進(jìn)的水平。

這篇文章揭示了在微調(diào)變壓器時(shí),如何以最快的訓(xùn)練時(shí)間獲得最大的精度。我們展示了 RAPIDS Machine Learning 庫中的 cuML 支持向量機(jī)( SVM )算法如何顯著加快這一過程。 GPU 上的 CuML SVM 比基于 CPU 的實(shí)現(xiàn)快 500 倍。 這種方法使用支持向量機(jī)磁頭,而不是傳統(tǒng)的 多層感知器( MLP )頭 ,因此可以精確輕松地進(jìn)行微調(diào)。

什么是微調(diào)?為什么需要微調(diào)?

transformer 是一個(gè) deep learning 模型,由許多多頭、自我關(guān)注和前饋完全連接的層組成。它主要用于序列到序列任務(wù),包括 NLP 任務(wù),如機(jī)器翻譯和問答,以及計(jì)算機(jī)視覺任務(wù),如目標(biāo)檢測(cè)等。

從頭開始訓(xùn)練 transformer 是一個(gè)計(jì)算密集型過程,通常需要幾天甚至幾周的時(shí)間。在實(shí)踐中,微調(diào)是將預(yù)訓(xùn)練的變壓器應(yīng)用于新任務(wù)的最有效方法,從而減少培訓(xùn)時(shí)間。

用于微調(diào)變壓器的 MLP 磁頭

如圖 1 所示,變壓器有兩個(gè)不同的組件:

主干,包含多個(gè)自我注意塊和前饋層。

頭部,對(duì)分類或回歸任務(wù)進(jìn)行最終預(yù)測(cè)。

在微調(diào)過程中, transformer 的主干網(wǎng)絡(luò)被凍結(jié),而只有輕型頭部模塊接受新任務(wù)的培訓(xùn)。 head 模塊最常見的選擇是 multi-layer perceptron ( MLP ),用于分類和回歸任務(wù)。

pYYBAGJfb-iAGlrbAAEiRFk8VSQ882.png

圖 1 。以 cuML-SVM 為磁頭加速變壓器的微調(diào)

事實(shí)證明,實(shí)現(xiàn)和調(diào)整 MLP 可能比看起來要困難得多。為什么?

有多個(gè)超參數(shù)需要調(diào)整: 層數(shù)、輟率、學(xué)習(xí)率、正則化、優(yōu)化器類型等。選擇要調(diào)整的超參數(shù)取決于您試圖解決的問題。例如,輟 和 batchnorm 等標(biāo)準(zhǔn)技術(shù)可能會(huì)導(dǎo)致 回歸問題的性能退化 。

必須采取更多措施防止過度安裝。 變壓器的輸出通常是一個(gè)長(zhǎng)的嵌入向量,長(zhǎng)度從數(shù)百到數(shù)千不等。當(dāng)訓(xùn)練數(shù)據(jù)大小不夠大時(shí),過度擬合很常見。

執(zhí)行時(shí)間方面的性能通常不會(huì)得到優(yōu)化。 用戶必須為數(shù)據(jù)處理和培訓(xùn)編寫樣板代碼。批量生成和從 CPU 到 GPU 的數(shù)據(jù)移動(dòng)也可能成為性能瓶頸。

SVM 磁頭用于變壓器微調(diào)的優(yōu)勢(shì)

支持向量機(jī) (支持向量機(jī))是最受歡迎的監(jiān)督學(xué)習(xí)方法之一,當(dāng)存在有意義的預(yù)測(cè)性特征時(shí),支持向量機(jī)是最有效的。由于 SVM 對(duì)過度擬合的魯棒性,對(duì)于高維數(shù)據(jù)尤其如此。

然而,出于以下幾個(gè)原因,數(shù)據(jù)科學(xué)家有時(shí)不愿嘗試支持向量機(jī):

它需要手工特征工程,這可能很難實(shí)現(xiàn)。

傳統(tǒng)上,支持向量機(jī)速度較慢。

RAPIDS cuML 通過提供 在 GPU 上的加速比高達(dá) 500 倍 重新喚起了人們對(duì)重溫這一經(jīng)典模型的興趣。有了 RAPIDS cuML ,支持向量機(jī)在數(shù)據(jù)科學(xué)界再次流行起來。

例如, RAPIDS cuML SVM 筆記本電腦已在多個(gè) Kaggle 比賽中頻繁使用:

TReNDS Neuroimaging by Ahmet Erdem

CommonLit Readability by Chris Deotte

PetFinder by Chris Deotte

由于 transformers 已經(jīng)學(xué)會(huì)了以長(zhǎng)嵌入向量的形式提取有意義的表示, cuML SVM 是頭部分類器或回歸器的理想候選。

與 MLP 頭相比, cuML SVM 具有以下優(yōu)勢(shì):

容易調(diào)整。 在實(shí)踐中,我們發(fā)現(xiàn)在大多數(shù)情況下,僅調(diào)整一個(gè)參數(shù) C 就足以支持 SVM。

速度 。在 GPU 上處理之前, cuML 將所有數(shù)據(jù)一次性移動(dòng)到 GPU 。

多樣化 。支持向量機(jī)的預(yù)測(cè)與 MLP 預(yù)測(cè)在統(tǒng)計(jì)上不同,這使得它在集合中非常有用。

Simple API. cuML SVM API 提供 scikit-learn 風(fēng)格的擬合和預(yù)測(cè)功能。

案例研究: PetFinder 。我的掌門人競(jìng)賽

提出的帶有 SVM 磁頭的微調(diào)方法適用于 NLP 和 計(jì)算機(jī)視覺任務(wù) 。為了證明這一點(diǎn),我們研究了 寵物搜尋者。我的掌門人競(jìng)賽 ,這是一個(gè) Kaggle 數(shù)據(jù)科學(xué)競(jìng)賽,它根據(jù)寵物的照片預(yù)測(cè)了它們的受歡迎程度。

該項(xiàng)目使用的數(shù)據(jù)集由 10000 張手動(dòng)標(biāo)記的圖像組成,每個(gè)圖像都有一個(gè)我們想要預(yù)測(cè)的目標(biāo) pawpularity 。當(dāng) pawpularity 值在 0 到 100 之間時(shí),我們使用回歸來解決這個(gè)問題。

由于只有 10000 個(gè)標(biāo)記圖像,因此訓(xùn)練深層神經(jīng)網(wǎng)絡(luò)以從零開始獲得高精度是不切實(shí)際的。相反,我們通過使用預(yù)訓(xùn)練的 swin transformer 主干,然后用標(biāo)記的 pet 圖像對(duì)其進(jìn)行微調(diào)來實(shí)現(xiàn)這一點(diǎn)。

poYBAGJfb-mALrMPAAF-bIA87Ac361.png

圖 2 。如何使用 cuML SVM 頭進(jìn)行微調(diào)。

如圖 2 所示,我們的方法需要三個(gè)步驟:

首先,將使用 MLP 的回歸頭添加到主干 swin 變壓器,并對(duì)主干和回歸頭進(jìn)行微調(diào)。一個(gè)有趣的發(fā)現(xiàn)是,二進(jìn)制交叉熵?fù)p失優(yōu)于常見的均方誤差損失( MSE ) 由于目標(biāo)的分布 。

接下來,主干被凍結(jié), MLP 頭被替換為 cuML SVM 頭。然后用常規(guī)的 MSE 損失對(duì) SVM 頭進(jìn)行訓(xùn)練。

為了獲得最佳預(yù)測(cè)精度,我們對(duì) MLP 頭和 SVM 頭進(jìn)行了平均。求值度量根意味著平方誤差從 18 優(yōu)化到 17.8 ,這對(duì)該數(shù)據(jù)集非常重要。

值得注意的是,第 1 步和第 3 步是可選的,在這里實(shí)施的目的是優(yōu)化模型在本次比賽中的得分。僅步驟 2 是微調(diào)最常見的場(chǎng)景。因此,我們?cè)诓襟E 2 測(cè)量了運(yùn)行時(shí)間,并比較了三個(gè)選項(xiàng): cuML SVM ( GPU )、 sklearn SVM ( CPU )和 PyTorchMLP ( GPU )。結(jié)果如圖 3 所示。

pYYBAGJfb-qAVtGAAACPhWPJYcA406.png

圖 3 。運(yùn)行時(shí)比較

使用 sklearn SVM 對(duì)運(yùn)行時(shí)間進(jìn)行歸一化, cuML SVM 實(shí)現(xiàn)了 15 倍的訓(xùn)練加速比和 28.18 倍的推理加速比。值得注意的是,由于 GPU 利用率高, cuML SVM 比 PyTorch MLP 更快。 筆記本可以在 Kaggle 上找到。

Transformer 微調(diào)的關(guān)鍵要點(diǎn)

Transformer 是革命性的深度學(xué)習(xí)模式,但培訓(xùn)它們很耗時(shí)。 GPU 上變壓器的快速微調(diào)可以通過提供顯著的加速而使許多應(yīng)用受益。 RAPIDS cuML SVM 也可以作為經(jīng)典 MLP 頭的替代品,因?yàn)樗俣雀?、精度更高?/p>

GPU 加速為 SVM 等經(jīng)典 ML 模型注入了新的能量。使用 RAPIDS ,可以將兩個(gè)世界中最好的結(jié)合起來:經(jīng)典的機(jī)器學(xué)習(xí)( ML )模型和尖端的深度學(xué)習(xí)( DL )模型。在里面 RAPIDS cuML ,你會(huì)發(fā)現(xiàn)更多閃電般快速且易于使用的型號(hào)。

后記

在撰寫和編輯本文時(shí), PetFinder.my 掌門人競(jìng)賽 得出結(jié)論。 NVIDIA KGMON Gilberto Titericz 通過使用 RAPIDS 支持向量機(jī)獲得第一名。他成功的解決方案是集中變壓器和其他深層 CNN 的嵌入,并使用 RAPIDS SVM 作為回歸頭。

關(guān)于作者

Jiwei Liu 是 NVIDIA 的數(shù)據(jù)科學(xué)家,致力于 NVIDIA 人工智能基礎(chǔ)設(shè)施,包括 RAPIDS 數(shù)據(jù)科學(xué)框架。

Chris Deotte 是 NVIDIA 的高級(jí)數(shù)據(jù)科學(xué)家??死锼褂胁┦繉W(xué)位。在計(jì)算科學(xué)和數(shù)學(xué)中,有一篇關(guān)于優(yōu)化并行處理的論文。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • NVIDIA
    +關(guān)注

    關(guān)注

    14

    文章

    4793

    瀏覽量

    102428
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    27

    文章

    4591

    瀏覽量

    128144
  • 人工智能
    +關(guān)注

    關(guān)注

    1787

    文章

    46061

    瀏覽量

    234994
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于機(jī)器學(xué)習(xí)的IWR6843AOP跌倒和姿態(tài)檢測(cè)實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《基于機(jī)器學(xué)習(xí)的IWR6843AOP跌倒和姿態(tài)檢測(cè)實(shí)現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 09-03 10:02 ?0次下載
    基于<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>的IWR6843AOP跌倒和姿態(tài)檢測(cè)<b class='flag-5'>實(shí)現(xiàn)</b>

    【《大語言模型應(yīng)用指南》閱讀體驗(yàn)】+ 基礎(chǔ)知識(shí)學(xué)習(xí)

    今天來學(xué)習(xí)大語言模型在自然語言理解方面的原理以及問答回復(fù)實(shí)現(xiàn)。 主要是基于深度學(xué)習(xí)和自然語言處理技術(shù)。 大語言模型涉及以下幾個(gè)過程: 數(shù)據(jù)收集:大語言模型通過從互聯(lián)網(wǎng)、書籍、新聞、社交媒體等多種渠道
    發(fā)表于 08-02 11:03

    Transformer能代替圖神經(jīng)網(wǎng)絡(luò)嗎

    Transformer作為一種在處理序列數(shù)據(jù)方面表現(xiàn)出色的深度學(xué)習(xí)模型,自其提出以來,已經(jīng)在自然語言處理(NLP)、時(shí)間序列分析等領(lǐng)域取得了顯著的成果。然而,關(guān)于Transformer是否能完全代替圖神經(jīng)網(wǎng)絡(luò)(GNN)的問題,需
    的頭像 發(fā)表于 07-12 14:07 ?241次閱讀

    Transformer語言模型簡(jiǎn)介與實(shí)現(xiàn)過程

    在自然語言處理(NLP)領(lǐng)域,Transformer模型以其卓越的性能和廣泛的應(yīng)用前景,成為了近年來最引人注目的技術(shù)之一。Transformer模型由谷歌在2017年提出,并首次應(yīng)用于神經(jīng)機(jī)器
    的頭像 發(fā)表于 07-10 11:48 ?648次閱讀

    大模型為什么要微調(diào)?大模型微調(diào)的原理

    難以達(dá)到最佳性能。為了提升模型在特定任務(wù)上的表現(xiàn),微調(diào)(Fine-tuning)成為了一個(gè)關(guān)鍵步驟。本文將詳細(xì)探討大模型為什么要進(jìn)行微調(diào)以及微調(diào)的原理,并附上相關(guān)的代碼示例。
    的頭像 發(fā)表于 07-10 10:43 ?1949次閱讀

    使用PyTorch搭建Transformer模型

    Transformer模型自其問世以來,在自然語言處理(NLP)領(lǐng)域取得了巨大的成功,并成為了許多先進(jìn)模型(如BERT、GPT等)的基礎(chǔ)。本文將深入解讀如何使用PyTorch框架搭建Transformer模型,包括模型的結(jié)構(gòu)、訓(xùn)練過程、關(guān)鍵組件以及
    的頭像 發(fā)表于 07-02 11:41 ?1061次閱讀

    《魔獸世界》未采用生成式AI,利用機(jī)器學(xué)習(xí)實(shí)現(xiàn)護(hù)甲套裝配置

    同時(shí),海特還談及了團(tuán)隊(duì)利用機(jī)器學(xué)習(xí)進(jìn)行實(shí)驗(yàn)的情況。得益于此,《魔獸世界》的 24 個(gè)種族已配備新護(hù)甲套裝?!按饲?,我們的美術(shù)師需為每個(gè)角色設(shè)計(jì)單獨(dú)護(hù)甲,再依身高、體態(tài)、犄角乃至尾巴等特點(diǎn)進(jìn)行修改。這顯然并不輕松。”海特如是說。
    的頭像 發(fā)表于 04-03 11:38 ?224次閱讀

    機(jī)器學(xué)習(xí)8大調(diào)參技巧

    今天給大家一篇關(guān)于機(jī)器學(xué)習(xí)調(diào)參技巧的文章。超參數(shù)調(diào)優(yōu)是機(jī)器學(xué)習(xí)例程中的基本步驟之一。該方法也稱為超參數(shù)優(yōu)化,需要搜索超參數(shù)的最佳配置以實(shí)現(xiàn)
    的頭像 發(fā)表于 03-23 08:26 ?473次閱讀
    <b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>8大調(diào)參技巧

    一文詳解Transformer神經(jīng)網(wǎng)絡(luò)模型

    Transformer模型在強(qiáng)化學(xué)習(xí)領(lǐng)域的應(yīng)用主要是應(yīng)用于策略學(xué)習(xí)和值函數(shù)近似。強(qiáng)化學(xué)習(xí)是指讓機(jī)器在與環(huán)境互動(dòng)的過程中,通過試錯(cuò)來
    發(fā)表于 02-20 09:55 ?1.1w次閱讀
    一文詳解<b class='flag-5'>Transformer</b>神經(jīng)網(wǎng)絡(luò)模型

    Transformer壓縮部署的前沿技術(shù):RPTQ與PB-LLM

    隨著人工智能技術(shù)的迅速發(fā)展,Transformer在自然語言處理、機(jī)器翻譯、問答系統(tǒng)等領(lǐng)域取得了顯著的性能提升。
    的頭像 發(fā)表于 01-24 14:05 ?990次閱讀
    <b class='flag-5'>Transformer</b>壓縮部署的前沿技術(shù):RPTQ與PB-LLM

    基于transformer和自監(jiān)督學(xué)習(xí)的路面異常檢測(cè)方法分享

    鋪設(shè)異常檢測(cè)可以幫助減少數(shù)據(jù)存儲(chǔ)、傳輸、標(biāo)記和處理的壓力。本論文描述了一種基于Transformer和自監(jiān)督學(xué)習(xí)的新方法,有助于定位異常區(qū)域。
    的頭像 發(fā)表于 12-06 14:57 ?1216次閱讀
    基于<b class='flag-5'>transformer</b>和自監(jiān)督<b class='flag-5'>學(xué)習(xí)</b>的路面異常檢測(cè)方法分享

    關(guān)于深度學(xué)習(xí)模型Transformer模型的具體實(shí)現(xiàn)方案

    Transformer 本質(zhì)上是一個(gè) Encoder-Decoder 架構(gòu)。因此中間部分的 Transformer 可以分為兩個(gè)部分:編碼組件和解碼組件。
    發(fā)表于 11-17 10:34 ?450次閱讀
    關(guān)于深度<b class='flag-5'>學(xué)習(xí)</b>模型<b class='flag-5'>Transformer</b>模型的具體<b class='flag-5'>實(shí)現(xiàn)</b>方案

    物聯(lián)網(wǎng)與機(jī)器學(xué)習(xí)如何創(chuàng)造智能未來

    機(jī)器學(xué)習(xí)得到廣泛運(yùn)用,利用這些工具可以實(shí)現(xiàn)流程自動(dòng)化,提高生產(chǎn)力,并實(shí)時(shí)做出數(shù)據(jù)驅(qū)動(dòng)的抉擇和策略。智慧醫(yī)療隨著科技的發(fā)展,電子產(chǎn)品已經(jīng)成為我們生活中的必備用品,但
    的頭像 發(fā)表于 11-11 08:23 ?818次閱讀
    物聯(lián)網(wǎng)與<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>如何創(chuàng)造智能未來

    淺析機(jī)器學(xué)習(xí)的基本步驟

    機(jī)器學(xué)習(xí)中,機(jī)器學(xué)習(xí)的效率在很大程度上取決于它所提供的數(shù)據(jù)集,數(shù)據(jù)集的大小和豐富程度也決定了最終預(yù)測(cè)的結(jié)果質(zhì)量。目前在算力方面,量子計(jì)算能超越傳統(tǒng)二進(jìn)制的編碼系統(tǒng),
    發(fā)表于 10-30 11:13 ?334次閱讀
    淺析<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>的基本步驟

    為什么transformer性能這么好?Transformer的上下文學(xué)習(xí)能力是哪來的?

    為什么 transformer 性能這么好?它給眾多大語言模型帶來的上下文學(xué)習(xí) (In-Context Learning) 能力是從何而來?在人工智能領(lǐng)域里,transformer 已成為深度
    的頭像 發(fā)表于 09-25 12:05 ?1195次閱讀
    為什么<b class='flag-5'>transformer</b>性能這么好?<b class='flag-5'>Transformer</b>的上下文<b class='flag-5'>學(xué)習(xí)</b>能力是哪來的?