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