日本高清色午夜com,色综合国产精品视频,午夜亚洲在在线观看,国产午夜在线网站

      <td id="p7kjh"></td>
      <td id="p7kjh"></td>

      英偉達(dá)玩轉(zhuǎn)剪枝、蒸餾:把Llama 3.1 8B參數(shù)減半,性能同尺寸更強(qiáng)

      發(fā)布時(shí)間:2024-08-17 12:00:02 編輯: 來源:
      導(dǎo)讀 相信很多大家對(duì)英偉達(dá)玩轉(zhuǎn)剪枝、蒸餾:把Llama 3.1 8B參數(shù)減半,性能同尺寸更強(qiáng)還不知道吧,今天菲菲就帶你們一起去了解一下~.~! 上個(gè)月...

      相信很多大家對(duì)英偉達(dá)玩轉(zhuǎn)剪枝、蒸餾:把Llama 3.1 8B參數(shù)減半,性能同尺寸更強(qiáng)還不知道吧,今天菲菲就帶你們一起去了解一下~.~!

      上個(gè)月,Meta 發(fā)布了 Llama3.1系列模型,其中包括 Meta 迄今為止最大的405B 模型,以及兩個(gè)較小的模型,參數(shù)量分別為700億和80億。

      Llama3.1被認(rèn)為是引領(lǐng)了開源新時(shí)代。然而,新一代的模型雖然性能強(qiáng)大,但部署時(shí)仍需要大量計(jì)算資源。

      因此,業(yè)界出現(xiàn)了另一種趨勢,即開發(fā)小型語言模型 (SLM),這種模型在許多語言任務(wù)中表現(xiàn)足夠出色,部署起來也非常便宜。

      最近,英偉達(dá)研究表明,結(jié)構(gòu)化權(quán)重剪枝與知識(shí)蒸餾相結(jié)合,可以從初始較大的模型中逐步獲得較小的語言模型。

      圖靈獎(jiǎng)得主、Meta 首席 AI 科學(xué)家 Yann LeCun 也點(diǎn)贊轉(zhuǎn)帖了該研究。

      經(jīng)過剪枝和蒸餾,英偉達(dá)研究團(tuán)隊(duì)將 Llama3.18B 提煉為 Llama-3.1-Minitron4B 開源了出來。這是英偉達(dá)在 Llama3.1開源系列中的第一個(gè)作品。

      Llama-3.1-Minitron4B 的表現(xiàn)優(yōu)于類似大小的最先進(jìn)的開源模型,包括 Minitron4B、Phi-22.7B、Gemma22.6B 和 Qwen2-1.5B。

      這項(xiàng)研究的相關(guān)論文早在上個(gè)月已經(jīng)放出了。

      論文鏈接:https://www.arxiv.org/pdf/2407.14679

      論文標(biāo)題:Compact Language Models via Pruning and Knowledge Distillation

      剪枝和蒸餾

      剪枝使模型變得更小、更精簡,可以通過刪除層(深度剪枝)或刪除神經(jīng)元和注意力頭以及嵌入通道(寬度剪枝)來實(shí)現(xiàn)。剪枝通常伴隨著一定程度的再訓(xùn)練,以恢復(fù)準(zhǔn)確率。

      模型蒸餾是一種將知識(shí)從大型復(fù)雜模型(通常稱為教師模型)遷移到較小、較簡單的學(xué)生模型的技術(shù)。目標(biāo)是創(chuàng)建一個(gè)更高效的模型,該模型保留了原始較大模型的大部分預(yù)測能力,同時(shí)運(yùn)行速度更快且資源消耗更少。

      蒸餾方式主要包括兩種:SDG 微調(diào)與經(jīng)典知識(shí)蒸餾,這兩種蒸餾方式互補(bǔ)。本文主要關(guān)注經(jīng)典知識(shí)蒸餾方法。

      英偉達(dá)采用將剪枝與經(jīng)典知識(shí)蒸餾相結(jié)合的方式來構(gòu)造大模型,下圖展示了單個(gè)模型的剪枝和蒸餾過程(上)以及模型剪枝和蒸餾的鏈條(下)。具體過程如下:

      1. 英偉達(dá)從15B 模型開始,評(píng)估每個(gè)組件(層、神經(jīng)元、頭和嵌入通道)的重要性,然后對(duì)模型進(jìn)行排序和剪枝,使其達(dá)到目標(biāo)大小:8B 模型。

      2. 接著使用模型蒸餾進(jìn)行了輕度再訓(xùn)練,原始模型作為老師,剪枝后的模型作為學(xué)生。

      3. 訓(xùn)練結(jié)束后,以小模型(8B)為起點(diǎn),剪枝和蒸餾為更小的4B 模型。

      從15B 模型進(jìn)行剪枝與蒸餾的過程。

      需要注意的點(diǎn)是,在對(duì)模型剪枝之前,需要先了解模型的哪部分是重要的。英偉達(dá)提出了一種基于激活的純重要性評(píng)估策略,該策略可以同時(shí)計(jì)算所有相關(guān)維度(深度、神經(jīng)元、頭和嵌入通道)的信息,使用一個(gè)包含1024個(gè)樣本的小型校準(zhǔn)數(shù)據(jù)集,并且只需要前向傳播。這種方法相比依賴梯度信息并需要反向傳播的策略更加簡單且具有成本效益。

      在剪枝過程中,你可以針對(duì)給定軸或軸組合在剪枝和重要性估計(jì)之間進(jìn)行迭代交替。實(shí)證研究顯示,使用單次重要性估計(jì)就足夠了,迭代估計(jì)不會(huì)帶來額外的好處。

      利用經(jīng)典知識(shí)蒸餾進(jìn)行重新訓(xùn)練

      下圖2展示了蒸餾過程,其中 N 層學(xué)生模型(剪枝后的模型)是從 M 層教師模型中(原始未剪枝模型)蒸餾而來。學(xué)生模型通過最小化嵌入輸出損失、logit 損失以及映射到學(xué)生塊 S 和教師塊 T 的 Transformer 編碼器特定損失組合來學(xué)習(xí)。

      圖2:蒸餾訓(xùn)練損失。

      剪枝和蒸餾最佳實(shí)踐

      英偉達(dá)基于緊湊語言模型中剪枝和知識(shí)蒸餾的廣泛消融研究,將自己的學(xué)習(xí)成果總結(jié)為以下幾種結(jié)構(gòu)化壓縮最佳實(shí)踐。

      一是調(diào)整大小。

      要訓(xùn)練一組 LLM,首先訓(xùn)練最大的一個(gè),然后迭代地剪枝和蒸餾以獲得較小的 LLM。

      如果使用多階段訓(xùn)練策略來訓(xùn)練最大的模型,最好剪枝并對(duì)訓(xùn)練最后階段獲得的模型進(jìn)行重新訓(xùn)練。

      對(duì)最接近目標(biāo)大小的可用源模型進(jìn)行剪枝。

      二是剪枝。

      優(yōu)先考慮寬度剪枝而不是深度剪枝,這對(duì)于15B 參數(shù)規(guī)模以下的模型效果很好。

      使用單樣本(single-shot)重要性估計(jì),因?yàn)榈匾怨烙?jì)沒有任何好處。

      三是重新訓(xùn)練。

      僅使用蒸餾損失進(jìn)行重新訓(xùn)練,而不是常規(guī)訓(xùn)練。

      當(dāng)深度明顯減少時(shí),使用 logit、中間狀態(tài)和嵌入蒸餾。

      當(dāng)深度沒有明顯減少時(shí),使用 logit-only 蒸餾。

      Llama-3.1-Minitron:將最佳實(shí)踐付諸應(yīng)用

      Meta 最近推出了功能強(qiáng)大的 Llama3.1開源模型系列,在許多基準(zhǔn)測試中可與閉源模型相媲美。Llama3.1的參數(shù)范圍從巨大的405B 到70B、8B。

      憑借 Nemotron 蒸餾的經(jīng)驗(yàn),英偉達(dá)著手將 Llama3.18B 模型蒸餾為更小、更高效的4B 模型,采取以下措施:

      教師微調(diào)

      Depth-only 剪枝

      Width-only 剪枝

      準(zhǔn)確率基準(zhǔn)

      性能基準(zhǔn)

      教師微調(diào)

      為了糾正模型訓(xùn)練所基于的原始數(shù)據(jù)集的分布偏差,英偉達(dá)首先在他們的數(shù)據(jù)集上(94B token)對(duì)未剪枝的8B 模型進(jìn)行了微調(diào)。實(shí)驗(yàn)表明,如果不糾正分布偏差,教師模型在蒸餾時(shí)會(huì)為數(shù)據(jù)集提供次優(yōu)指導(dǎo)。

      Depth-only 剪枝

      為了從8B 降到4B,英偉達(dá)剪枝了16層(50%)。他們首先通過從模型中刪除每個(gè)層或連續(xù)子層組來評(píng)估它們的重要性,并觀察下游任務(wù)中 LM 損失的增加或準(zhǔn)確率的降低。

      下圖5顯示了刪除1、2、8或16層后驗(yàn)證集上的 LM 損失值。例如,第16層的紅色圖表示如果刪除前16層,則出現(xiàn) LM 損失。第17層表示如果保留第一層并刪除第2至第17層,也出現(xiàn) LM 損失。英偉達(dá)觀察到:開始和結(jié)束的層是最重要的。

      圖5:depth-only 剪枝中層的重要性。

      然而,英偉達(dá)觀察到,這種 LM 損失不一定與下游性能直接相關(guān)。

      下圖6顯示了每個(gè)剪枝模型的 Winogrande 準(zhǔn)確率,它表明最好刪除第16到第31層,其中第31層是倒數(shù)第二層,剪枝模型的5-shot 準(zhǔn)確率明顯高于隨機(jī)準(zhǔn)確率 (0.5)。英偉達(dá)采納了這一見解,刪除了第16到第31層。

      圖6:當(dāng)刪除16層時(shí),在 Winogrande 任務(wù)上的準(zhǔn)確率。

      Width-only 剪枝

      英偉達(dá)沿寬度軸剪枝了嵌入(隱藏)和 MLP 中間維,以壓縮 Llama3.18B。具體來說,他們使用前面描述的基于激活的策略來計(jì)算每個(gè)注意頭、嵌入通道和 MLP 隱藏維度的重要性分?jǐn)?shù)。

      在重要性估計(jì)之后,英偉達(dá)選擇

      將 MLP 中間維從14336剪枝到9216。

      將隱藏大小從4096剪枝到3072。

      重新訓(xùn)練注意頭數(shù)量和層數(shù)。

      值得一提的是,在單樣本剪枝之后,寬度剪枝的 LM 損失高于深度剪枝。然而,經(jīng)過短暫的重新訓(xùn)練后,趨勢發(fā)生了逆轉(zhuǎn)。

      準(zhǔn)確率基準(zhǔn)

      英偉達(dá)使用以下參數(shù)對(duì)模型進(jìn)行蒸餾

      峰值學(xué)習(xí)率 =1e-4

      最小學(xué)習(xí)率 =1e-5

      40步線性預(yù)熱

      余弦衰減計(jì)劃

      全局批量大小 =1152

      下表1顯示了 Llama-3.1-Minitron4B 模型變體(寬度剪枝和深度剪枝)與原始 Llama3.18B 模型、其他類似大小的模型在跨多個(gè)領(lǐng)域的基準(zhǔn)測試中的性能比較??傮w而言,英偉達(dá)再次證實(shí)了寬度剪枝策略相較于遵循最佳實(shí)踐的深度剪枝的有效性。

      表1:Minitron4B base 模型相較于類似規(guī)模 base 模型的準(zhǔn)確率比較。

      為了驗(yàn)證蒸餾后的模型是否可以成為強(qiáng)大的指令模型,英偉達(dá)使用 NeMo-Aligner 對(duì) Llama-3.1-Minitron4B 模型進(jìn)行了微調(diào)。

      他們使用了 Nemotron-4340B 的訓(xùn)練數(shù)據(jù),在 IFEval、MT-Bench、ChatRAG-Bench 和 Berkeley Function Calling Leaderboard (BFCL) 上進(jìn)行了評(píng)估,以測試指令遵循、角色扮演、RAG 和函數(shù)調(diào)用功能。最后確認(rèn) Llama-3.1-Minitron4B 模型可以成為可靠的指令模型,其表現(xiàn)優(yōu)于其他基線 SLM。

      表2:對(duì)齊 Minitron4B base 模型與類似規(guī)模的對(duì)齊模型的準(zhǔn)確率比較。

      性能基準(zhǔn)

      英偉達(dá)利用 NVIDIA TensorRT-LLM(一種用于優(yōu)化 LLM 推理的開源工具包)優(yōu)化了 Llama3.18B 和 Llama-3.1-Minitron4B 模型。

      下兩張圖顯示了不同模型在不同用例下以 FP8和 FP16精度每秒的吞吐量請(qǐng)求,表示為8B 模型的 batch size 為32的輸入序列長度 / 輸出序列長度 (ISL/OSL) 組合以及4B 模型的 batch size 為64的輸入序列長度 / 輸出序列長度 (ISL/OSL) 組合,這要?dú)w功于在一塊英偉達(dá) H10080GB GPU 上,較小的權(quán)重允許較大的 batch size。

      Llama-3.1-Minitron-4B-Depth-Base 變體是最快的,平均吞吐量約為 Llama3.18B 的2.7倍,而 Llama-3.1-Minitron-4B-Width-Base 變體的平均吞吐量約為 Llama3.18B 的1.8倍。與 BF16相比,在 FP8中部署還可使這三種型號(hào)的性能提高約1.3倍。

      圖8:組合:Llama3.18B 為 BS=32,Llama-3.1-Minitron4B 型號(hào)為 BS=64。1x H10080GB GPU。

      結(jié)論

      剪枝和經(jīng)典知識(shí)提煉是一種非常經(jīng)濟(jì)高效的方法,可以逐步獲得更小尺寸的 LLM,與在所有領(lǐng)域從頭開始訓(xùn)練相比,可實(shí)現(xiàn)更高的準(zhǔn)確性。與合成數(shù)據(jù)式微調(diào)或從頭開始預(yù)訓(xùn)練相比,這是一種更有效且數(shù)據(jù)效率更高的方法。

      Llama-3.1-Minitron4B 是英偉達(dá)首次嘗試使用最先進(jìn)的開源 Llama3.1系列完成的探索。要在 NVIDIA NeMo 中使用 Llama-3.1的 SDG 微調(diào),可參閱 GitHub 上的 /sdg-law-title-generation 部分。

      有關(guān)更多信息,請(qǐng)參閱以下資源:

      https://arxiv.org/abs/2407.14679

      https://github.com/NVlabs/Minitron

      https://huggingface.co/nvidia/Llama-3.1-Minitron-4B-Width-Base

      https://huggingface.co/nvidia/Llama-3.1-Minitron-4B-Depth-Base

      以上就是關(guān)于【英偉達(dá)玩轉(zhuǎn)剪枝、蒸餾:把Llama 3.1 8B參數(shù)減半,性能同尺寸更強(qiáng)】的相關(guān)內(nèi)容,希望對(duì)大家有幫助!

      免責(zé)聲明:本文由用戶上傳,如有侵權(quán)請(qǐng)聯(lián)系刪除!

      熱點(diǎn)推薦

      精選文章