0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(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)員 ? 來(lái)源:NVIDIA ? 作者:NVIDIA ? 2022-04-20 10:28 ? 次閱讀

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

這篇文章揭示了在微調(diào)變壓器時(shí),如何以最快的訓(xùn)練時(shí)間獲得最大的精度。我們展示了 RAPIDS Machine Learning 庫(kù)中的 cuML 支持向量機(jī)( SVM )算法如何顯著加快這一過(guò)程。 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ī)器翻譯和問(wèn)答,以及計(jì)算機(jī)視覺(jué)任務(wù),如目標(biāo)檢測(cè)等。

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

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

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

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

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

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

pYYBAGJfb-iAGlrbAAEiRFk8VSQ882.png

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

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

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

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

執(zhí)行時(shí)間方面的性能通常不會(huì)得到優(yōu)化。 用戶必須為數(shù)據(jù)處理和培訓(xùn)編寫(xiě)樣板代碼。批量生成和從 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ì)過(guò)度擬合的魯棒性,對(duì)于高維數(shù)據(jù)尤其如此。

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

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

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

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

例如, 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 是頭部分類(lèi)器或回歸器的理想候選。

與 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 。我的掌門(mén)人競(jìng)賽

提出的帶有 SVM 磁頭的微調(diào)方法適用于 NLP 和 計(jì)算機(jī)視覺(jué)任務(wù) 。為了證明這一點(diǎn),我們研究了 寵物搜尋者。我的掌門(mé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í),我們使用回歸來(lái)解決這個(gè)問(wèn)題。

由于只有 10000 個(gè)標(biāo)記圖像,因此訓(xùn)練深層神經(jīng)網(wǎng)絡(luò)以從零開(kāi)始獲得高精度是不切實(shí)際的。相反,我們通過(guò)使用預(yù)訓(xùn)練的 swin transformer 主干,然后用標(biāo)記的 pet 圖像對(duì)其進(jìn)行微調(diào)來(lái)實(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)于常見(jiàn)的均方誤差損失( MSE ) 由于目標(biāo)的分布 。

接下來(lái),主干被凍結(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)最常見(jiàn)的場(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)可以通過(guò)提供顯著的加速而使許多應(yīng)用受益。 RAPIDS cuML SVM 也可以作為經(jīng)典 MLP 頭的替代品,因?yàn)樗俣雀臁⒕雀摺?/p>

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

后記

在撰寫(xiě)和編輯本文時(shí), PetFinder.my 掌門(mén)人競(jìng)賽 得出結(jié)論。 NVIDIA KGMON Gilberto Titericz 通過(guò)使用 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é)家。克里斯有博士學(xué)位。在計(jì)算科學(xué)和數(shù)學(xué)中,有一篇關(guān)于優(yōu)化并行處理的論文。

