(Deep Dive into LLMs Like ChatGPT) 本篇為根據Andrej Karpathy所發布的Deep Dive into LLMs like ChatGPT分享讀書筆記。 ✨ Inspired by “Deep Dive into LLMs like ChatGPT”(Karpathy, 2023) ✨ 團隊成員來自國震中心與台大土木合設AI研究中心(NCREE — NTUCE Joint Artificial Intelligence Research Center) 前言 大型語言模型是一種強大的人工智慧系統,專為處理和生成基於大量網路數據的文字而設計,其能力建立在深度學習技術之上。最基礎的概念則是用以預測文字序列。 下圖為構建大型語言模型的不同階段與其中的關鍵步驟,訓練模型的步驟就如人們學習新知,首先需要了解背景知識,接著參考已知的問題與解法,最後再透過練習題內化成自身的知識,本篇接下來的內容也將依此順序做介紹。 預訓練過程 (The Pre-training Process) 建構大型語言模型的第一階段為預訓練。這個階段需要獲取大量且具有多樣性的文本,過程中利用這些數據集來幫助模型擁有大量知識並發展語言理解能力。FineWeb 數據集是一個典型例子,包含約 44 TB 經過篩選的文本資料。 預訓練步驟:
分詞(Tokenization) 為了實現高效學習,文本必須轉換成一個有限的符號集合,並將文本以這些符號組成的一維序列輸入至模型,將文本轉換成符號的過程稱作「分詞」(tokenization)。分詞將文本分解為較小的單元,稱為標記(token),以便模型進行處理。例如,GPT-4 的分詞器包含 100,277 個標記,以高效編碼語言。 分詞步驟 (Steps in Tokenization)
Tokenization: 每個字詞在這個步驟會被分割成特定的 “token”,這些token 會一一編號後,成為 LLM 在組成段落、句子時的最小單元。 神經網絡訓練 (Neural Network Training) 神經網絡訓練 (Neural Network Training) 在使模型能夠預測序列中下一個標記方面至關重要。
LLM在訓練時,會依照文本中的看過的4個tokens,去生成每個token是第5個token的機率。而文本中正確的token會透過逆運算法,修正每個token的機率,讓正確的那個token成為最可能的選項。 訓練完成後,LLM 進行推理 (Inference),即根據使用者輸入生成新文本的過程。
在LLM已經完成訓練後,為了讓他成為助手,訓練資料集當中會引入多個對話的情境,後續使用上只要把問題寫成“Human:你的問題”,並預留“Assistant:”,LLM就會理解這個模式,從而達到為使用者解答的功用。 管理幻覺 (Managing Hallucinations) LLM 設計中的一個關鍵挑戰是減少「幻覺 (Hallucination)」,一種模型本身的模仿行為而編造出錯誤信息的情況。常見的應對方法是在訓練樣本中加入「當模型無法確定答案時,應回答『我不知道 (I don’t know)』」的示例,讓模型根據自身的知識拒絕給出答案。 在對話的資料集中,如果我們只有引入,有問必答的模式,當LLM被問到他沒有學習過的問題時,也會學著之前很自信的回答的模式,很肯定的出現幻覺。 專家標注者的角色 (The Role of Expert Labelers) 儘管 AI 驅動的數據集創建已經提升,專家標注者 (Expert Labelers) 仍在設計指令集 (Instruction Sets) 方面發揮關鍵作用。例如:
RL的特點在於基於一個題目,請模型生成多次的回答,並只給予正確的回覆正回饋,這麽做優點是,RL能夠重複無數次,理論上結果只會越來越好。 基於人類反饋的強化學習(Reinforce Learning from Human Feedback) 針對難以給定標準答案的問題,由另外訓練的評分模型,依據人類的喜好順序給予模型回饋,讓模型在這能夠給出更佳貼近人們喜好的回覆 RLHF is not RL
RLHF is not RL. --@time=3:05:03 講者在影片中提到,RLHF並非是RL,其實是在強調 Reinforcement Learning from Human Feedback(RLHF)雖然表面上屬於強化學習(Reinforcement Learning, RL)的範疇,但本質上卻有一些關鍵性的不同。RLHF 的學習信號並非來自環境的即時回饋(如傳統 RL 中的 reward function),而是依賴人類提供的偏好排序或評價,這讓整個學習過程更像是在擬合人類偏好,而不是在最大化一個可微分、可遞迴優化的獎勵函數。 由於人類的回饋資料是有限、間接且帶有雜訊的,RLHF 在訓練過程中很難透過類似傳統 RL 的 trial-and-error 機制不斷逼近最優策略。此外,RLHF 通常僅使用一輪或少量迭代的策略優化(如使用 PPO ),而非像傳統 RL 那樣可以持續地與環境互動並自我改進。這也導致了 RLHF 在某種意義上更接近「監督式學習的包裝版本」,而非真正意義上的強化學習。 以學生從課本學習為例,我們在吸收課本知識的過程中,大致可以分為以下幾個階段: 1. 基礎閱讀與理解(對應神經網絡訓練) 這個階段就像是逐字逐句地閱讀課本內容,有時也會記住一些關鍵片段。當未來遇到類似的內容時,我們會以一定的機率回想起來,或者加以改寫、應用。這種方式對應到神經網絡的基礎訓練,模型學會在大量資料中提取模式,形成初步理解。 2. 跟著例題練習(對應監督式微調 SFT) 接著,我們會開始嘗試課本中的範例題目。這些例題本身就有完整的標準解答,因此我們是依照正確解法來學習,訓練自己的解題步驟與邏輯。這個階段像是監督式微調,模型根據標準答案學習「如何正確地回應」。 3. 挑戰課後習題(對應強化學習 RL) 當我們進入課後練習階段,題目不再附有解答,我們必須自己嘗試解題,然後根據是否正確來得到回饋。這是一種透過反覆試錯、修正策略的學習方式,也就是強化學習的典型模式。 4. 練習開放式申論題(對應 RLHF) 最後,有些題目沒有明確的標準答案,像是申論題或開放式問答,評分則依賴助教或老師的主觀判斷。我們根據這些偏好性的評分來調整自己的表達方式,學會如何更符合閱卷者的期待。這就如同強化學習中結合人類回饋的做法,模型不再單純追求正確性,而是學習符合人類價值與偏好。 結論 (Conclusion)理解像 ChatGPT 這樣的大型語言模型的設計與開發過程,能夠揭示這些系統背後的巨大複雜性和強大能力。透過結合先進的神經網絡 (Neural Networks)、全面的數據集 (Datasets) 以及強大的後訓練技術 (Post-Training Techniques),大型語言模型正在塑造AI 驅動 (AI-Driven) 的溝通與自動化的未來。
0 評論
發表回覆。 |