資源受限如何提高模型效率?一文梳理NLP高效方法
訓(xùn)練越來(lái)越大的深度學(xué)習(xí)模型已經(jīng)成為過(guò)去十年的一個(gè)新興趨勢(shì)。如下圖所示,模型參數(shù)量的不斷增加讓神經(jīng)網(wǎng)絡(luò)的性能越來(lái)越好,也產(chǎn)生了一些新的研究方向,但模型的問(wèn)題也越來(lái)越多。
首先,這類模型往往有訪問(wèn)限制,沒(méi)有開(kāi)源,或者即使開(kāi)源,仍然需要大量的計(jì)算資源來(lái)運(yùn)行。第二,這些網(wǎng)絡(luò)模型的參數(shù)是不能通用的,因此需要大量的資源來(lái)進(jìn)行訓(xùn)練和推導(dǎo)。第三,模型不能無(wú)限擴(kuò)大,因?yàn)閰?shù)的規(guī)模受到硬件的限制。為了解決這些問(wèn)題,專注于提高效率的方法正在形成一種新的研究趨勢(shì)。
近日,來(lái)自希伯來(lái)大學(xué)、華盛頓大學(xué)等多所機(jī)構(gòu)的十幾位研究者聯(lián)合撰寫(xiě)了一篇綜述,歸納總結(jié)了自然語(yǔ)言處理(NLP)領(lǐng)域的高效方法。
論文地址:https://arxiv.org/pdf/2209.00099.pdf
效率通常是指輸入系統(tǒng)的資源與系統(tǒng)產(chǎn)出之間的關(guān)系,一個(gè)高效的系統(tǒng)能在不浪費(fèi)資源的情況下產(chǎn)生產(chǎn)出。在 NLP 領(lǐng)域,我們認(rèn)為效率是一個(gè)模型的成本與它產(chǎn)生的結(jié)果之間的關(guān)系。
方程(1)描述了一個(gè)人工智能模型產(chǎn)生某種結(jié)果(R)的訓(xùn)練成本(Cost)與三個(gè)(不完備的)因素成正比:
(1)在單個(gè)樣本上執(zhí)行模型的成本(E);
(2)訓(xùn)練數(shù)據(jù)集的大小(D);
(3)模型選擇或參數(shù)調(diào)整所需的訓(xùn)練運(yùn)行次數(shù)(H)。
然后,可以從多個(gè)維度衡量成本 Cost(·) ,如計(jì)算、時(shí)間或環(huán)境成本中的每一個(gè)都可以通過(guò)多種方式進(jìn)一步量化。例如,計(jì)算成本可以包括浮點(diǎn)運(yùn)算(FLOPs)的總數(shù)或模型參數(shù)的數(shù)量。由于使用單一的成本指標(biāo)可能會(huì)產(chǎn)生誤導(dǎo),該研究收集和整理了關(guān)于高效 NLP 的多個(gè)方面的工作,并討論了哪些方面對(duì)哪些用例有益。
該研究旨在對(duì)提高 NLP 效率的廣泛方法做一個(gè)基本介紹,因此該研究按照典型的 NLP 模型 pipeline(下圖 2)來(lái)組織這次調(diào)查,介紹了使各個(gè)階段更高效的現(xiàn)有方法。
這項(xiàng)工作給 NLP 研究人員提供了一個(gè)實(shí)用的效率指南,主要面向兩類讀者:
(1)來(lái)自 NLP 各個(gè)領(lǐng)域的研究人員,幫助他們?cè)谫Y源有限的環(huán)境下工作:根據(jù)資源的瓶頸,讀者可以直接跳到 NLP pipeline 所涵蓋的某個(gè)方面。例如,如果主要的限制是推理時(shí)間,論文中第 6 章描述了相關(guān)的提高效率方法。
(2)對(duì)改善 NLP 方法效率現(xiàn)狀感興趣的研究人員。該論文可以作為一個(gè)切入點(diǎn),為新的研究方向?qū)ふ覚C(jī)會(huì)。
下圖 3 概述了該研究歸納整理的高效 NLP 方法。
此外,雖然硬件的選擇對(duì)模型的效率有很大的影響,但大多數(shù) NLP 研究者并不能直接控制關(guān)于硬件的決定,而且大多數(shù)硬件優(yōu)化對(duì)于 NLP pipeline 中的所有階段都有用。因此,該研究將工作重點(diǎn)放在了算法上,但在第 7 章中提供了關(guān)于硬件優(yōu)化的簡(jiǎn)單介紹。最后,該論文進(jìn)一步討論了如何量化效率,在評(píng)估過(guò)程中應(yīng)該考慮哪些因素,以及如何決定最適合的模型。
感興趣的讀者可以閱讀論文原文,了解更多研究細(xì)節(jié)。