華人女博士提出高效NAS算法:AutoML一次「訓(xùn)練」適配億萬硬件
近日,由加州大學(xué)河濱分校主導(dǎo)、喬治梅森和圣母大學(xué)共同合作的團(tuán)隊(duì)提出,可以利用延遲的單調(diào)性來從根本上促進(jìn)硬件適配NAS —— 即不同設(shè)備上的神經(jīng)架構(gòu)延遲排名通常是相關(guān)的。
當(dāng)強(qiáng)延遲單調(diào)性存在時,可以復(fù)用代理硬件上NAS所得到的架構(gòu)給任意新目標(biāo)硬件,而不會損失Pareto最優(yōu)性。通過這種方法,結(jié)合現(xiàn)有的SOTA NAS技術(shù),硬件適配NAS的代價可以降到常數(shù)O(1)。
目前,論文已經(jīng)被國際性能建模和分析頂會ACM SIGMETRICS 2022接收。

論文地址:https://arxiv.org/abs/2111.01203
項(xiàng)目地址:https://ren-research.github.io/OneProxy/
神經(jīng)架構(gòu)搜索(NAS)
神經(jīng)網(wǎng)絡(luò)是層狀結(jié)構(gòu),每一層可能是卷積層、激活層或全連接層等。
NAS的過程就像搭積木,積木的每一層都有多種選擇,比如當(dāng)前層是卷積層時,使用多大的卷積核就是一種選擇。在把各層的選擇組合起來之后,便構(gòu)成了一個完整的神經(jīng)架構(gòu)。
通過NAS,一般會得到多個「最優(yōu)」架構(gòu),比如高精度同時高延遲和低精度同時低延遲的架構(gòu)。而NAS的最終目標(biāo)就是找出這樣一系列在精度VS延遲的權(quán)衡中最優(yōu)的架構(gòu)(稱為Pareto最優(yōu)架構(gòu))。相應(yīng)地,硬件適配NAS就是對給定目標(biāo)設(shè)備進(jìn)行NAS,從而找到當(dāng)前設(shè)備上的一系列Pareto最優(yōu)架構(gòu)。
由此可見,NAS就是一個「選擇-組合」的過程,所以過程中必定會得到非常多個可供選擇的架構(gòu)。從中挑出Pareto最優(yōu)架構(gòu)的方法是對這些架構(gòu)的延遲和精度進(jìn)行排名而擇其優(yōu)。
對此,本文將使用精度和推理延遲兩個指標(biāo)來衡量一個神經(jīng)架構(gòu)的性能。
工作簡介
卷積神經(jīng)網(wǎng)絡(luò)(CNN)已被部署在越來越多樣化的硬件設(shè)備和平臺上。而神經(jīng)網(wǎng)絡(luò)架構(gòu)極大地影響著最終的模型性能,比如推理精度和延遲。因此,在NAS的過程中綜合目標(biāo)硬件的影響至關(guān)重要,即硬件適配的NAS。
高效進(jìn)行硬件適配NAS的關(guān)鍵是快速在目標(biāo)設(shè)備上評估各個神經(jīng)架構(gòu)的延推理延遲。如果簡單地直接測量每個架構(gòu)的延遲,會導(dǎo)致一次NAS就需要數(shù)周甚至數(shù)月。所以SOTA硬件適配的NAS主要依賴于為每個設(shè)備建立延遲查找表或預(yù)測器。

然而構(gòu)建延遲預(yù)測器非常耗時以及需要大量的工程工作。例如,MIT的ProxylessNAS在移動設(shè)備上測量了5000個DNN的平均推理延遲,以此為基礎(chǔ)構(gòu)建延遲查找表。
假設(shè)每次測量的理想耗時是20秒(根據(jù)TensorFlow官方指南),即使不間斷地測量,在一個設(shè)備上構(gòu)建延遲預(yù)測器也需要27個多小時。類似地,Meta提出的ChamNet收集了35萬條延遲記錄,僅僅用于在一個設(shè)備上構(gòu)建延遲預(yù)測器。
今年ICLR的spotlight工作HW-NAS-Bench也花了一個月在NAS-Bench-201和FBNet模型空間上搜集延遲數(shù)據(jù),并為六個設(shè)備構(gòu)建延遲預(yù)測器。在Microsoft的最新工作nn-meter中,單是收集一個邊緣設(shè)備上的延遲測量值就需要4.4天。
這些事實(shí)證明了SOTA的硬件適配NAS —— 為每個目標(biāo)設(shè)備構(gòu)建延遲預(yù)測器 —— 成本非常高昂。

