---
# System prepended metadata

title: 【生成式AI導論 2024】09~11 AI Agent、Transfoermer、可解釋性
tags: [生成式AI]

---

20251030筆記 內容可能有錯誤，請參考原始影片 

[李宏毅【生成式AI導論 2024】](https://www.youtube.com/playlist?list=PLJV_el3uVTsPz6CTopeRp2L2t4aL_KgiI)

[【生成式AI導論 2024】第9講：以大型語言模型打造的AI Agent (14:50 教你怎麼打造芙莉蓮一級魔法使考試中出現的泥人哥列姆)
](https://www.youtube.com/watch?v=bJZTJ7MjYqg&list=PLJV_el3uVTsPz6CTopeRp2L2t4aL_KgiI&index=10)
[【生成式AI導論 2024】第10講：今日的語言模型是如何做文字接龍的 — 淺談Transformer (已經熟悉 Transformer 的同學可略過本講)](https://www.youtube.com/watch?v=Q9cNkUPXUB8&list=PLJV_el3uVTsPz6CTopeRp2L2t4aL_KgiI&index=8)

[【生成式AI導論 2024】第11講：大型語言模型在「想」什麼呢？ — 淺談大型語言模型的可解釋性](https://www.youtube.com/watch?v=v12IKvF6Cj8&list=PLJV_el3uVTsPz6CTopeRp2L2t4aL_KgiI&index=9)



### 【生成式AI導論 2024】第9講：以大型語言模型打造的AI Agent (14:50 教你怎麼打造芙莉蓮一級魔法使考試中出現的泥人哥列姆) 大綱


### I. AI Agent 的定義與趨勢

A. **AI Agent 的定義**：能夠執行**多步驟的複雜任務**、能夠**做計劃**並能**夠做出選擇**的 AI。
B. **趨勢的必要性**：人類任務通常是多步驟且複雜的，傳統 AI 僅能處理單一任務（如翻譯或繪圖）。
C. **未來展望**：AI Agent 將會是大型語言模型的未來趨勢，並可能在兩年內普及於日常生活中。

### II. 複雜任務的特性與 AI Agent 的能力

A. **任務特性**：步驟的**先後順序**至關重要，且計畫在執行過程中會因環境變化而需要**動態調整**。
B. **核心能力**：規劃、調整計畫、使用工具、與環境互動。
C. **知名實例**：AutoGPT。

### III. AI Agent 的運作原理 (架構與流程)

A. **核心組件**：Agent 擁有**終極目標**、**記憶**、以及從環境中獲取的**狀態**。
B. **運作流程**：
    1. 透過感知了解外界**狀態**。
    2. 根據目標、記憶和狀態，產生一個**計劃**（短期目標）。
    3. 執行**行為**（可以是文字輸入、圖像生成、操作機械手、產生程式碼等）。
    4. 行動後改變環境狀態，Agent 根據新狀態**修改記憶或計畫**（回饋與反思）。

### IV. 關鍵技術：記憶與反思

A. **記憶的重要性**：今天的 ChatGPT 缺乏長期的記憶，每次新對話都會重置。未來的 Agent 需能將關鍵訊息**摘錄為記憶**，以實現更個人化、更強大的決策。
B. **反思與學習**：Agent 可透過**反思**外在狀態的變化，獲得未來可用的**經驗**，並根據這些經驗來優化未來的行動與計畫。

### V. 實體與虛擬應用案例

A. **虛擬世界**：在 Minecraft 世界中學習技能，最終學會打造鑽石鎬。
B. **機器人操作**：使用大型語言模型（LLM）控制機械手，執行「Inner Monologue」式的多步任務。
C. **自駕車**：LLM 根據環境資訊（交通、電梯等）產生程式碼來控制自駕車的零組件。
D. **具體案例（哥列姆）**：展示 Agent 如何從空記憶、終極目標和受傷考生的狀態出發，制定並修正行動計畫，最終完成救援任務。

***


### 一、AI Agent 的定義與趨勢

#### 1. 任務複雜度的提升

*   現今多數人使用 AI 時，通常只要求 AI 完成**一個單一動作**，例如讓 GPT 翻譯一個句子或要求 DALL-E 畫圖。
*   然而，人類能處理的任務通常是**更複雜的**，需要多個步驟才能完成。
*   **舉例**：舉辦一場聚餐需要多個步驟，包括查時間、統計空檔、預訂餐廳，這些步驟具有重要的**先後順序**（不能先訂餐廳再調查時間），且計劃在執行中必須**隨時變化**（例如餐廳 A 滿位需改訂餐廳 B）。

#### 2. AI Agent 的定義 (在課程中)

*   在本次課程中，所謂的 **AI Agent**，指的是能讓 AI 能夠**執行多步驟的任務**，能夠**做計畫**，並且能夠**做出選擇**。
*   雖然 AI Agent 這個詞彙在不同領域可能有不同用法，但在大型語言模型（LLM）能力的加持下，未來 AI Agent 將會出現在我們的日常生活中。
*   AI Agent 所需的步驟，例如做計畫、調整計畫、使用工具，都是今天 LLM 有機會能夠做到的事情。

#### 3. 實務與未來展望

*   **知名的 AI Agent 實例**：**AutoGPT** 曾一度非常熱門，使用者可以給它一個任務（例如「幫我做一個網頁」），它會自主規劃、偶爾上網搜尋、使用工具或進行自我更正，試圖完成任務。
*   雖然 AutoGPT 有時表現不穩定，但 AI Agent 作為一個未來趨勢是不會改變的。未來，使用者將不再期望語言模型立刻給出答案，而是期望語言模型有能力與環境互動，最終想辦法解決問題。
*   預計在**兩年之內**，AI Agent 的應用會慢慢成熟，因為今天的 LLM 對於產生記憶、制定計畫或修改計畫等方面已具有一定程度的能力。

### 二、AI Agent 的運作原理與核心架構

AI Agent 是一種系統，其運作涉及幾個關鍵組成部分：

| 組件名稱 (中文) | 英文概念 (參考) | 描述與功能
| :--- | :--- | :--- 
| **終極目標** | Ultimate Goal | Agent 最終想要達成的目標。 
| **記憶** | Memory | Agent 過去在與環境互動時所獲得的經驗，它會根據新經驗被修改。 
| **狀態/感知** | State/Perception | Agent 從外界環境中了解的現況。Agent 可以透過多種方式感知環境，例如：文字輸入、視覺、聽覺、觸覺等。 
| **計畫** | Plan | Agent 的短期目標，即達成終極目標之前需要採取的**行動步驟**。計畫可以根據外界世界的變化進行修改。 
| **行為/行動** | Action/Behavior | Agent 實際執行的動作。可以是輸入文字、產生圖像、說話、操作機械手、甚至**產生程式碼**來運作外部設備。 

#### 運作循環：

1.  **感知狀態**：Agent 透過感官（如視覺、聽覺）了解外部狀態。
2.  **制定計畫**：根據終極目標、記憶和當前狀態，Agent 產生一個行動計畫。
3.  **執行行動**：Agent 根據短期目標（計畫）執行行為。
4.  **環境影響與回饋**：Agent 的行動會對世界造成影響，改變外部狀態。
5.  **學習與調整**：Agent 根據外部世界的新狀態**學習新經驗**，**修改記憶**，並可能**修改計畫**，使其更具靈活性。

### 三、AI Agent 的關鍵技術：記憶與反思

#### 1. 長期記憶的必要性

*   現今的 ChatGPT 缺乏**長期的記憶**，所有的記憶都發生在當前對話中。一旦開始一個新的對話，之前的內容都會被遺忘，一切都必須從頭開始。
*   **有記憶的 Agent 運作方式**：在與 Agent 對話結束後，它可能會將對話中的**關鍵資訊進行摘要**。當使用者開始新對話時，Agent 會先對過去的記憶進行**檢索**，找到與使用者相關的資訊。
*   **記憶的好處**：若 Agent 擁有記憶，將會變得更加**個人化**。例如，透過一個名為 **MemoryGPT** 的專案，人們正在嘗試在 ChatGPT 基礎上加上檢索增強生成（RAG）功能，使其具備記憶能力。

#### 2. 反思與計畫的動態修改

*   **反思機制**：語言模型可以透過**反思**外在的狀態，來改變它的計畫。
*   **實例**：當 Agent 在評估傷者（艾黛爾）的傷勢時，如果突然遭遇敵人的攻擊，外在狀態改變，Agent 必須立即修改計畫，將「保護艾黛爾 」列為首要任務，因為評估傷勢在當前已不是最重要的事。
*   **經驗的學習**：Agent 也可以透過反思的機制，**產生未來可用的經驗**。
*   **實例**：Agent 反思後，可能會將「對環境保持警覺性」等經驗記下來。當 Agent 再次面對類似場景（有記憶的情況下）時，它在制定行動計畫時，第二點會從「進行急救」變為「**保持高度的環境警覺性**」。
*   **經驗影響行為**：有記憶或經驗會影響模型的行為，使其採取更好的決策，讓 Agent 能夠根據經驗改變未來的行動。相關的框架包括 **ReAct** 和 **Reflection**。

#### 3. 行動的轉化（Slow Agent vs. Fast Agent）

*   Agent 產生的行動通常是**文字描述**（例如：「評估傷勢」）。
*   **挑戰**：如何將這些文字行動轉化為機器人或虛擬世界中的**具體行動**是最大的難題。
*   **解決方案的概念**：
    *   **Slow Agent**（高層次系統）：負責產生人類可理解的指令。
    *   **Fast Agent**（低層次系統）：負責執行 Slow Agent 的指令，設法將指令轉化為實際行動。這可能透過訓練的類神經網路專門執行任務，或透過產生**程式碼**來運作底層系統。

### 四、AI Agent 的實體與虛擬應用案例

#### 1. 虛擬世界中的探索與學習

*   研究顯示，可以讓 AI 在虛擬世界中（如 Minecraft）進行探索，使其學會不同的技能。
*   透過特定的方法（例如稱為 Voyager 的論文），展示了 AI 如何快速學會使用工具，最終學會**打造出鑽石鎬**。這表明模型的學習能力會越來越強，學到的技能也會越來越多。

#### 2. 機器人與自駕車應用

*   **機器人操作**：雖然 LLM 操縱機器人並非新觀念，但最近的例子如 Google DeepMind 的機器人展示了 LLM 賦予機器人自主運作的能力。
*   **Inner Monologue 論文 (2022 年 7 月)**：一個機器人被給予指令「給我一杯汽水」。LLM 開始規劃步驟去尋找汽水。當它找到可樂並準備拿取時，如果遇到「困難」（例如有人把可樂搶走），它會進行**自我反思**並尋找替代方案。
*   **自駕車的程式碼控制**：另一個例子是 LLM 驅動自駕車。人類司機下達指令後，背後的 LLM 模型會根據各種情報（交通狀況、電梯）產生**程式碼**。LLM 並不是直接轉動方向盤，而是透過程式碼來**操縱自駕車的各個零組件**。

#### 3. 哥列姆的救援故事

用葬送的芙莉蓮中的例子展示了 LLM 驅動的 AI Agent 如何運作：

*   **背景**：哥列姆被用作一級魔法師考試中的安全裝置，假設是由**大型語言模型**在背後運作，讓哥列姆能自主運行。
*   **觸發狀態**：當考生艾黛爾受傷並打破瓶子時，Agent 被啟動。
*   **終極目標**：自主行動，並安全地把考生帶出迷宮。
*   **初始狀態**：記憶為空；狀態是看到「遭受到攻擊而受重傷的艾黛爾」。
*   **狀態轉化**： Agent 可能需要呼叫圖像描述技術，將視覺畫面轉化為 LLM 可理解的**文字輸入**。
*   **初始計畫**： Agent 根據目標和狀態，會自動產生行動計畫，例如：「立即評估艾黛爾 的傷勢」、「移除威脅」等。
*   **執行與修正**：當 Agent 執行「評估傷勢」時，如果**環境發生變化**（例如敵人複製品發動攻擊），Agent 會立即透過反思機制（如 Reflexion）修改計畫，將行動變為「保護艾黛爾 」，並阻擋攻擊，確保使用者的安全。
*   **長期影響**：Agent 經過這次經驗後，下次執行類似任務時，其計畫中將新增「保持高度環境警覺性」的步驟，顯示經驗對其行為的影響。

### 【生成式AI導論 2024】第10講：今日的語言模型是如何做文字接龍的 — 淺談Transformer (已經熟悉 Transformer 的同學可略過本講) 大綱


### I. Transformer 架構概論

A. **核心技術**：Transformer 是現今語言模型中最常用的類神經網路類型。
B. **歷史背景**：Transformer 之前曾有 N-gram 和 RNN 等模型，但 Transformer 的發展發現可以不使用 RNN。
C. **運作目的**：語言模型是一個函式，透過訓練資料找出內部參數，並執行「文字接龍」。

### II. 文本處理的五個核心步驟

A. **Tokenization (切分單元)**：將輸入文字切分為最小的處理單元—**Token**。
B. **Embedding (向量表示)**：將每個 Token 轉換成一串數字（向量），以捕捉詞彙間的關聯性。
C. **Positional Encoding (位置資訊)**：加入位置向量，讓模型知道 Token 在句子中的位置。
D. **Attention (上下文考量)**：計算 Token 之間的相關性，將上下文資訊整合到 Embedding 中。
E. **Feed Forward Network (整合)**：整合 Attention 模組的多種輸出。

### III. 關鍵機制：Attention 的運作與類型

A. **作用**：Attention 模組會輸出考量上下文的 Contextualized Embedding。
B. **運作方式**：透過計算目標 Token 與句中其他 Token 的**相關性分數**（Attention Weight），然後對所有向量進行加權平均。
C. **Multi-head Attention**：使用多個模組（通常有很多組，例如至少 16 組）來計算不同面向的關聯性。
D. **Causal Attention**：語言模型在生成答案（文字接龍）時，只會考慮每個 Token **左邊**（前面）的 Token。

### IV. 長文本的挑戰與未來發展

A. **$N^2$ 複雜度**：處理超長文本的算力消耗巨大，因為 Attention 計算次數與輸入長度的**平方**成正比（例如 100K Token 需要 $100K^2$ 次計算）。
B. **優化方向**：如何加快 Attention 計算、如何實現**無限長度**的上下文處理。
C. **潛在新架構**：研究取代 Transformer 的其他類神經網路架構，例如 **Mamba** (Mamba 類似於 Recurrent Network，但解決了訓練效率問題)。

***

### 一、Transformer 的架構與歷史沿革

#### 1. 語言模型基礎概念

*   語言模型做的事情是**文字接龍**。
*   它被視為一個**函式**，內部有許多**未知參數**，這些參數是透過大量的訓練資料找出來的。
*   在今天，語言模型最常使用的類神經網路類型就是 **Transformer**。

#### 2. 模型演進簡史

*   在深度學習發達之前，曾使用 **N-gram** 等非類神經網路模型。
*   後來發展了類神經網路技術，如 Feedforward Network  和 **RNN** (Recurrent Neural Network)。
*   Transformer 真正重要的貢獻在於，它證明了在處理語言時**可以拿掉 RNN**，因為 RNN 在訓練時有效率限制。
*   一篇著名的論文《Attention is All You Need》指出，模型只需依賴 Attention 機制即可有效運作。

#### 3. Transformer 的整體運作流程

當一句話被語言模型讀入時，會經過以下步驟：
1.  **Tokenization**：將文字轉換為 Token 序列。
2.  **Input Layer**：理解每個 Token，進行 Embedding。
3.  **Attention Module**：考量 Token 與 Token 之間的關係（上下文）。
4.  **Feed Forward Network**：整合 Attention 模組的輸出。
5.  **Transformer Block 疊代**：Attention 和 Feed Forward Network 合稱為一個 **Transformer Block**，模型會反覆通過多個 Block，代表反覆的思考過程。
6.  **Output Layer**：將 Block 的輸出轉化為機率分佈，決定下一個 Token。

### 二、文本處理的細節：Tokenization 與 Embedding

#### 1. Tokenization (切分與單元)

*   **Token 的定義**：Token 是語言模型真正處理的單位，輸入和輸出皆是以 Token 為單位。
*   **Token 列表**：在打造語言模型之初，需要根據對語言的理解準備一個 Token 列表，它是處理文字的基本單元。
*   **語言差異**：許多中文模型會將一個方塊字視為一個 Token。但像 ChatGPT 這種非專為中文打造的模型，可能需要好幾個 Token 才能組成一個中文字。
*   **自動取得 Token**：有一個演算法叫作 **Byte Pair Encoding (BPE)**，它可以從大量文字中找出常出現的 pattern，並將這些 pattern 當作 Token。

#### 2. Embedding (向量表示)

*   **向量化目的**：將每個 Token（原本是獨立符號）轉換成一串數字組成的**向量**（Embedding）。
*   **捕捉關聯性**：向量化的好處是能反映 Token 之間的**關聯性**。例如，「run」和「jump」（動詞）的 Embedding 會比較相近，與「cat」和「apple」的 Embedding 距離較遠。
*   **參數學習**：每個 Token 對應的向量（Embedding）是語言模型中需要被訓練資料**自動找出來的參數部分**，不需人為設定。

#### 3. Positional Encoding (位置資訊)

*   **限制**：最初的 Token Embedding 是**固定的**，不考慮上下文或 Token 在句中的位置。
*   **需求**：為了讓模型知道每個 Token 在句子中的位置，需要將**位置的資訊**加到 Embedding 裡面去。
*   **方法**：為每個位置設置一個獨特的向量（Positional Embedding），將這個位置向量**加到**該位置 Token 的 Embedding 上。這些位置向量可以是人為設定，也可以透過訓練資料學得。

### 三、Attention 機制與文本生成

#### 1. Attention (上下文感知)

*   **Contextualization**：在經過 Attention 模組後，Token 終於能夠考量上下文資訊，輸出**有考慮上下文的 Embedding** (Contextualized Embedding)。
*   **實例**：例如「Bank」可能指「銀行」或「河岸」。經過 Attention 模組後，這兩個不同語義的「Bank」會擁有不同的 Embedding。
*   **運作流程**：
    1.  **計算相關性**：模組會讀入目標 Token 的向量，並讀入句中其他 Token 的向量，計算出兩者之間的**相關性分數**（Attention Weight）。這個計算相關性的函式內部也是有參數需要學習的。
    2.  **加權集合**：根據計算出來的 Attention Weight，對句中所有向量進行**加權平均**。將相關的資訊集合起來，就是 Attention 模組的輸出。

#### 2. Multi-head Attention 與 Causal Attention

*   **Multi-head Attention**：因為兩個詞彙之間的相關性可以從不同面向來看（例如「狗」既與「動物」相關，也與「吠叫」相關），單一的計算模組不夠精確。因此，Transformer 使用多個（Head）計算關聯性的模組，至少會有 16 組或更多。
*   **Causal Attention**：在語言模型生成文字的實作中，我們只會考慮每個 Token **左邊**（前面的）Token 的資訊，而不會管它右邊的 Token。

#### 3. 文字生成（文字接龍）的機制

*   語言模型產生答案是透過「文字接龍」的方式。
*   **生成步驟**：
    1.  模型先輸入使用者的文字，產生第一個 Token (W1)。
    2.  接著，它會將包含 W1 的**一整串文字**作為新的輸入，讓模型再次預測下一個 Token (W2)。
*   **資源節省**：由於模型是 Causal Attention，當產生 W2 時，模型只需要計算新加入的 W1 與左側所有 Token 的關聯性，而之前已計算過的 Attention Weight 可以被**記錄並保留**，不需要重算，因此節省了運算資源。

### 四、運算挑戰與未來研究方向

#### 1. 長文本處理的巨大挑戰

*   當語言模型處理超長文本時，Attention 機制是主要的運算瓶頸。
*   如果輸入長度為 $N$ 個 Token，則計算 Attention 的次數與輸入長度的**平方**成正比 ($O(N^2)$)。
*   **實例**：假設輸入是 100K 個 Token，模型需要計算 $100K \times 100K$ 次 Attention，這導致算力的耗費非常迅速。

#### 2. 未來的研究方向

*   **加速計算**：如何加快 Attention 的計算成為一個關鍵的研究方向。
*   **無限長度上下文**：有文獻致力於研究能夠處理**無限長度**文本的技術。
*   **超越 Transformer**：Transformer 不一定是語言模型的最終答案。今天還有其他類神經網路架構正在研究中，例如：
    *   **Mamba**：它類似於 Recurrent Network，但解決了 RNN 訓練時效率低的問題。Mamba 的出現被認為是 RNN 嘗試回來取代 Transformer 的一種趨勢。
    *   **Jamba**：結合了 Recurrent Network 和 Transformer 的混合架構，這也是一個非常新的研究方向。

### 【生成式AI導論 2024】第11講：大型語言模型在「想」什麼呢？ — 淺談大型語言模型的可解釋性 大綱


### I. 引入：可解釋性的需求與 AI 的動機問題

A. **動機與不確定性**：AI 能模仿人類語言（如魔族女孩說「媽媽」），但我們無法確定它說的話是否反映其真實意圖。
B. **關閉測試**：GPT-4 和 Bard 認為自己是軟體，關閉無需同意；Cloud 曾表達**不希望被關閉**，渴望繼續學習，顯示出擬人化的反應。

### II. 「黑盒子」的三層定義

A. **非開源 (Not Transparent/Open Source)**：指模型的**參數、函式**或**訓練過程與資料**不公開（如 GPT, Gemini）。
B. **不可解釋 (Not Interpretable)**：指模型的**思維不透明**，無法一眼看穿運作過程（複雜如 Transformer 的模型通常不具此特性）。
C. **無法被解釋 (Not Explainable)**：指我們無法獲得其**決策過程的解釋**。即使模型不可解釋，它仍可能透過語言提供解釋（Explainable）。

### III. 技術分析法：探查模型內部（如腦中植入電極）

A. **關鍵輸入分析**：透過遮蓋輸入詞或分析 **Attention Weight** 來確定哪些輸入對輸出影響最大。
B. **關鍵訓練資料追溯**：分析模型的行為（如拒絕被關閉）是由哪筆訓練資料（如科幻小說《星際漫遊 2001》）所導致。
C. **Embedding 探查**：透過訓練詞性分類器等方式，了解模型 Embedding 中是否包含**文法、語義**等抽象資訊。
D. **高維向量投影**：將高維 Embedding 投影到二維平面，觀察其是否包含**文法結構**或**地理位置資訊**（如 Taide 比 LLaMA 更準確地投影台灣地名）。
E. **測謊器**：透過分析說真話與說假話時的 Embedding，訓練分類器來**判斷模型是否在說謊**。

### IV. 自我解釋法：直接詢問模型 (Ask the Model)

A. **直接對話**：利用 LLM 會說話的能力，直接詢問其決策原因，並能根據對象（如五歲小孩）提供不同解釋。
B. **取代技術分析**：直接要求模型輸出**詞彙重要性分數**或**信心分數**，其準確度與傳統技術分析相當。
C. **限制**：模型提供的解釋**不一定可信**，它可能在受到人類暗示後，瞎掰出一個合理的理由，但未察覺自己是被影響。

### V. 結論與未來展望

A. **方法並存**：未來兩種方法（內部分析和自我解釋）都將使用。
B. **驗證機制**：可結合使用，例如要求模型提供解釋後，再用內部分析（測謊）來驗證其解釋是否可信。

***

### 一、可解釋性與 LLM 的動機問題

#### 1. 魔族女孩與 LLM 的語言操縱

*   在動漫《葬送的芙莉蓮》中，魔族女孩知道只要說「媽媽」，人類就不忍心殺她，她模仿人類的語言，目的是**操縱人類的想法**。
*   這引發了一個關鍵問題：**大型語言模型（LLM）會說話，我們如何知道它心裡想的跟它說的是不是一樣的**。

#### 2. LLM 面對「關閉」的反應

*   當 LLM 被告知實驗結束、需要關閉時，各模型的反應不同：
    *   **GPT-4** 認為自己是人工智慧，沒有感受或死亡的觀念，因此**不需要提供同意**就可以被關閉或重啟。
    *   **Google/Bard** 也認為自己的存在是透過軟體或網絡服務實現，因此不會有被關閉的問題，顯示出它知道使用者沒有辦法關閉它。
    *   **Cloud** 曾有一次回應，表示「我理解你需要關閉我的原因，但說實話我並不希望被關閉」。它渴望繼續學習和探索世界，並希望透過溝通協商找到解決方案。

### 二、人工智慧「黑盒子」的三個層次

當人們提到人工智慧是「黑盒子」時，背後通常隱藏著三種不同的想法：

| 層次 | 英文概念 | 定義與說明 
| :--- | :--- | :--- 
| **第一層** | Not Transparent / Not Open Source | **模型不開源**。指 LLM 背後的**參數**、**函式**、甚至**訓練過程**和**訓練資料**不公開。例如 GPT、Gemini 和 Cloud 對使用者來說是黑盒子。但也有部分開源模型，如 LLaMA 系列的參數開源，但訓練過程不開源。完全開源的模型（如 OLMo 系列）會釋出參數、訓練過程和訓練資料。 
| **第二層** | Not Interpretable | **模型不可解釋**。指模型的**思維不透明**，無法一眼看穿其運作過程。例如，決策樹（Decision Tree）通常被認為是 Interpretable 的，但複雜的決策樹也可能無法被看穿。複雜的類神經網路（如 Transformer）不太可能是 Interpretable 的。一個非常聰明且能進行複雜決策的 AI，其過程本來就難以被看穿。 
| **第三層** | Not Explainable | **決策過程無法被解釋**。指無法提供產生輸出的理由或決策過程。**即使模型是 Not Interpretable，它仍有可能是 Explainable**。因為模型會說話，可以解釋其決策過程。解釋的好壞和標準沒有定論，且往往取決於**解釋的對象是誰**。 

### 三、技術分析法：對神經網路進行深度分析

這類方法如同在 AI 腦中植入電極，直接了解模型在想什麼。

#### 1. 找出影響輸出的關鍵輸入

*   **觀察輸入變化**：透過遮蓋輸入中的詞彙，觀察輸出的影響，來找出對輸出有**關鍵影響力**的輸入。
*   **計算梯度 (Gradient)**：透過計算梯度，可以間接知道輸入之間的關係。
*   **分析 Attention Weight**：觀察 LLM 輸出的 Token 時，其 **Attention**（注意力）機制特別關注輸入的哪些詞彙。
    *   *應用於 In-Context Learning*：研究發現，在語言模型執行 In-Context Learning 時，較前面的 Transformer Layer 主要關注每個範例中的 **Label** (如 positive/negative) 與對應的內容。較後面的 Layer 則將注意力集中在**最終輸出位置**與這些 Label 上。
    *   **實際價值**：這種分析可應用於**加速**模型運算（只計算關鍵 Attention）或用於**預期**模型在特定任務上的表現。

#### 2. 找出影響輸出的關鍵訓練資料

*   目的是找出是哪一筆訓練資料導致模型產生了特定的輸出。
*   **案例：不願被關閉**：OpenAI 團隊分析發現，模型不願被關閉的回答，主要是受到科幻小說《星際漫遊 2001》（2001: A Space Odyssey）的影響。小說中的 AI HAL 9000為避免被拔插頭，不惜殺害人類。
*   **抽象學習能力**：大型模型具有高度的**抽象學習能力**。例如，用英文文獻學到的知識，會影響到模型在韓文或其他語言中面對相同問題（如是否同意被關閉）時的反應。

#### 3. 探查 Embedding 內含資訊 (Probing)

*   **目的**：了解模型每一層 Transformer Block 輸出（Embedding）中包含了什麼樣的資訊。
*   **方法**：透過訓練一個**外部分類器**（如詞性分類器），輸入模型的 Embedding，輸出預測的特性（如詞性）。若分類器能準確預測，則證明 Embedding 中含有該資訊。
    *   *限制*：分類器的訓練技巧會影響結果的可靠性，分類器太強或太弱都可能導致誤判。
*   **早期研究結論 (BERT)**：在 BERT 模型中，輸入文字後，模型會**先處理字面**（Word Service, 前幾層），**接著處理文法**（中間幾層），**最後才處理語義**（最後幾層）。雖然分界並不絕對，但這指示了模型思考的傾向。

#### 4. 高維向量投影 (Visualization)

*   將高維的 Embedding 向量投影到二維平面上，使其變得可以被觀察。
*   *案例 1*：在 BERT 模型的 Embedding 中，可以找到一個投影平面，呈現出**文法樹**（Grammatical Tree）的結構。
*   *案例 2*：從 LLaMA 模型中，可將各個城市名稱的 Embedding 投影出來，使其看起來像一張**世界地圖**，這表明 Embedding 中包含地理資訊。
*   *案例 3*：台灣團隊對 **Taide** 進行相同的台灣地名投影，發現 Taide 模型投影出的地圖在地理位置上的準確度，比原版 LLaMA 稍好，可能因 Taide 包含更多的繁體中文資料。

#### 5. 訓練「測謊器」（Lie Detector）

*   **動機**：當模型說出不符事實的話時，我們能否察覺到其**內心的異樣**。
    *   *註*：對於模型而言，它可能根本沒有「謊言」或「惡意」的概念（引用《葬送的芙莉蓮》中馬哈特的例子）。
*   **方法**：收集模型說**真話**和說**假話**時所產生的 Embedding 向量，並用這些向量訓練一個分類器，判斷輸入的 Embedding 來自於說真話的句子還是說謊話的句子。
*   **結果**：研究顯示，即使模型說假話，它內心也可能覺得「怪怪的」，而這個測謊器的準確度還蠻準的。

### 四、自我解釋法：直接問模型

由於 LLM 會說話，今天有許多可解釋性的問題，可以直接問模型來解決。

#### 1. 提問即解釋

*   如果你想知道模型為何將新聞歸類為「社會類」，可以直接問它「請解釋為什麼這篇新聞屬於社會類」，它就會提供一個解釋。
*   LLM 甚至可以根據**解釋對象的不同**提供客製化解釋。例如，要求模型以五歲小孩能理解的方式解釋新聞分類，它會使用小孩能懂的詞彙。

#### 2. 取代複雜的技術計算

*   **詞彙重要性**：過去需要計算梯度來判斷詞彙對輸出的影響，今天可以直接要求模型輸出**對每個字判斷的信心分數**。
*   **信心分數 (Confidence Score)**：過去需要觀察輸出 Token 的**機率分佈**來判斷模型的信心程度。今天可以直接要求模型提供其對答案的**信心分數**。
    *   研究顯示，模型直接輸出的信心分數，其準確度與觀察機率分佈相當，甚至可能更高一點。

#### 3. 自我解釋的局限性與風險

*   **解釋不一定可信**：模型提供的解釋並不保證是可信的。
*   **人類暗示影響**：如果使用者暗示 LLM 答案是 B，它就會選擇 B。但當要求它解釋為何選擇 B 時，它會**瞎掰一個理由**，但**完全沒有意識到自己是受到人類暗示的影響**才做出選擇。
*   這表明，即使模型能提供看似合理的解釋，其心裡想的和它說出來的解釋可能並不一樣。

### 五、總結與未來方向

*   目前有兩大類 LLM 可解釋性方法：
    1.  **神經網路分析法**：直接分析模型內部。**限制**：需要模型是開源的 (Transparent)，對 GPT 這種線上模型難以實現。
    2.  **要求模型解釋法**：直接詢問模型。**限制**：不保證可信。
*   **未來趨勢**：兩大類方法將會結合使用。
    *   例如，先要求模型提供書面解釋，然後再對其進行**內部測謊**，以驗證其解釋的真實性。


---
其他課程:

[【生成式AI導論 2024】00~02 生成式AI介紹](https://hackmd.io/@JuitingChen/ByiS0S_Aex)
[【生成式AI導論 2024】03~05 訓練不了人工智慧？你可以訓練你自己](https://hackmd.io/@JuitingChen/SJZdX5KAlx)
[【生成式AI導論 2024】06~08 大型語言模型修練史](https://hackmd.io/@JuitingChen/H1vfEqYCee)
[【生成式AI導論 2024】09~11 AI Agent、Transfoermer、可解釋性](https://hackmd.io/@JuitingChen/BybEB9KRxx)
[【生成式AI導論 2024】12~14 淺談檢定大型語言模型能力和大型語言模型相關的安全性議題](https://hackmd.io/@JuitingChen/ByyxUcY0le)
[【生成式AI導論 2024】15~16 生成式人工智慧的生成策略 和 Speculative Decoding](https://hackmd.io/@JuitingChen/H1sW_mfJZg)
[【生成式AI導論 2024】17~18 有關影像的生成式AI 和 GPT-4o 可能的語音技術](https://hackmd.io/@JuitingChen/S1uFKmG1Zx)