7.7億參數(shù),超越5400億PaLM!UW谷歌提出「分步蒸餾」,只需80%訓(xùn)練數(shù)據(jù)|ACL 2023
大型語言模型雖然性能優(yōu)異,可以用零樣本或少樣本提示解決新任務(wù),但LLM在實(shí)際應(yīng)用部署時(shí)卻很不實(shí)用,內(nèi)存利用效率低,并且需要大量計(jì)算資源。
比如運(yùn)行一個(gè)1750億參數(shù)的語言模型服務(wù)至少需要350GB的顯存,而目前最先進(jìn)的語言模型大多已超過5000億參數(shù)量,很多研究團(tuán)隊(duì)都沒有足夠的資源來運(yùn)行,在現(xiàn)實(shí)應(yīng)用中也無法滿足低延遲性能。
也有一些研究使用人工標(biāo)注數(shù)據(jù)或使用LLM生成的標(biāo)簽進(jìn)行蒸餾來訓(xùn)練較小的、任務(wù)專用的模型,不過微調(diào)和蒸餾需要大量的訓(xùn)練數(shù)據(jù)才能實(shí)現(xiàn)與LLM相當(dāng)?shù)男阅堋?/p>
為了解決大模型的資源需求問題,華盛頓大學(xué)聯(lián)合谷歌提出了一種新的蒸餾機(jī)制「分步蒸餾」(Distilling Step-by-Step),蒸餾后的模型尺寸相比原模型來說非常小,但性能卻更好,并且微調(diào)和蒸餾過程中所需的訓(xùn)練數(shù)據(jù)也更少。

論文鏈接:https://arxiv.org/abs/2305.02301
分布蒸餾機(jī)制把LLM中抽取出的預(yù)測理由(rationale)作為在多任務(wù)框架內(nèi)訓(xùn)練小模型的額外監(jiān)督信息。

在4個(gè)NLP基準(zhǔn)上進(jìn)行實(shí)驗(yàn)后,可以發(fā)現(xiàn):
1. 與微調(diào)和蒸餾相比,該機(jī)制用更少的訓(xùn)練樣本實(shí)現(xiàn)了更好的性能;
2. 相比少樣本提示LLM,該機(jī)制使用更小尺寸的模型實(shí)現(xiàn)了更好的性能;
3. 同時(shí)降低模型尺寸和數(shù)據(jù)量也可以實(shí)現(xiàn)優(yōu)于LLM的性能。
實(shí)驗(yàn)中,微調(diào)后770M的T5模型在基準(zhǔn)測試中僅使用80%的可用數(shù)據(jù)就優(yōu)于少樣本提示的540B的PaLM模型,而標(biāo)準(zhǔn)微調(diào)相同的T5模型即使使用100%的數(shù)據(jù)集也難以匹配。
蒸餾方法
分布蒸餾(distilling step by step)的關(guān)鍵思想是抽取出信息豐富且用自然語言描述的預(yù)測理由,即中間推理步驟,可以解釋輸入問題與模型輸出之間的聯(lián)系,然后再反過來用該數(shù)據(jù)以更高效的方式訓(xùn)練小模型。

分布蒸餾主要由兩個(gè)階段組成:
1. 從LLM中抽取原理(rationale)
研究人員利用少樣本思維鏈(CoT)提示從LLM中提取預(yù)測中間步驟。
給定目標(biāo)任務(wù)后,先在LLM輸入提示中準(zhǔn)備幾個(gè)樣例,其中每個(gè)樣例由一個(gè)三元組組成,包含(輸入,原理,輸出)。

