英特爾實驗室最新成果:LLaMA-NAS — — 大型語言模型的高效神經(jīng)架構(gòu)搜索 精華
隨著模型規(guī)模的不斷擴(kuò)大,其對計算資源的需求也水漲船高。高昂的內(nèi)存和計算成本不僅限制了LLMs在高性能計算平臺之外的應(yīng)用,也增加了研究和開發(fā)的門檻,這對于資源有限的研究機(jī)構(gòu)和企業(yè)尤其成問題。在這樣的背景下,減小LLMs的大小和計算復(fù)雜度顯得尤為重要。這可以使LLMs在更廣泛的硬件平臺上得到應(yīng)用,包括那些價格更便宜、更易獲得的設(shè)備,從而推動AI技術(shù)的普及和應(yīng)用。優(yōu)化模型的計算效率對于環(huán)境的可持續(xù)性也至關(guān)重要,因為計算資源的消耗直接關(guān)聯(lián)到能源使用和碳排放。
來自于自英特爾公司的英特爾實驗室(Intel Labs)的研究團(tuán)隊提出了一種有效的方法,他們找到基于LLaMA2-7B的Pareto最優(yōu)網(wǎng)絡(luò)架構(gòu),使用一次性神經(jīng)架構(gòu)搜索(NAS)。他們通過一次性微調(diào)LLaMA2-7B,然后應(yīng)用基于遺傳算法的搜索來找到更小、計算復(fù)雜度更低的網(wǎng)絡(luò)架構(gòu)。研究表明,對于某些標(biāo)準(zhǔn)基準(zhǔn)任務(wù),預(yù)訓(xùn)練的LLaMA2-7B網(wǎng)絡(luò)過于龐大和復(fù)雜。具體來說,他們展示了在幾乎不影響準(zhǔn)確度的情況下,模型大小減少了1.5倍,吞吐量速度提高了1.3倍。此外,他們的方法比某些剪枝或稀疏化技術(shù)更有效、更高效。最后他們展示了量化技術(shù)是如何補充他們的方法的,以及使用量化技術(shù)可以進(jìn)一步減少他們找到的網(wǎng)絡(luò)的大小和復(fù)雜度。他們相信,他們的工作提供了一種自動創(chuàng)建可以在更便宜、更容易獲得的硬件平臺上使用的大型語言模型(LLMs)的方法。
英特爾實驗室的研究動機(jī)正是基于優(yōu)化模型的計算效率的需求,通過高效的神經(jīng)架構(gòu)搜索(NAS),LLaMA-NAS旨在找到Pareto最優(yōu)的網(wǎng)絡(luò)架構(gòu),這些架構(gòu)在保持模型性能的同時,能顯著減小模型的大小和計算需求。這不僅為LLMs的廣泛部署鋪平了道路,也為AI技術(shù)的綠色發(fā)展提供了可能。
英特爾公司的英特爾實驗室(Intel Labs)是一個致力于前沿科技研究的部門。英特爾實驗室以其在計算機(jī)科學(xué)和工程領(lǐng)域的深厚背景而聞名,其研究成果頻頻推動著整個行業(yè)的進(jìn)步。在LLaMA-NAS的研究中,研究團(tuán)隊?wèi){借其在深度學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)優(yōu)化和硬件加速等方面的專業(yè)知識,提出了這一創(chuàng)新的解決方案,展現(xiàn)了英特爾在人工智能領(lǐng)域的深厚實力和遠(yuǎn)見卓識。
1.方法
LLaMA-NAS(Large Language Model Architecture Neural Architecture Search)是一種針對大型語言模型(LLMs)的高效神經(jīng)架構(gòu)搜索方法。這項工作的方法論基于InstaTune方法,這是一種新穎的一次性NAS范例。InstaTune通過使模型的架構(gòu)變得靈活,擴(kuò)展了傳統(tǒng)微調(diào)過程,允許探索超越固定結(jié)構(gòu)的更廣泛設(shè)計空間。這種靈活性使得能夠適應(yīng)不同的任務(wù)、數(shù)據(jù)集和計算資源。InstaTune通過利用現(xiàn)有的模型權(quán)重,避免了從頭開始訓(xùn)練超級網(wǎng)絡(luò)的需要。通過將NAS過程嵌入到微調(diào)階段,InstaTune節(jié)省了計算資源,同時確保衍生的子網(wǎng)絡(luò)特別針對目標(biāo)任務(wù)進(jìn)行了優(yōu)化,而不是預(yù)訓(xùn)練目標(biāo)。
圖1:應(yīng)用我們的方法搜索模型大小的最優(yōu)子網(wǎng)絡(luò)架構(gòu)后的Pareto前沿/ARC-c精度(左)和模型大小/ARC-e精度(右)目標(biāo)空間。紅點表示[1]中預(yù)先訓(xùn)練的LLaMA2-7B網(wǎng)絡(luò)的模型大小和精度。
一次性神經(jīng)架構(gòu)搜索(NAS)?
?大型語言模型(LLMs)在自然語言處理等領(lǐng)域取得了巨大的成功。然而這些模型的高內(nèi)存和計算成本限制了它們在許多硬件平臺上的應(yīng)用。傳統(tǒng)的模型壓縮方法,如剪枝、稀疏化和量化,雖然在一定程度上可以減小模型的大小,但對于LLMs來說并不一定有效。因此,我們需要一種更高效的方法來優(yōu)化LLMs的網(wǎng)絡(luò)架構(gòu),以適應(yīng)不同硬件平臺的需求。
LLaMA-NAS(Large Language Model Architecture Neural Architecture Search)的目標(biāo)是找到Pareto最優(yōu)的子網(wǎng)絡(luò)架構(gòu),以減小LLMs的大小和計算復(fù)雜度,同時保持模型性能。通過一次性神經(jīng)架構(gòu)搜索(NAS),LLaMA-NAS旨在在性能和資源消耗之間找到一個平衡點,使LLMs能夠更廣泛地部署,并在更多應(yīng)用場景中發(fā)揮作用。?
方法步驟
LLaMA-NAS方法的核心思想是一次性神經(jīng)架構(gòu)搜索(NAS),旨在找到Pareto最優(yōu)的子網(wǎng)絡(luò)架構(gòu),以減小大型語言模型(LLMs)的大小和計算復(fù)雜度,同時保持模型性能。
圖2:應(yīng)用我們的方法搜索MMLU任務(wù)的最優(yōu)子網(wǎng)絡(luò)后的Pareto前沿。左Pareto前沿在模型大小/MMLU精度目標(biāo)空間中,而右Pareto前沿則在吞吐量中/MMLU精度目標(biāo)空間。使用單個NVIDIA TitanV GPU評估吞吐量,紅點表示[1]中預(yù)訓(xùn)練的LLaMA2-7B網(wǎng)絡(luò)的模型大小和精度。
預(yù)訓(xùn)練模型微調(diào):使用預(yù)訓(xùn)練的LLaMA2-7B模型作為初始模型。通過微調(diào)(如InstaTune)對模型進(jìn)行優(yōu)化,以適應(yīng)特定任務(wù)。微調(diào)的目標(biāo)是在保持模型性能的同時,調(diào)整模型的參數(shù),使其更適合特定任務(wù)。
遺傳算法搜索:基于遺傳算法進(jìn)行神經(jīng)架構(gòu)搜索。在模型大小和準(zhǔn)確度的目標(biāo)空間中,搜索Pareto最優(yōu)的子網(wǎng)絡(luò)架構(gòu)。通過遺傳算法的迭代優(yōu)化,找到更小、計算復(fù)雜度更低的網(wǎng)絡(luò)架構(gòu)。
子網(wǎng)絡(luò)評估:對搜索到的子網(wǎng)絡(luò)進(jìn)行評估,包括準(zhǔn)確度、模型大小和計算速度等指標(biāo)。確定哪些子網(wǎng)絡(luò)在Pareto前沿上,即在性能和大小之間具有優(yōu)勢。
結(jié)果分析:展示搜索到的Pareto最優(yōu)子網(wǎng)絡(luò)架構(gòu)。比較這些子網(wǎng)絡(luò)與預(yù)訓(xùn)練的LLaMA2-7B網(wǎng)絡(luò)的性能。
通過LLaMA-NAS,我們可以找到適用于更便宜、更易獲得的硬件平臺的高效LLMs網(wǎng)絡(luò)架構(gòu),從而推動人工智能技術(shù)的普及和可持續(xù)發(fā)展。
2.結(jié)果
LLaMA-NAS方法通過一次性神經(jīng)架構(gòu)搜索(NAS)找到了Pareto最優(yōu)的子網(wǎng)絡(luò)架構(gòu),這些架構(gòu)在保持模型性能的同時,顯著減小了模型的大小和計算需求。
Pareto最優(yōu)子網(wǎng)絡(luò)架構(gòu)
LLaMA-NAS方法通過遺傳算法搜索成功地找到了多個Pareto最優(yōu)的子網(wǎng)絡(luò)架構(gòu)。這些子網(wǎng)絡(luò)架構(gòu)在準(zhǔn)確度和大小方面都展現(xiàn)出顯著的優(yōu)勢,與預(yù)訓(xùn)練的LLaMA2-7B網(wǎng)絡(luò)相比,它們實現(xiàn)了性能和資源消耗之間的理想平衡。
圖3:將我們的工作應(yīng)用于模型大小/TruthfulQA MC1精度目標(biāo)空間中的Alpaca微調(diào)LLaMA2-7B后的Pareto前沿。紅點表示使用來自的權(quán)重預(yù)訓(xùn)練的LLaMA2-7B網(wǎng)絡(luò)https://huggingface.co/meta-llama/Llama-2-7b.
利用遺傳算法,LLaMA-NAS在模型大小和準(zhǔn)確度的目標(biāo)空間中進(jìn)行搜索,以找到最優(yōu)的子網(wǎng)絡(luò)架構(gòu)。通過遺傳算法的迭代過程,不斷優(yōu)化子網(wǎng)絡(luò)的結(jié)構(gòu),以達(dá)到更小的模型大小和更低的計算復(fù)雜度,同時保持或提升模型的準(zhǔn)確度。
相對于預(yù)訓(xùn)練的LLaMA2-7B網(wǎng)絡(luò),LLaMA-NAS找到的子網(wǎng)絡(luò)在不犧牲準(zhǔn)確度的前提下,顯著減小了模型的大小。這些子網(wǎng)絡(luò)在保持性能的同時,提高了計算速度,使得模型在實際應(yīng)用中更加高效。
子網(wǎng)絡(luò)優(yōu)勢分析
在多個標(biāo)準(zhǔn)基準(zhǔn)任務(wù)中,LLaMA-NAS方法找到的子網(wǎng)絡(luò)相對于預(yù)訓(xùn)練的LLaMA2-7B網(wǎng)絡(luò)展現(xiàn)出以下優(yōu)勢,子網(wǎng)絡(luò)在保持準(zhǔn)確度的同時,顯著減小了模型的大小,這對于在內(nèi)存受限的設(shè)備上部署模型尤為重要。子網(wǎng)絡(luò)提高了計算速度,這對于需要快速響應(yīng)的應(yīng)用場景,如實時語言翻譯或在線客戶服務(wù),具有重要意義。
圖4:將我們的工作應(yīng)用于模型大小/WinoGrande精度目標(biāo)空間中的Alpaca微調(diào)LLaMA2-7B后的Pareto前沿。紅點表示[1]中預(yù)先訓(xùn)練的LLaMA2-7B網(wǎng)絡(luò)的模型大小和精度。
例如,在TruthfulQA任務(wù)中,LLaMA-NAS找到的一個子網(wǎng)絡(luò)相對于預(yù)訓(xùn)練的LLaMA2-7B網(wǎng)絡(luò),在準(zhǔn)確度上提高了3.6%,同時模型大小減小了1.6倍。這一結(jié)果不僅證明了LLaMA-NAS在優(yōu)化網(wǎng)絡(luò)架構(gòu)方面的有效性,也展示了其在實際應(yīng)用中的潛力。
圖5:在模型大小/精度目標(biāo)空間中將INT8量化應(yīng)用于Alpaca微調(diào)LLaMA2-7B之前和之后的Pareto前沿。藍(lán)線是量化的(INT8)Pareto前沿,而綠線是原始的非量化的(FP16)Pareto前部,也如圖1至圖4所示。紅點表示[1]中預(yù)訓(xùn)練的非量化LLaMA2-7B網(wǎng)絡(luò)的模型大小和精度。
LLaMA-NAS方法為大型語言模型的高效神經(jīng)架構(gòu)搜索提供了一種新途徑,使其適用于更廣泛的硬件平臺,并在性能和資源消耗之間取得了平衡。
3.量化效果分析
LLaMA-NAS方法不僅關(guān)注于找到Pareto最優(yōu)的子網(wǎng)絡(luò)架構(gòu),還考慮了這些架構(gòu)在實際部署中的計算效率。在這一部分,我們將討論應(yīng)用固定點(INT8)量化對子網(wǎng)絡(luò)性能的影響。
量化方法
量化是一個簡單的過程,可以使用現(xiàn)有的多種技術(shù)來實現(xiàn)。研究團(tuán)隊使用固定點(INT8)量化來進(jìn)一步提高Pareto最優(yōu)子網(wǎng)絡(luò)的性能。量化后,這些子網(wǎng)絡(luò)在模型大小和準(zhǔn)確度的目標(biāo)空間中被重新評估。所有解碼層中的線性操作都被量化為INT8,而其余層(例如嵌入層)保持在FP16。量化對準(zhǔn)確度的影響很小,但在減小模型大小方面提供了很大的好處。例如,一個未量化的子網(wǎng)絡(luò)在MMLU任務(wù)中的準(zhǔn)確度比預(yù)訓(xùn)練的LLaMA2-7B網(wǎng)絡(luò)高1.1%,模型大小減少了1.5倍,量化后保持了準(zhǔn)確度,但現(xiàn)在變得更小,減少了2.5倍。
INT8(8位整數(shù))量化是一種常見的模型壓縮技術(shù),用于減小模型的內(nèi)存占用和計算需求。在INT8量化中,模型的權(quán)重和激活值被量化為8位整數(shù),從而減小了存儲和計算開銷。
圖6:在搜索過程中選擇的網(wǎng)絡(luò)對于每個任務(wù)具有層計數(shù)l∈{24,28,32}的概率。概率適用于精度在上60(左)、40(中)和20(右)百分位數(shù)的子網(wǎng)絡(luò)。
量化效果
模型大小減小:應(yīng)用INT8量化后,子網(wǎng)絡(luò)的模型大小顯著減小。這對于在資源受限的設(shè)備上部署LLMs至關(guān)重要。
計算速度提高:INT8量化可以加速模型的推理速度,因為8位整數(shù)的計算更高效。這對于實時應(yīng)用和大規(guī)模部署非常有益。
準(zhǔn)確度影響:雖然量化通常會對模型的準(zhǔn)確度產(chǎn)生一定影響,但在LLaMA-NAS中,我們注意到量化對準(zhǔn)確度的影響很小。例如,在某些子網(wǎng)絡(luò)中,即使應(yīng)用了INT8量化,準(zhǔn)確度仍然保持不變或僅有微小變化。
通過應(yīng)用INT8量化,LLaMA-NAS找到的Pareto最優(yōu)子網(wǎng)絡(luò)在保持性能的同時,顯著減小了模型的大小和計算需求。這為LLMs在更廣泛的硬件平臺上的部署提供了可能,同時也為環(huán)境的可持續(xù)性做出了貢獻(xiàn)。
4.網(wǎng)絡(luò)架構(gòu)特征分析
LLaMA-NAS方法不僅關(guān)注于找到Pareto最優(yōu)的子網(wǎng)絡(luò)架構(gòu),還深入研究了這些架構(gòu)的特征。在這一部分,我們將分析子網(wǎng)絡(luò)的層數(shù)和中間大小的概率分布,并探討不同任務(wù)對網(wǎng)絡(luò)架構(gòu)特征的敏感性。
層數(shù)分析
在大多數(shù)情況下,更深的網(wǎng)絡(luò)層數(shù)會導(dǎo)致更高的準(zhǔn)確度。這是因為更多的層可以增加模型的學(xué)習(xí)能力和表達(dá)能力。然而,LLaMA-NAS的研究發(fā)現(xiàn),在某些任務(wù)中,如ARC-c、MMLU和TruthfulQA,增加層數(shù)并不總是導(dǎo)致更好的性能。這表明預(yù)訓(xùn)練的LLaMA2-7B模型對這些任務(wù)來說可能過于復(fù)雜,有過度參數(shù)化的傾向。
不同任務(wù)對網(wǎng)絡(luò)層數(shù)的選擇顯示出不同的敏感性。例如,TruthfulQA任務(wù)傾向于選擇較少層數(shù)的網(wǎng)絡(luò),只選擇了24層的網(wǎng)絡(luò),這可能是因為該任務(wù)不需要過于復(fù)雜的模型來處理。相比之下,WinoGrande任務(wù)則更傾向于選擇32層的網(wǎng)絡(luò),這可能反映了該任務(wù)需要更復(fù)雜的模型來捕捉更細(xì)微的語言特征。
圖7:在Alpaca微調(diào)LLaMA2-7B的模型大小/ARC-c精度空間中進(jìn)行子網(wǎng)絡(luò)搜索后,不同中間大小的概率。概率是針對32層子網(wǎng)絡(luò)的,精度在上20(左)、15(中)和10(右)百分位數(shù)。
中間大小分析
LLaMA-NAS的研究還發(fā)現(xiàn),在某些子網(wǎng)絡(luò)中,特定層的中間大小對準(zhǔn)確度有顯著影響。例如,在處理ARC-c任務(wù)時,選擇5504的中間大小而不是11008,可以在某些層上實現(xiàn)與預(yù)訓(xùn)練的LLaMA2-7B網(wǎng)絡(luò)相當(dāng)?shù)臏?zhǔn)確度。這表明通過精細(xì)調(diào)整網(wǎng)絡(luò)的中間層大小,可以在不犧牲性能的情況下減小模型的復(fù)雜度。
圖8:在Alpaca微調(diào)LLaMA2-7B的模型大小/MMLU精度空間中進(jìn)行子網(wǎng)絡(luò)搜索后,不同中間大小的概率。概率適用于精度在上20(左)、15(中)和10(右)百分位數(shù)的24層子網(wǎng)絡(luò)。
不同任務(wù)對中間大小的選擇也表現(xiàn)出明顯的差異。在MMLU任務(wù)中,早期層(1-16層)更傾向于選擇11008的中間大小,而后期層(18-24層)則更傾向于選擇5504的中間大小。這可能是因為早期層需要更大的容量來捕捉基本的語言特征,而后期層則需要更小的容量來進(jìn)行特定任務(wù)的細(xì)節(jié)處理。
圖9:在Alpaca微調(diào)LLaMA2-7B的模型大小/WinoGrande精度空間中進(jìn)行子網(wǎng)絡(luò)搜索后,不同中間大小的概率。概率是針對32層子網(wǎng)絡(luò)的,精度在上20(左)、15(中)和10(右)百分位數(shù)。
LLaMA-NAS的網(wǎng)絡(luò)架構(gòu)特征分析揭示了不同任務(wù)對網(wǎng)絡(luò)設(shè)計的需求差異,為更好地優(yōu)化LLMs提供了指導(dǎo)。這種分析有助于我們理解如何根據(jù)特定任務(wù)的需求來調(diào)整網(wǎng)絡(luò)架構(gòu),以實現(xiàn)最佳的性能和效率平衡。
總結(jié)
LLaMA-NAS的研究為大型語言模型(LLMs)的神經(jīng)架構(gòu)搜索(NAS)領(lǐng)域帶來了革命性的進(jìn)步。通過一次性NAS,LLaMA-NAS成功地在模型性能和計算資源之間找到了一個平衡點,這對于推動LLMs在更廣泛的應(yīng)用場景中的部署具有重要意義。
LLaMA-NAS通過減小模型大小和計算復(fù)雜度,使LLMs能夠在資源受限的設(shè)備上運行,這對于在邊緣計算環(huán)境中部署AI模型尤為關(guān)鍵。盡管模型變得更加輕量,但LLaMA-NAS找到的子網(wǎng)絡(luò)仍能保持高準(zhǔn)確度,確保了模型的實用性和可靠性。由于模型的計算需求降低,LLaMA-NAS促進(jìn)了LLMs的快速部署,特別是在需要實時處理的應(yīng)用中。
應(yīng)用前景
LLaMA-NAS使得LLMs能夠在各種硬件平臺上運行,包括那些價格更便宜、更易獲得的設(shè)備,從而擴(kuò)大了LLMs的潛在用戶群體。通過減少計算資源的需求,LLaMA-NAS為環(huán)境可持續(xù)性做出了貢獻(xiàn),減少了能源消耗和碳足跡。LLaMA-NAS為在新興市場和應(yīng)用中部署LLMs提供了可能性,包括移動設(shè)備、物聯(lián)網(wǎng)(IoT)和遠(yuǎn)程地區(qū)的應(yīng)用。
潛在價值
LLaMA-NAS降低了部署LLMs的成本,使得中小企業(yè)和低資源環(huán)境也能夠利用先進(jìn)的NLP技術(shù)。通過使LLMs適用于更廣泛的硬件平臺,LLaMA-NAS有助于人工智能技術(shù)的普及和教育。LLaMA-NAS的方法為未來的研究提供了新的方向,鼓勵開發(fā)更高效、更智能的NAS算法。
LLaMA-NAS的研究不僅在技術(shù)層面取得了突破,更在實際應(yīng)用和社會影響方面展現(xiàn)了巨大的潛力。隨著人工智能技術(shù)的不斷進(jìn)步,LLaMA-NAS及其后續(xù)研究將繼續(xù)推動LLMs向著更高效、更可持續(xù)、更普及的方向發(fā)展。
參考資料:???https://arxiv.org/abs/2405.18377??
本文轉(zhuǎn)載自 ??大噬元獸??,作者: FlerkenS
