知名的 Mistral AI 團隊近期丟出了使用 SMOE技術搭建的Mixtral-8x7B,能用較小的運算資源與參數量,打敗ChatGPT3的考試成績。本文藉由兩篇SMoE論文的導讀,抽取其中的核心概念,試圖打開這項技術的神秘面紗。
Transformer模型距離"完美"還有一段距離,而這段距離目前看起來最有可能用 SMoE (Sparse Mixture-of-Experts) 稀疏混和專家技術來進行彌補,SMoE改良方法基於以下痛點進行改良,每一項都戳到Transformer的死穴。
Transformer大模型,參數自由度很高,矩陣Rank數目很高,訓練時會產生參數具有大量的冗餘,容易造成模型理解崩潰的結果(Over-fitting) 。現在的解法就是利用大量且多樣性高的訓練資料集來訓練,多數大語言模型看過的文本數量遠遠超過人類一生的閱讀量,需要上千個GPU小時,才有辦法完成Pretrained model的訓練,結果令人豔,成果"非常有效"但十分"沒有效率"。
降低Transformer 裡面MLP的維度 / Rank 數 / 與參數量,用多個MLP多層感知層 + 路由層,來組成和原本參數一樣多的大模型。顯而易見的好處是可以藉由路由層的開關來控制學習任務所需要的參數量,達成高度具有自我調整性(self-slimmable)模型。
配合SMoE獨特的訓練方法,如SMoE-Dropout降低模型理解崩潰的可能性,推論時也有路由可以僅使用前K個最高關聯的專家產生結果,可大幅降低計算量。
甚至可統計每個專家參數被路由選到的頻率,將被使用頻率較少的參數與頻率較高的參數進行參數壓縮,獲得參數量更低,運算複雜度更低的SoTA (State-of-the-art)模型。
以下統整最近兩篇關於SMOE的論文手法: