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)
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.