輸入提示后,LLM能夠模仿三元組演示以生成其他新問題的預(yù)測原理,例如,在常識(shí)問答案任務(wù)中,給定輸入問題:
「Sammy想要去人群所在的地方。他會(huì)去哪里?答案選項(xiàng):(a)人口稠密地區(qū),(B)賽道,(c)沙漠,(d)公寓,(e)路障」
(Sammy wanted to go to where the people are. Where might he go? Answer Choices: (a) populated areas, (b) race track, (c) desert, (d) apartment, (e) roadblock)
通過逐步提煉后,LLM可以給出問題的正確答案「(a)人口稠密地區(qū)」,并且提供回答問題的理由「答案必須是一個(gè)有很多人的地方,在上述選擇中,只有人口稠密的地區(qū)有很多人?!?/p>
通過在提示中提供與基本原理配對的CoT示例,上下文學(xué)習(xí)能力可以讓LLM為沒見過的問題類型生成相應(yīng)的回答理由。
2. 訓(xùn)練小模型
通過將訓(xùn)練過程構(gòu)建為多任務(wù)問題,將預(yù)測理由抽取出來,并將其納入訓(xùn)練小模型中。
除了標(biāo)準(zhǔn)標(biāo)簽預(yù)測任務(wù)之外,研究人員還使用新的理由生成任務(wù)來訓(xùn)練小模型,使得模型能夠?qū)W習(xí)生成用于預(yù)測的中間推理步驟,并且引導(dǎo)模型更好地預(yù)測結(jié)果標(biāo)簽。
通過在輸入提示中加入任務(wù)前綴「label」和「rationale」來區(qū)分標(biāo)簽預(yù)測和理由生成任務(wù)。
實(shí)驗(yàn)結(jié)果
在實(shí)驗(yàn)中,研究人員選擇5400億參數(shù)量的PaLM模型作為LLM基線,使用T5模型作為任務(wù)相關(guān)的下游小模型。
然后在三個(gè)不同的NLP任務(wù)中對四個(gè)基準(zhǔn)數(shù)據(jù)集進(jìn)行了實(shí)驗(yàn):用于自然語言推理的e-SNLI和ANLI、常識(shí)問答的CQA,以及用于算術(shù)數(shù)學(xué)應(yīng)用題的SVAMP.
更少的訓(xùn)練數(shù)據(jù)
與標(biāo)準(zhǔn)微調(diào)相比,分步蒸餾方法使用更少的訓(xùn)練數(shù)據(jù)即實(shí)現(xiàn)了更好的性能。
在e-SNLI數(shù)據(jù)集上,當(dāng)使用完整數(shù)據(jù)集的12.5%時(shí)就實(shí)現(xiàn)了比標(biāo)準(zhǔn)微調(diào)更好的性能,在ANLI、CQA和SVAMP上分別只需要75%、25%和20%的訓(xùn)練數(shù)據(jù)。

與使用220M T5模型對不同大小的人工標(biāo)記數(shù)據(jù)集進(jìn)行標(biāo)準(zhǔn)微調(diào)相比,在所有數(shù)據(jù)集上,分布蒸餾使用更少的訓(xùn)練示例優(yōu)于在完整數(shù)據(jù)集上訓(xùn)練的標(biāo)準(zhǔn)微調(diào)。
更小的部署模型尺寸
與少樣本CoT提示的LLM相比,分布蒸餾得到的模型尺寸要小得多,但性能卻更好。
在e-SNLI數(shù)據(jù)集上,使用220M的T5模型實(shí)現(xiàn)了比540B的PaLM更好的性能;在ANLI上,使用770M的T5模型實(shí)現(xiàn)了比540B的PaLM更好的性能,模型尺寸僅為1/700
更小的模型、更少的數(shù)據(jù)
在模型尺寸和訓(xùn)練數(shù)據(jù)同時(shí)降低的情況下,也實(shí)現(xiàn)了超越少樣本PaLM的性能。
在ANLI上,使用770M T5模型超越了540B PaLM的性能,只使用了完整數(shù)據(jù)集的80%

并且可以觀察到,即使使用100%的完整數(shù)據(jù)集,標(biāo)準(zhǔn)微調(diào)也無法趕上PaLM的性能,表明分步蒸餾可以同時(shí)減少模型尺寸和訓(xùn)練數(shù)據(jù)量實(shí)現(xiàn)超越LLM的性能。

































