大模型蒸餾技術(shù)的演進歷史與實現(xiàn)原理 原創(chuàng)
“ 知識蒸餾技術(shù)是模型輕量化小型化的一種方式,其效果也遠超我們的想象 ”
在深度學(xué)習(xí)領(lǐng)域模型的壓縮與部署是一項非常重要的研究課題,原因就在于模型巨大的成本和算力需求;因此,怎么把模型小型化就成為一個亟待解決的問題。
因此,一項技術(shù)就被應(yīng)用于模型小型化的過程,這個技術(shù)就叫做知識蒸餾,而我們平常說的比較多的是大模型蒸餾技術(shù)。
當(dāng)然,知識蒸餾技術(shù)并不是一項新技術(shù),其在2015年就已經(jīng)被諾貝爾獎獲得者——Hinton等人提出;之后在chatGPT帶火大模型技術(shù)之后,知識蒸餾就又再次進入大眾的視野。
但如果說知識蒸餾最爆火的原因就在于DeepSeek的發(fā)布,我們都知道DeepSeek是我國的模型之光;而其解決的最主要的問題就模型的訓(xùn)練成本問題;但可能很少有人知道,其實DeepSeek是使用知識蒸餾技術(shù),從阿里的千問系列蒸餾得到的DeepSeek模型。
所以,什么是蒸餾技術(shù),以及蒸餾技術(shù)的發(fā)展歷史與實現(xiàn)原理是什么?
蒸餾技術(shù)
蒸餾技術(shù)是由諾獎得主——Hinton在2015年提出的,但嚴格來說Hinton只是在前人的基礎(chǔ)之上優(yōu)化了蒸餾技術(shù)。
蒸餾技術(shù)——現(xiàn)在對蒸餾技術(shù)的定義是教師模型(大模型)通過訓(xùn)練數(shù)據(jù)學(xué)到的“知識”(如類別間關(guān)系、特征分布)被提煉到學(xué)生模型(小模型)中。
簡單理解蒸餾技術(shù)就是老師教學(xué)生,在蒸餾技術(shù)之前,訓(xùn)練模型需要從0開始;也就是需要隨機初始化模型參數(shù);這就類似于你從小開始學(xué)習(xí)全部靠自學(xué),沒有任何人教你。
很明顯,這種方式學(xué)習(xí)效率低下;因此,就產(chǎn)生了一個新的職業(yè)——教師;它們的作用就是在他們自己學(xué)習(xí)的基礎(chǔ)之上,把知識和經(jīng)驗教給你,這樣不論是學(xué)習(xí)的速度還是效率,還是準(zhǔn)確率都會大大提高。
而模型蒸餾就是基于這個理論,用訓(xùn)練好的大模型去“教”簡單的小模型;由于是站在巨人的肩膀上,因此蒸餾出來的小模型不論是表現(xiàn)還是響應(yīng)速度都比大模型要好。
當(dāng)然,蒸餾技術(shù)作為目前一項熱門技術(shù),其實現(xiàn)原理并沒有大家想象中的那么簡單;首先,在2015 Hinton提出知識蒸餾之前,模型蒸餾已經(jīng)有人在使用了;只不過那時候的蒸餾技術(shù)還比較簡單,只是在輸出層對模型的預(yù)測結(jié)果進行學(xué)習(xí);這種方式被稱為硬目標(biāo)。
這就像上學(xué)時有時老師說的那樣,你實在不會記住就行了,不需要知道為什么;但這就會產(chǎn)生一個問題,那就是你只能學(xué)會同一個題目或者是很類似的題目,但換個新題目你可能就不會了。
所以,老師常說我們不但要學(xué)會知識,更重要的是要學(xué)會學(xué)習(xí)的方法——因此Hinton提出的知識蒸餾就類似于學(xué)習(xí)方法,它學(xué)習(xí)的是大模型預(yù)測數(shù)據(jù)的概率分布或思考過程,而不僅僅只是記住答案;而這種方式就被叫做軟目標(biāo)。
以目前的蒸餾技術(shù)來看,蒸餾也分為多種不同的情況;比如輸出層蒸餾,中間層蒸餾和自蒸餾等多種不同的形式;但不論什么形式的蒸餾,其目的只有一個,那就是讓student模型去學(xué)習(xí)Teacher老師模型的“知識”。
實現(xiàn)原理
知識蒸餾的實現(xiàn)原理主要包括兩個方面,知識遷移和軟標(biāo)簽:
知識遷移:教師模型(大模型)通過訓(xùn)練數(shù)據(jù)學(xué)到的“知識”(如類別間關(guān)系、特征分布)被提煉到學(xué)生模型(小模型)中。
軟標(biāo)簽(Soft Labels):教師模型輸出的概率分布(非硬標(biāo)簽)包含更多信息,例如“貓和狗有相似特征”,學(xué)生模型通過模仿這些軟標(biāo)簽學(xué)習(xí)泛化能力。
模型蒸餾使用溫度T來控制軟標(biāo)簽的相關(guān)性,溫度越高,軟標(biāo)簽的相關(guān)度越高,溫度越低軟標(biāo)簽相關(guān)度越低。
本文轉(zhuǎn)載自公眾號AI探索時代 作者:DFires
原文鏈接:??https://mp.weixin.qq.com/s/IsKykTm39Oq5J_aaaoYvhw??
