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
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