更復(fù)雜的是,CNN部署的目標(biāo)設(shè)備極其多樣化,包括移動CPU、ASIC、邊緣設(shè)備、和GPU等。例如,光是移動設(shè)備,市面上就有兩千多個SoC,排名前30的SoC才勉強(qiáng)各有超過1% 的份額。所以,如何在極其多樣化的目標(biāo)設(shè)備上有效地進(jìn)行硬件適配NAS已成為一項(xiàng)挑戰(zhàn)。

在本項(xiàng)工作中,作者解決了如何在不同目標(biāo)設(shè)備上降低硬件適配NAS的延遲評估成本。作者首先證明了神經(jīng)架構(gòu)的延遲單調(diào)性普遍存在,尤其是同一平臺的設(shè)備間。延遲單調(diào)性意味著不同架構(gòu)的延遲排名順序在多個設(shè)備上相關(guān)。
在此基礎(chǔ)上,只需要選擇一個設(shè)備作為代理并為它構(gòu)建延遲預(yù)測器 —— 而不是像SOTA那樣為每個單獨(dú)的目標(biāo)設(shè)備構(gòu)建延遲預(yù)測器 —— 就足夠了。
實(shí)驗(yàn)結(jié)果表明,與專門針對每個目標(biāo)設(shè)備進(jìn)行優(yōu)化的NAS相比,僅使用一個代理設(shè)備的方法幾乎不會損失Pareto最優(yōu)性。本項(xiàng)工作被收錄于SIGMETRICS’22。
普遍存在的延遲單調(diào)性
作為本項(xiàng)工作的根基,作者首先研究了神經(jīng)架構(gòu)的延遲單調(diào)性,并證明它普遍存在于設(shè)備間,尤其是同一平臺的設(shè)備。本文使用Spearman等級相關(guān)系數(shù)(SRCC)來定量地衡量延遲的單調(diào)程度。SRCC的值介于-1和1之間,兩個設(shè)備上模型延遲的SRCC越大表明延遲的單調(diào)性越好。通常,SRCC的值大于0.9時被視為強(qiáng)單調(diào)性。
1. 同一平臺的設(shè)備間
作者首先在四個移動設(shè)備上進(jìn)行了延遲單調(diào)性實(shí)驗(yàn),分別是三星Galaxy S5e和TabA,聯(lián)想Moto Tab和Vankyo MatrixPad Z1;并從 MobileNet-V2搜索空間隨機(jī)sample了10k個模型。接下來在四個設(shè)備上分別部署這些模型并計(jì)算它們的平均推理延遲。
下圖(a)用散點(diǎn)表示這些模型在四個設(shè)備上的推理延遲;圖(b)用熱力圖來可視化設(shè)備之間模型延遲的相關(guān)系數(shù),每個方格的顏色深淺和所標(biāo)數(shù)值直觀地表示一對設(shè)備間的SRCC大小。
作者發(fā)現(xiàn),當(dāng)一個模型在TabA上運(yùn)行得更快時,在其他設(shè)備上也更快,并且任意一對設(shè)備間的SRCC都大于 0.98,這表明這10k個模型在這些設(shè)備上有非常強(qiáng)的延遲單調(diào)性。

更多的實(shí)驗(yàn)還證明,同樣的結(jié)論對于其他平臺的設(shè)備間也成立,例如CPU,GPU,和FPGA。


2. 跨平臺的設(shè)備間
對于跨平臺的設(shè)備,由于硬件結(jié)構(gòu)通常顯著不同,延遲排名的相關(guān)性自然而然會低于同平臺的設(shè)備間。作者在HW-NAS-Bench開源數(shù)據(jù)集上的實(shí)驗(yàn)也證明了此結(jié)論(詳情見原文附錄)。

