# [2025李宏毅ML] 第1講:一堂課搞懂生成式人工智慧的技術突破與未來發展 :::success :+1: 筆記全集Book 請至: https://hackmd.io/@4j/r1U_UJ_pye/ ::: :::info 2025生成式AI時代下的機器學習_李宏毅 課程網站 https://speech.ee.ntu.edu.tw/~hylee/ml/2025-spring.php video: https://www.youtube.com/watch?v=QLiKmca4kzI pdf: https://speech.ee.ntu.edu.tw/~hylee/ml/ml2025-course-data/introduction.pdf ::: :::spoiler 目錄 [TOC] ::: 請回顧精華片段 ![image](https://hackmd.io/_uploads/Sk6r4zqq1e.png =500x) "想投影片的內容" 才是最花時間的!!(老師不可取代的地方) ![image](https://hackmd.io/_uploads/HkpKuzcqkg.png =500x) ## 思考(Reasoning) 像是腦內小劇場 ![image](https://hackmd.io/_uploads/S1Uodfcqyl.png =500x) ▪ AI Agent ![image](https://hackmd.io/_uploads/H17f1m951g.png =500x) Deep Research 也有點 AI Agent 的能力 隨著搜尋到的結果不同 改變要搜尋的內容 ## 運作機制 ![image](https://hackmd.io/_uploads/SkVTw8Jjyg.png =500x) ==> 複雜物件 由 **有限的**基本單位 構成 多個有限的選擇 可組合成近乎無窮的可能 基本單位可能是文字、像素、取樣點等 token ![image](https://hackmd.io/_uploads/rkyyu81j1x.png =500x) 策略:根據固定的次序每次只產生一個 yi 稱作 **Autoregressive Generation** (像文字接龍) ![image](https://hackmd.io/_uploads/Bk3G_IyiJe.png =500x) 給一串token, 決定下一個token(的機率分佈)(選擇題) 也可把多模態的 token 集合起來生成 ▪ 怎麼決定下一個 token 答案往往不是唯一 故讓他產生機率分布 再去擲骰子決定答案(每次輸出可能不同) ![image](https://hackmd.io/_uploads/rkdUr_1oyg.png =500x) 深度學習:多個Layer ![image](https://hackmd.io/_uploads/ByGvrOJsJl.png =500x) ![image](https://hackmd.io/_uploads/BJMdHdJo1e.png =500x) 深度學習:像是把 複雜問題 拆解成簡單問題(多個步驟) 反而更有效率 ref: https://www.youtube.com/watch?v=KKT2VkTdFyc ![image](https://hackmd.io/_uploads/r1XtK_JsJx.png =500x) 困難的問題需要思考很多步,Layer 不夠 ==> **深度不夠,長度來湊** (Testing Time Scaling) ![image](https://hackmd.io/_uploads/SkLbsuyikg.png =500x) ![image](https://hackmd.io/_uploads/Hk_zsdJsJg.png =500x) 一個layer裡有很多小layer,有考慮 全局/單點 的 **Self-attention Layer**: 產生輸出時,會考慮全部的輸入 ![image](https://hackmd.io/_uploads/Sk5msuksye.png =500x) 含有 Self-attention Layer 的 通常稱為 **Transformer** ![image](https://hackmd.io/_uploads/BJOVsuJiyg.png =500x) ▪ Transformer 的限制? 輸入無法太長 運作會有問題 出現改良版的架構 ==> **Mamba** ![image](https://hackmd.io/_uploads/HyDSsuyokl.png =500x) ## 運作機制是怎麼產生出來的 ![image](https://hackmd.io/_uploads/HyjSJ2ei1l.png =500x) ▪ **架構 architecture** 超參數 (hyperparameter) <-- 所謂的調參數 由開發者(人類)決定 天生資質 ▪ **參數 parameter** 由訓練資料決定 後天學習 ![image](https://hackmd.io/_uploads/BkOmenxjyg.png =500x) 尋找能讓 𝑓𝜃 最能滿足 訓練資料的參數𝜃 ### 通用機器學習模型 "通用" 在歷史上有不同的含義 ![image](https://hackmd.io/_uploads/ByTcenxs1e.png =500x) ▪ **通用機器學習模型:第一型態 (2018-2019)** 僅是個 decoder, 無法直接用 後面需要再外掛一個特化模型才能達到目的 ex: 芝麻街家族模型 ![image](https://hackmd.io/_uploads/HJZYzhljyg.png =500x) ▪ **通用機器學習模型:第二型態 (2020-2022)** 有完整的文字生成功能 但無法用指令操控他 需再微調一下參數 把模型用在不同任務上屬於: 架構相同、參數不同 ![image](https://hackmd.io/_uploads/SJctGhlikg.png =500x) ▪ **通用機器學習模型:第三型態 (2023)** 用在不同任務上時,不需再做模型的調整,直接下指令即可 ![image](https://hackmd.io/_uploads/SJv5f2gikg.png =500x) 回顧 ref: Pre-train https://youtu.be/cCpErV7To2o?s Fine-tune https://youtu.be/Q9cNkUPXUB8?s RLHF https://youtu.be/v12IKvF6Cj8? ## 怎麼賦予新的能力 機器的終身學習(Life-long Learning)時代 ![image](https://hackmd.io/_uploads/HyYTZ6eiJl.png =500x) ![image](https://hackmd.io/_uploads/ByX1Gaxs1l.png =500x) prompt的調整(給他需求資訊) 此種模型的參數是固定的 不會永遠改變行為 (一旦移除指令 他就會復原) ![image](https://hackmd.io/_uploads/B1q7MTgjyx.png =500x) 若希望他永久具備新技能 --> 就需 **改變參數** ▪ **微調(fine-tune)** 要注意可能使原始能力下降 不是個容易事 是最後的手段! (提醒:應該先確定不微調就無法具備目標能力,才選擇微調) ![image](https://hackmd.io/_uploads/Hy2vfagoye.png =500x) ChatGPT有介面可輸入資料 微調參數 https://platform.openai.com/docs/guides/fine-tuning ![image](https://hackmd.io/_uploads/HyvQN6ejJx.png =500x) 微調 可能使模型原始的能力錯亂 Q:我們只想要改基礎模型的一個小地方 有必要麻煩到去微調參數嗎? ![image](https://hackmd.io/_uploads/BkbJS6li1g.png =500x) ▪ **模型編輯(Model Editing)/ 類神經網路編輯** 直接找出有關的參數 人工手動修改! ref: 第八講 作業八 ![image](https://hackmd.io/_uploads/rkh1rpxokx.png =500x) ▪ **Model Merging** 在沒有訓練資料下 直接合體兩個模型的能力 ref: 第九講 作業九 ![image](https://hackmd.io/_uploads/Sy6eSTxskl.png =500x) -- END --