---
# System prepended metadata

title: 【Hung-yi Lee Machine Learning L6】自監督式模型：以PLMs為例

---

# 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）？



