![](https://s4.itho.me/sites/default/files/styles/picture_size_large/public/field/image/distilling_step-by-step_outperforming_larger_language_models_with_l_-_blog.research.google.png?itok=HqCTnOyB)
為了解決模型大小和訓練資料收集成本之間的權衡問題,Google現在發展一種稱為的技術,可用比一般方法少得多的資料,訓練用於特定任務的小模型,但是效能卻能優於少樣本提示語言模型(Few-Shot Prompted LLM)。
大型語言模型雖然功能強大,但是實際部署卻具有各種挑戰,Google提到,光是要部署一個1,750億參數的大型語言模型,專用基礎設施的GPU記憶體就至少需要350 GB。更不用說先進的語言模型參數可能高達5,000億個,所以供應商為了規避這類部署挑戰,通常會選擇部署較小的專用模型。
研究人員解釋,小型專用模型有兩種訓練方式,分別是微調(Fine-tuning)和蒸餾(Distillation)。微調使用人工註釋資料,更新預先訓練的BERT或T5等規模較小的模型。而蒸餾的概念則是將一個大型模型,或稱為教師模型的知識,轉移至一個比較小的學生模型,運用大型語言模型所生成的標籤,訓練相同但規模較小的模型,雖然蒸餾法可以讓學生模型的規模和複雜性都遠低於教師模型,效能卻可以接近或是超越教師模型。
但是要達到良好的效能,微調法需要人工生成標籤,這個過程既昂貴又繁瑣,而蒸餾法則需要大量未標記的資料,且收集資料本身就並非一件簡單的事。因此Google發展了逐步蒸餾法,這相對是一個簡單的機制,能夠讓研究人員以比標準微調或是蒸餾法少得多的訓練資料,訓練一個更小且專用於特定任務的模型,而且效能還可能可以優於少樣本提示語言模型。
少樣本提示語言模型是指,大型語言模型使用少量的樣本,並透過提示來完成任務的方法,像是要求語言模型完成翻譯任務,研究人員便可以提供少量的英翻中樣本,再給予新的提示問題,期望模型能夠依據範例正確翻譯新問題。
研究人員解釋,當大型語言模型被問到某些問題時,能夠透過推理並給出最終答案,這些中間的推理包含了可以完成任務需要的重要知識,但是小型模型需要大量資料才能學到這些知識。因此逐步蒸餾的核心想法,便是從大型語言模型中擷取有用的自然語言解釋,也就是中間的推理步驟,然後使用這些解釋更有效地訓練小型模型。
因此逐步蒸餾的第一步驟,是從大型語言模型中擷取解釋,研究人員會提供少數範例,這些範例包含問題、中間的解釋和答案,引導大型語言模型對新的問題產生相對應的解釋。第二階段則是利用第一階段取得的解釋訓練小型模型,小型模型學習由大型語言模型生成的中間推理步驟,便能夠更好地預測答案。
研究人員使用5,400億參數的PaLM大型語言模型,並選用T5作為特定任務的模型,實驗在不同自然語言處理任務的表現。透過逐步蒸餾法,使用較少的訓練資料就能超越標準微調方法的效果,甚至僅擁有2.2億參數的T5模型,在e-SNLI資料集表現就可超越5,400億參數的PaLM大型語言模型。
而在ANLI資料集上,只擁有7.7億參數的T5模型只使用整個資料集的80%,效果便以超越擁有5,400億參數的PaLM大型語言模型。這些結果證明了逐步蒸餾法即便使用小資料,小模型仍可以超越大型語言模型的效能。