用一個代理設(shè)備進(jìn)行硬件適配NAS
硬件適配NAS的目的是從數(shù)以億計(jì)的可選神經(jīng)架構(gòu)中找到適配當(dāng)前硬件的一系列Pareto最優(yōu)架構(gòu)。其中,不同硬件只會影響架構(gòu)的延遲,而不改變架構(gòu)精度。
通過前一個章節(jié)可以知道不同硬件上架構(gòu)的延遲排名可能有很強(qiáng)的相關(guān)性,既然代理硬件上延遲低精度高的架構(gòu)可能在其他硬件上也延遲低精度高。那么能不能直接復(fù)用一個代理硬件上的Pareto最優(yōu)架構(gòu)給所有硬件呢?
作者的回答是:能,但是需要滿足一定的條件。
首先,用一個代理設(shè)備在目標(biāo)設(shè)備上進(jìn)行NAS并成功搜索出Pareto最優(yōu)架構(gòu)的充分條件是強(qiáng)延遲單調(diào)性。當(dāng)代理設(shè)備和目標(biāo)設(shè)備之間的SRCC達(dá)不到閾值時,代理設(shè)備上NAS搜索出的架構(gòu)可能與目標(biāo)的Pareto最優(yōu)架構(gòu)有些差距。
實(shí)際情況中,設(shè)備之間的低延遲單調(diào)性可能并不少見,尤其對于跨平臺的設(shè)備間。針對這種情況,作者提出了一種有效的遷移學(xué)習(xí)技術(shù)來使代理設(shè)備的延遲預(yù)測器適應(yīng)到目標(biāo)設(shè)備,從而提高適應(yīng)后的「新代理」設(shè)備和目標(biāo)設(shè)備之間的延時SRCC。
本文通過大量實(shí)驗(yàn)證明,可以成功作為代理設(shè)備的延遲SRCC閾值在0.9左右。使用遷移學(xué)習(xí)技術(shù)來提高代理設(shè)備和目標(biāo)設(shè)備間SRCC的效果如下,具體細(xì)節(jié)以及算法描述可以參考原文的對應(yīng)章節(jié)。


實(shí)驗(yàn)結(jié)果
作者在多個主流NAS搜索空間——MobileNet-V2、MobileNet-V3、NAS-Bench-201和FBNet上,對多個硬件設(shè)備(包括手機(jī)、GPU/CPU、ASIC等)進(jìn)行了實(shí)驗(yàn),證明了利用延時單調(diào)性(結(jié)合遷移學(xué)習(xí)提高單調(diào)性的技術(shù)),使用一個代理設(shè)備來對不同目標(biāo)設(shè)備進(jìn)行硬件適配NAS的有效性。

總結(jié)
快速評估在目標(biāo)設(shè)備上的推理延遲是能夠在海量的神經(jīng)構(gòu)架空間中實(shí)現(xiàn)高效優(yōu)化的關(guān)鍵步驟。目前普遍采用的為每個目標(biāo)設(shè)備構(gòu)建延遲預(yù)測器的方法無法滿足實(shí)際中目標(biāo)設(shè)備日益增多所帶來的挑戰(zhàn)。
在加州大學(xué)河濱分校團(tuán)隊(duì)所提出的全新方法中,基于延遲單調(diào)性,僅僅一個代理設(shè)備就足以進(jìn)行硬件適配的神經(jīng)構(gòu)架搜索,并且不失最優(yōu)性。這省去了大量構(gòu)建延遲預(yù)測器的巨大代價,使得今后針對不同平臺和設(shè)備快速優(yōu)化神經(jīng)構(gòu)架成為了可能。
作者簡介
論文第一作者盧冰倩目前是加州大學(xué)河濱分校的博士生研究助理,本科畢業(yè)于浙江大學(xué)。博士期間一直從事AutoML和NAS的研究工作,包括自動化機(jī)器學(xué)習(xí)模型選擇、可擴(kuò)展的硬件適配神經(jīng)網(wǎng)絡(luò)優(yōu)化,以及硬件適配NAS等。
其導(dǎo)師任紹磊博士,清華大學(xué)電子系本科,加州大學(xué)洛杉磯分校博士,現(xiàn)任加州大學(xué)河濱分校副教授。任教授的研究興趣包括系統(tǒng)與網(wǎng)絡(luò)優(yōu)化(數(shù)據(jù)中心,云計(jì)算,邊緣計(jì)算等),近年來專注于機(jī)器學(xué)習(xí)及其應(yīng)用(包括強(qiáng)化學(xué)習(xí),AutoML,TinyML等)。