[Paper](https://arxiv.org/pdf/2109.11295) 提出一種 **動態知識蒸餾(Dynamic KD)框架**,針對學生模型(Student)的能力變化,**動態調整蒸餾過程中的三大關鍵面向**: 1. **Teacher 模型選擇(Dynamic Teacher Adoption)** 2. **資料選擇(Dynamic Data Selection)** 3. **監督目標權重調整(Dynamic Supervision Adjustment)** 此框架基於學生模型的預測「不確定性(uncertainty)」作為指標,從而做出調整,以達到效能與效率的兼顧。 # 一、Dynamic Teacher Adoption **問題背景**: * 較大的 Teacher 模型雖準確度高,但蒸餾效果反而較差。 * 原因為: * 大模型預測過於自信,導致 soft target 太尖銳。 * Teacher 與 Student 模型容量差距過大,導致難以有效模仿。 **提出方法**: 1. **Hard Selection**:根據學生模型對資料的不確定性,將資料分派給小 Teacher 或大 Teacher。 > **動機**:當學生對某些資料還很困惑時,用較簡單的 Teacher 引導;對較熟悉的資料,可轉向強 Teacher 提供更準確的 supervision。 2. **Soft Selection**:根據不確定性動態加權兩個 Teacher 的蒸餾損失。 * 為每個 instance 分配兩個 loss 權重: $$ L_{KD} = w_1 \cdot KL(S, T_1) + w_2 \cdot KL(S, T_2) $$ * 權重由學生的不確定性 $u_x$ 動態決定: $$ w_1 = \frac{u_x}{U}, \quad w_2 = 1 - \frac{u_x}{U} $$ * $u_x = \text{Entropy}(S(x))$ * $U$ 是正規化因子 > **動機**:根據學生的不確定程度,來加權不同 Teacher 的指導強度 **實驗結果**: * 適當選擇 Teacher 模型能顯著提升 Student 表現。 * Hard Selection 效果優於 Soft Selection,且超越靜態 KD 或 ensemble KD。 # 二、Dynamic Data Selection **問題背景**: * 靜態使用全資料進行蒸餾造成效率低落與重複學習。 * 學生模型隨訓練進展,部分資料已經掌握,應避免再訓練。 **提出方法**: * 根據學生模型的不確定性指標(entropy、margin、least confidence)篩選資訊量高的資料進行蒸餾。 * **Entropy(熵)** 最常用的衡量指標,計算整體分布的「混亂程度」,越大表示越不確定: $$ u_x = - \sum_{y} P(y|x) \log P(y|x) $$ * **Margin(邊界差距)** 計算預測機率最高的兩個類別差距,差距越小 → 越不確定: $$ u_x = P(y_1^*|x) - P(y_2^*|x) $$ * **Least Confidence(最不自信)** 只看最大機率的補數,越小越自信,取其反: $$ u_x = 1 - \max_{y} P(y|x) $$ * 僅使用前 r% 不確定度最高的樣本。 **實驗結果**: * 使用 **10–20%** 的資料即可達到與完整 KD 相近甚至更好的表現。 * 可大幅降低計算成本(FLOPs 減少超過 80%)。 * 不確定性策略優於隨機抽樣,尤其在低選擇比例下更為顯著。 * 計算**效率指標 (FLOPs)**: * 原始 KD 花費: $$ C = N \cdot F_s + N \cdot B_s + N \cdot F_t $$ * 使用選擇策略後: $$ C' = N \cdot F_s + N \cdot r \cdot B_s + N \cdot r \cdot F_t $$ | 減少了學生反向傳播與教師推論的次數 **分析發現**: * 被選資料集中於**分類邊界**,更具學習價值。 * 被選資料隨訓練進行會改變,顯示選擇具**動態性**。 # 三、Dynamic Supervision Adjustment ## **問題背景**: * 傳統知識蒸餾(KD)流程的監督目標(supervision objectives)固定不變,例如: * 使用 logits(輸出機率分布)對齊 * 使用中間表示(hidden states)對齊 * 使用注意力權重(attention maps)對齊 * 傳統的損失組合(如 logits alignment、representation alignment)權重固定,無法反映訓練進度或學生能力。 ## **提出方法**: * 動態調整損失函數中的蒸餾項目權重(KL 與 representation alignment): * 學生越不確定 → 偏重 representation alignment。 * 學生越自信 → 偏重最終預測對齊(KL loss)。 * 使用學生對輸入 $x$ 的預測不確定性(以 entropy 表示)作為調整依據: $$ u(x) = \text{Entropy}(\sigma(S(x))) = - \sum_y P(y|x) \log P(y|x) $$ 權重調整如下(U 為正規化因子): $$ \lambda_{KL} = \lambda^*_{KL} \cdot \left(1 - \frac{u(x)}{U}\right) $$ $$ \lambda_{PT} = \lambda^*_{PT} \cdot \frac{u(x)}{U} $$ $\lambda^*_{KL}, \lambda^*_{PT}$:為預先搜尋的最大權重值 權重總和隨樣本不確定性動態調整 ## **實驗結果**: * 不確定性驅動的動態權重能顯著優於固定權重策略。 * 在不同任務(SST-5、MRPC、RTE)皆有穩定提升。 * 訓練初期 representation alignment 比重較大,隨訓練進行逐漸轉向 logit 對齊。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up