審核編輯:郭婷

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

    關(guān)注

    14

    文章

    5059

    瀏覽量

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

    關(guān)注

    28

    文章

    4762

    瀏覽量

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

    關(guān)注

    1793

    文章

    47532

    瀏覽量

    239292
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【「基于大模型的RAG應(yīng)用開(kāi)發(fā)與優(yōu)化」閱讀體驗(yàn)】+大模型微調(diào)技術(shù)解讀

    今天學(xué)習(xí)<基于大模型的RAG應(yīng)用開(kāi)發(fā)與優(yōu)化>這本書(shū)。大模型微調(diào)是深度學(xué)習(xí)領(lǐng)域中的一項(xiàng)關(guān)鍵技術(shù),它指的是在已經(jīng)預(yù)訓(xùn)練好的大型深度學(xué)習(xí)模型基礎(chǔ)上,使用新的、特定任務(wù)相關(guān)的數(shù)據(jù)
    發(fā)表于 01-14 16:51

    《具身智能機(jī)器人系統(tǒng)》第7-9章閱讀心得之具身智能機(jī)器人與大模型

    醫(yī)療領(lǐng)域,手術(shù)輔助機(jī)器人需要毫米級(jí)的精確控制,書(shū)中有介紹基于視覺(jué)伺服的實(shí)時(shí)控制算法,以及如何利用大模型優(yōu)化手術(shù)路徑規(guī)劃。工業(yè)場(chǎng)景中,協(xié)作機(jī)器人面臨的主要挑戰(zhàn)是快速適應(yīng)新工藝流程。具身智能通過(guò)在線
    發(fā)表于 12-24 15:03

    Transformer機(jī)器人技術(shù)的基礎(chǔ)嗎

    生成式預(yù)訓(xùn)練Transformer(GPT)被吹捧為將徹底改變機(jī)器人技術(shù)。但實(shí)際應(yīng)用中,GPT需要龐大且昂貴的計(jì)算資源、冗長(zhǎng)的訓(xùn)練時(shí)間以及(通常)非機(jī)載無(wú)線控制,諸多限制之下,GPT技術(shù)真的
    的頭像 發(fā)表于 12-05 10:54 ?269次閱讀
    <b class='flag-5'>Transformer</b>是<b class='flag-5'>機(jī)器</b>人技術(shù)的基礎(chǔ)嗎

    什么是機(jī)器學(xué)習(xí)?通過(guò)機(jī)器學(xué)習(xí)方法能解決哪些問(wèn)題?

    來(lái)源:Master編程樹(shù)“機(jī)器學(xué)習(xí)”最初的研究動(dòng)機(jī)是讓計(jì)算機(jī)系統(tǒng)具有人的學(xué)習(xí)能力以便實(shí)現(xiàn)人工智能。因?yàn)闆](méi)有學(xué)習(xí)能力的系統(tǒng)很難被認(rèn)為是具有智能
    的頭像 發(fā)表于 11-16 01:07 ?463次閱讀
    什么是<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>?通過(guò)<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>方法能解決哪些問(wèn)題?

    NPU與機(jī)器學(xué)習(xí)算法的關(guān)系

    在人工智能領(lǐng)域,機(jī)器學(xué)習(xí)算法是實(shí)現(xiàn)智能系統(tǒng)的核心。隨著數(shù)據(jù)量的激增和算法復(fù)雜度的提升,對(duì)計(jì)算資源的需求也在不斷增長(zhǎng)。NPU作為一種專(zhuān)門(mén)為深度學(xué)習(xí)機(jī)
    的頭像 發(fā)表于 11-15 09:19 ?541次閱讀

    LLM和傳統(tǒng)機(jī)器學(xué)習(xí)的區(qū)別

    在人工智能領(lǐng)域,LLM(Large Language Models,大型語(yǔ)言模型)和傳統(tǒng)機(jī)器學(xué)習(xí)是兩種不同的技術(shù)路徑,它們?cè)谔幚頂?shù)據(jù)、模型結(jié)構(gòu)、應(yīng)用場(chǎng)景等方面有著顯著的差異。 1. 模型結(jié)構(gòu)
    的頭像 發(fā)表于 11-08 09:25 ?639次閱讀

    基于機(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 ?1次下載
    基于<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ǔ)言模型應(yīng)用指南》閱讀體驗(yàn)】+ 基礎(chǔ)知識(shí)學(xué)習(xí)

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

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

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

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

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

    大模型為什么要微調(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 ?4345次閱讀

    使用PyTorch搭建Transformer模型

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

    《魔獸世界》未采用生成式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)行修改。這顯然并不輕松。”海特如是說(shuō)。
    的頭像 發(fā)表于 04-03 11:38 ?332次閱讀

    一文詳解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)的過(guò)程中,通過(guò)試錯(cuò)來(lái)
    發(fā)表于 02-20 09:55 ?1.5w次閱讀
    一文詳解<b class='flag-5'>Transformer</b>神經(jīng)網(wǎng)絡(luò)模型

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

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