# 1. 預訓練語言模型(PLMs)
預訓練語言模型(Pretrained Language Models, PLMs)透過大規模自監督式無標註資料訓練,學習通用的語言知識,並可透過微調(fine-tuning)應用於各類下游任務(如文本分類、問答、命名實體辨識等)。
## 1.1. 語言模型的核心目標
語言模型的目的是建模一段文字序列 $x = (x_1, x_2, \dots, x_T)$ 的機率分布,使模型學會如何從上下文中預測下一個詞,進而掌握語言結構:
$P(x)=P(x1,x2,…,xT)$
可利用鏈式法則分解為:
$P(x)=t=1∏TP(xt∣x1,…,xt−1)$
## 1.2. 語言模型種類:ALM 與 MLM
語言模型的預訓練任務大致可分為兩類:自回歸語言模型(Autoregressive Language Modeling, ALM)、遮罩式語言模型(Masked Language Modeling, MLM)。
### 1.2.1. ALM
1.模型僅利用前綴資訊,自左向右逐字預測:$P(x)=t=1∏TP(xt∣x<t)$
2.代表模型:GPT 系列
3.舉例:給定「今天天氣真」,預測下一個詞為「好」、「壞」、「熱」等
### 1.2.2. MLM
1.模型隨機遮蔽中間詞語,使用雙向上下文預測被遮蔽的詞:$P(x_i \mid x_{\neq i})$
2.代表模型:BERT、RoBERTa
3.舉例:「今天天 [MASK] 真好」→ 預測「氣」
## 1.3. 語言模型的架構:基於 Transformer
大多數 PLMs 架構基於 Transformer,包括:
1.Embedding Layer:將詞轉為向量
2.多層 Transformer 層:自注意力處理上下文
3.語言模型頭(LM Head):輸出每個位置的機率分布
時間步 $t$ 的語言模型任務為:
$\text{ALM: } P(x_t \mid x_{<t}) \qquad \text{MLM: } P(x_i \mid x_{\neq i})$
# 2. PLMs 面臨的挑戰與微調策略
PLMs 面臨以下兩樣挑戰:
1.標註資料稀少:儘管 PLMs 能學得一般語言結構,但下游任務(如醫療文本分類)通常資料量小、標註成本高,導致微調效果有限。
2.模型過於龐大:PLMs 往往包含數億至數百億參數,在資源有限的設備(如手機、IoT)上無法高效推論。
| 模型 | 參數數量 | 推論延遲 | 訓練資源 |
| ---------- | ---- | ---- | -------- |
| BERT-base | 110M | 中等 | GPU 訓練 |
| BERT-large | 340M | 高 | 多 GPU 訓練 |
| GPT-3 | 175B | 極高 | 超級電腦 |
因此,實務應用面臨兩大需求:
1.降低參數數量(Parameter-Efficient)
2.減少資料需求(Data-Efficient)
因應 PLMs 面臨的挑戰,有以下微調策略:
| 類別 | 技術 | 解決問題 | 是否需調整模型參數 | 適用場景 |
| ------------------- | ----------------------------------------- | --------- | ---------- | -------------- |
| Data-Efficient | Prompt Tuning, PET, Few-shot, Zero-shot | 標註資料少 | 可選(部分無需微調) | 任務格式可 prompt 化 |
| Parameter-Efficient | Adapter, LoRA, Prefix Tuning, Soft Prompt | 模型太大、不便部署 | 只需微調少量參數 | 多任務共享、邊緣設備 |
## 2.1. 策略一:資料效率導向微調(Data-Efficient Fine-tuning)
為解決標註資料稀缺的問題,研究提出多種資料效率導向的微調方法,讓模型在只有少量資料的情況下,也能有效學習任務。:
| 方法 | 說明 |
| ---------------------------- | -------------------------------- |
| **Few-shot Learning** | 僅使用數個標註樣本完成微調 |
| **Semi-supervised Learning** | 使用少量標註資料 + 大量未標註資料進行共同訓練 |
| **Zero-shot Learning** | 不使用任何標註資料,僅透過任務描述與 prompt 即可完成推論 |
## 2.2. 策略二:參數效率導向微調(Parameter-Efficient Fine-tuning, PEFT)
為因應模型龐大、微調成本高的問題,PEFT 方法的核心思想為:凍結原始 PLM,大部分參數保持不變,僅新增小模組或修改小部分參數以完成任務。
| 方法 | 插入方式 | 可訓練參數比例 | 優點 |
| ------------------ | -------------------- | -------------- | ------------ |
| **Adapter** | 每層 Transformer 中插入模組 | \$\sim 5%\$ | 易部署、可共享 |
| **LoRA** | 將 Attention 層拆解為低秩矩陣 | \$\sim 0.1%\$ | 支援並行訓練、節省記憶體 |
| **Prefix Tuning** | 為每層添加前綴向量 | \$\sim 0.1%\$ | 適合生成任務 |
| **Soft Prompting** | 僅調整輸入層嵌入向量 | \$\sim 0.05%\$ | 結構最簡、訓練成本最低 |
# 3. 資料效率導向微調(Data-Efficient Fine-tuning)
## 3.1. Few-shot Learning
Few-shot Learning 指的是在只有數個標註樣本的情況下進行任務學習與泛化,其效果依賴模型的遷移能力(會不會舉一反三)與先驗知識(原本學過什麼)。
"LM-BFF"(Language Model - Best Friends Forever)提出以 Prompt + Demonstration 結合的方式來進行 few-shot 推論:
Task: Is this review positive or negative?
Demo 1: The food was amazing. It was [MASK]. → great
Demo 2: The food was awful. It was [MASK]. → terrible
Input: The food was fine. It was [MASK]. → ?
## 3.2. Zero-shot Learning 與多任務泛化能力
Zero-shot Learning 指的是在模型未曾見過任何標註資料的情況下,僅憑自然語言的任務描述與提示句(prompt),進行推論與預測。必須具備以下前提:
1.PLM 預訓練期間,已學習到跨任務的語言模式(如 QA、情感分析、翻譯等)
2.模型具備將輸入映射至合理輸出的潛在能力
3.Prompt 可視為一種弱監督任務表示轉換方式
當標註資料完全缺乏時,Zero-shot Learning 提供一種理想解法。透過設計合理的任務描述(task description)與 prompt 格式,結合強大的語言模型,模型可在無需再訓練的前提下完成推論任務。
### 3.2.1. Prompt 設計範例
| 任務類型 | Prompt 格式 |
| ----------- | ----------------------------------------------------------------------------- |
| 翻譯 | `Translate English to French: cheese → [MASK]` |
| 情感分類 | `Review: This movie is wonderful. Sentiment: [MASK]` |
| 自然語言推論(NLI) | `Premise: A man is eating. Hypothesis: He is sleeping. Is it correct? [MASK]` |
### 3.2.2. 模型大小對 Zero-shot 效果影響
以 GPT-3 論文中的實驗為例,其結果顯示:
1.模型越大(參數越多):Zero-shot 性能越接近 Few-shot、Fine-tuned 性能
2.從 0.1B → 175B,Zero-shot 準確率顯著提升
### 3.2.3. 多任務泛化能力:從 Prompt 到 T0 模型
T0 模型(由 HuggingFace 推出)是一種訓練於多任務 prompt 上的 T5 模型,T0 模型即使未看過特定任務,也能進行 Zero-shot 推論。其核心策略如下:
1.收集超過 60 個任務(包含問答、推理、摘要等)
2.每個任務均用自然語言撰寫不同風格 prompt(如「請問...」、「是否表示...」)
3.將 prompt 當作訓練樣本,統一微調 PLM
### 3.2.4. 理論支持與語意遷移假說
大型 PLM 如 GPT-3、T0 在預訓練階段已見過類似任務格式、語境與推論邏輯,因此即便新任務未曾訓練,模型仍能將語意模式遷移到新場景中。
這被視為一種語義泛化能力(semantic generalization),也是 Zero-shot Learning 成立的基礎假說。
## 3.3. 半監督學習與 Pattern-Exploiting Training(PET)
即使有良好的語言建模能力與 Prompt 設計策略,資料量仍限制了微調成效。半監督學習(Semi-supervised Learning)提供一種方案:利用大量未標註資料搭配少量標註樣本,進一步提升語言模型的遷移能力。Pattern-Exploiting Training(PET)正是一個結合 prompt 工程與半監督學習的代表方法。PET 的做法是:把分類問題轉換成遮罩預測任務。
假設:
1.有少量標註樣本:$L = {(x_i, y_i)}_{i=1}^n$
2.有大量未標註樣本:$U = {x_j}_{j=1}^m$,其中 $m \gg n$
流程:
1.以 $L$ 訓練一個教師模型 $f_\theta$
2.用 $f_\theta$ 對 $U$ 預測 pseudo-label $\hat{y}_j$
3.將 ${(x_j, \hat{y}_j)}$ 合併進 $L$ 訓練學生模型
### 3.4.1 Pattern-Exploiting Training(PET)原理
PET 由 Schick & Schütze(2020)提出,是一種適用於少樣本學習的 prompt-based 半監督微調策略。核心理念如下:
1.將分類任務轉換為語言模型的填空任務(cloze-style)
2.搭配 pseudo-label 機制,逐步強化模型學習
### 3.3.2. PET 組成結構
PET 包含兩大關鍵元件:
#### 3.3.2.1. Pattern
將原始輸入轉換為句子模板格式,讓語言模型以填空方式預測答案。
例:
Premise: "The man is eating."
Hypothesis: "He is sleeping."
➝ Pattern: Based on the passage, is it correct to say "He is sleeping"? [MASK].
#### 3.3.2.2. Verbalizer
將標籤(如 entailment, contradiction, neutral)映射至可預測詞語(如 Yes, No, Maybe)。
| 標籤 | Verbalizer 詞語 |
| ------------- | ------------- |
| entailment | Yes |
| contradiction | No |
| neutral | Maybe |
### 3.3.3. PET 訓練流程
PET 訓練共分三階段,可進一步以多種 pattern 集成(ensemble)方式提升穩定性:
1.Supervised Few-shot 預訓練:在少量標註資料上,用不同 pattern+verbalizer 組合訓練多個子模型 $f_1, f_2, ..., f_k$
2.Pseudo-label Generation:用上一步模型對未標註樣本產生預測結果,選信心高者作 pseudo-label
3.Student Fine-tuning:用 pseudo-label 訓練新學生模型,可合併原始標註資料。
### 3.3.4. PET數學表示
對於 pattern 處理後的輸入 $x^{(p)}$,PET 預測任務為:
$\hat{y} = \arg\max_{y \in \mathcal{Y}} P(\text{[MASK]} = v(y) \mid x^{(p)})$。
其中,$v(y)$ 為 verbalizer 將類別 $y$ 映射成詞語。
### 3.3.5. PET 與標準微調比較
| 特徵 | 標準微調 | PET 微調 |
| ---- | ------------- | ------------------------ |
| 輸入格式 | 原始文本 + 標籤 | Pattern 化輸入 + Verbalizer |
| 輸出 | 類別標籤(softmax) | \[MASK] 填空詞語 |
| 樣本利用 | 只用標註樣本 | 結合 pseudo-labeled 未標資料 |
| 模型參與 | 單一模型 | 多模型訓練 + 集成預測 |
# 4. 參數效率導向微調(Parameter-Efficient Fine-tuning)
隨著大型語言模型(PLMs)參數數量動輒上億,傳統的全模型微調不僅訓練成本高,亦不利於多任務部署與推論效率。因此,研究者提出多種 Parameter-Efficient Fine-tuning(PEFT) 方法,旨在僅調整少量任務特定參數,保留預訓練模型主幹不變。大型語言模型(PLMs)雖然表現優異,但完整微調會導致以下問題:
1.每個下游任務都需一份完整模型副本,佔用大量儲存空間與記憶體
2.訓練參數過多,容易過擬合,且更新成本高,難以在低資源裝置部署
因此,Parameter-Efficient Fine-tuning (PEFT) 方法的目標是在不調整主模型參數的前提下,僅透過少量任務專屬參數達成微調效果。以下為四種主流 PEFT 方法:
| 方法 | 可訓練參數比例 | 插入位置 | 是否改變模型主架構 | 特點 |
| -------------- | ----------- | -------------------------- | --------- | ------------------ |
| Adapter | \$< 5%\$ | Transformer 層內 | 否 | 插入小型子模組,上下投影 |
| LoRA | \$< 0.1%\$ | Attention/FFN 子層旁 | 否 | 加入低秩矩陣,並行於原權重矩陣 |
| Prefix Tuning | \$< 0.1%\$ | 每層 attention 的 key/value 前 | 否 | 在每層加入可訓練 prefix 向量 |
| Soft Prompting ( Prompt Tuning) | \$< 0.05%\$ | 僅輸入層前方(embedding 前) | 否 | 在輸入端加 trainable 向量 |
## 4.1. Adapter
在每一層 Transformer 中插入一個兩層的全連接模組:
$\Delta h = W_{\text{up}} \cdot \sigma(W_{\text{down}} \cdot h)$
最終表示為:
$h' = h + \Delta h$
其中,$W_{\text{down}} \in \mathbb{R}^{d \times r}$ 為降維,$W_{\text{up}} \in \mathbb{R}^{r \times d}$ 為升維,$\sigma$ 為非線性函數(如 ReLU)。
優點:
1.可快速擴充多任務微調,僅切換 adapter 即可
2.不需儲存多份完整模型權重
## 4.2. LoRA(Low-Rank Adaptation)
核心想法為以低秩矩陣 $A$, $B$ 模擬原始權重更新。可插入於 Attention 層的 Query、Value 等子模塊,使模型在原有結構下學習新的特化能力:
$W_{\text{LoRA}} = W + \Delta W = W + A B$
其中,$A \in \mathbb{R}^{d \times r}$,$B \in \mathbb{R}^{r \times d}$,$r \ll d$,即 rank 遠小於原維度。
優點:
1.僅需訓練 $O(d \cdot r)$ 個參數
2.可與原模型並行部署
3.高效支援大模型(如 LLaMA、GPT-3)
## 4.3. Prefix Tuning
Prefix Tuning 在每層 Attention 模塊的 key 和 value 前插入任務專屬向量,操作方式為:
1.在每一層 Transformer attention 的 key/value 前插入 trainable prefix 向量
2.模型在計算注意力時會同時 attend 這些 prefix
對每層 attention 而言:
$\text{Attn}(Q, K, V) \Rightarrow \text{Attn}(Q, [K_{\text{prefix}}, K], [V_{\text{prefix}}, V])$
優點:
1.不更動主模型任何層參數
2.適合多層導入以控制模型行為
## 4.4. Soft Prompting(延伸自 Prompt Tuning)
Prompt Tuning 只訓練一小段提示向量(Soft Prompt),不改語言模型本體,就能完成下游任務。
Soft Prompting 只在輸入 token 之前加上若干 trainable 向量(非詞彙),例如加上 $n$ 個維度為 $d$ 的向量:
$\text{Input} = [P_1, P_2, \dots, P_n, x_1, x_2, \dots, x_T]$
其中,$P_i \in \mathbb{R}^{d}$ 為可訓練 prompt 向量,$x_j$ 為原始輸入 token 的嵌入表示。
優點:
1.訓練速度快、參數極少
2.可視為 soft 化的 prompt template
# 5. Early Exit 提升推論效率
大型 Transformer 模型因其深層結構,在推論階段往往需要通過所有層,導致延遲高與效能瓶頸。在許多實務應用中,輸入樣本難度不一,有些樣本在早期層已能得到高信心預測。
因此,提出 Early Exit(提早退出) 策略,透過中途判斷模型信心,自動決定是否提早產出輸出,避免執行完整深度。
## 5.1 問題定義
傳統推論需計算所有 $L$ 層:
$h^{(L)} = f^{(L)} \circ f^{(L-1)} \circ \dots \circ f^{(1)}(x)$
Early Exit 允許模型在中間某層 $l \leq L$ 停止,當該層輸出達到預設信心閾值 $\tau$ 時即產生預測:
$\text{if } \max \left( \text{softmax}(f_{\text{cls}}(h^{(l)})) \right) > \tau \Rightarrow \text{Exit at layer } l$
## 5.2 策略設計
模型擴充方式:
1.在每層 $l$ 增加 classifier head $f_{\text{cls}}^{(l)}$
2.設計信心預測器或使用 softmax 最大值作為啟發式準則
決策機制:
1.若 $f_{\text{cls}}^{(l)}(h^{(l)})$ 置信度高,則產出預測並停止前向傳播
2.否則進入下一層繼續推理
## 5.3 效果分析
實驗顯示,在多個自然語言任務上,Early Exit 可在 幾乎不損準確率的情況下,顯著降低平均推論層數與時間:
| 任務 | 模型 | 完整層數 | Early Exit 層數 | 差異(層) | 準確率變化 |
| ----- | ---------- | ---- | ------------- | ----- | --------- |
| SST-2 | BERT-base | 12 | 6 | -6 | \$+0.5%\$ |
| MNLI | BERT-base | 12 | 9 | -3 | \$-0.2%\$ |
| QQP | BERT-large | 24 | 10 | -14 | \$-0.4%\$ |
註:此結果來自論文 "Right Tool for the Right Job: Efficient Fine-tuning for Transformers"(2020)
## 5.4 優點與挑戰
優點:
1.有效降低推論延遲,提升反應時間
2.節省計算成本,適用於部署至邊緣裝置
挑戰:
1.如何設計穩定、泛化性強的信心預測器
2.較難在所有任務類型上保證準確率不變
3.多任務學習場景下可能造成過早退出導致性能下降
# 6.技術總結
## 6.1 核心概念整理
| 問題面向 | 解決策略 | 關鍵技術方法 |
| ---------------------------- | ----------------- | ----------------------------------------- |
| 資料稀缺(Data Efficiency) | 使用 Prompt 設計與語義遷移 | Prompt Tuning、Soft Prompting |
| 模型龐大(Parameter Inefficiency) | 凍結主模型、僅訓練小模組 | Adapter、LoRA、Prefix Tuning、Soft Prompting |
| 推論延遲(Inference Cost) | 提早產出、動態調整推理深度 | Early Exit |
## 6.2 各方法特性與比較
| 方法 | 是否改模型主體 | 插入層級 | 訓練參數比例 | 是否支援多任務共享 | 優點 |
| ------------------ | ------- | ------------------ | ----------- | --------- | ------------ |
| **Adapter** | 否 | 每層 Transformer | \$< 5%\$ | 是 | 易實現、泛化能力強 |
| **LoRA** | 否 | Attention / FFN | \$< 0.1%\$ | 是 | 支援並行訓練、適合大模型 |
| **Prefix Tuning** | 否 | Attention Prefix | \$< 0.1%\$ | 是 | 注重語義引導 |
| **Soft Prompting** | 否 | 僅在 Input 層 | \$< 0.05%\$ | 是 | 結構最輕量 |
| **Early Exit** | 否 | 加 classifier per 層 | 無新增參數 | 否 | 降低延遲、節省資源 |
## 6.3 尚待解決的研究問題(Open Questions)
## 6.3.1. 理論基礎與理解
1.為何 Soft Prompting 能有效引導模型?
2.PEFT 方法與原始表示學習之間的表徵轉換關係是什麼?
## 6.3.2. 多任務與終身學習適應
1.如何在無災難性遺忘的前提下整合多個任務?
2.是否能發展出任務感知(task-aware)切換機制?
## 6.3.3. 安全性與隱私性議題
1.Prompt Tuning 是否存在 adversarial prompt 攻擊風險?
2.如何在不洩漏原始模型資訊下完成訓練(例如加密 soft prompt)?
## 6.3.4. 在邊緣設備部署上的可行性
1.如何將 Early Exit 動態調整策略整合至模型壓縮框架?
2.是否能進一步提出資源感知微調方法(resource-aware tuning)?