AI CENTER
  • ABOUT
    • Our Mission
    • Our People​
    • OUR EVENT
    • Our Equipment
    • Our Space
    • Our Logo
    • Our Publication
  • Our research
    • Research Topic
    • PROJECTS
    • Digital Twin
  • Our Educational Programs
    • Summer Internship Program
    • DOCTORAL PROGRAM
    • courses
  • Contact
  • Search
  • BLOG

BLOG

理解大型語言模型(LLM)如ChatGPT

5/12/2025

0 評論

 
理解大型語言模型(LLM)如ChatGPT
(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 經過篩選的文本資料。
預訓練步驟:
  • 數據收集 (Data Collection):像 Common Crawl 這樣的數據集提供涵蓋數十億個網頁的網路爬取數據(Web-Scraped Data)。這些數據會經過過濾以排除低品質內容,例如垃圾郵件 (Spam)、成人內容(Adult Content) 和惡意軟件 (Malware)。
  • 文本提取 (Text Extraction):將 HTML 數據 (HTML Data) 處理成純文本 (Plain Text),移除不相關的內容,如導覽列 (Navigation Bars) 和廣告 (Advertisements)。
  • 語言過濾 (Language Filtering):數據會根據主流語言進行過濾。例如,FineWeb 強調英文內容以提升模型在英文中的表現,但這同時也代表模型在其他語言上的表現會不太好。
  • PII 移除 (PII Removal):出於隱私原因,會移除個人識別信息 (Personally Identifiable Information, PII),如地址和電話號碼。
圖片
分詞(Tokenization)
為了實現高效學習,文本必須轉換成一個有限的符號集合,並將文本以這些符號組成的一維序列輸入至模型,將文本轉換成符號的過程稱作「分詞」(tokenization)。分詞將文本分解為較小的單元,稱為標記(token),以便模型進行處理。例如,GPT-4 的分詞器包含 100,277 個標記,以高效編碼語言。
分詞步驟 (Steps in Tokenization)
  • UTF-8 編碼 (UTF-8 Encoding):將文本轉換為二進制序列。
  • 子詞單位合併 (Byte-Pair Encoding, BPE):將經常出現的模式合併成獨特的標記,以提升壓縮和處理效率。
  • 程式碼與工具轉換:分詞不僅限於自然語言,還可將各種操作 (如 Python 程式碼等) 轉換為特殊符號。這些符號可在模型生成內容時轉化為具體的程式碼指令,並通過整合的工具執行,從而增強模型在編程輔助方面的靈活性和準確性。


圖片
Tokenization: 每個字詞在這個步驟會被分割成特定的 “token”,這些token 會一一編號後,成為 LLM 在組成段落、句子時的最小單元。
神經網絡訓練 (Neural Network Training)
神經網絡訓練 (Neural Network Training) 在使模型能夠預測序列中下一個標記方面至關重要。
  • 模型會基於一個「標記窗口」(Token Window) 進行訓練,(ex: 4,000–16,000 個標記/窗口),模型從數據中提取一段標記窗口,這段標記窗口稱之為「上下文」(Context),用於預測接下來的標記。
  • 上下文輸入後會先經過處理,轉換成向量等能在神經網路中表示的形式。
  • 神經網絡(Neural Network)由許多數學表達式組成,為潛在的下一個標記分配概率,並在訓練過程中不斷調整數學式的參數以提高準確性。




圖片
LLM在訓練時,會依照文本中的看過的4個tokens,去生成每個token是第5個token的機率。而文本中正確的token會透過逆運算法,修正每個token的機率,讓正確的那個token成為最可能的選項。
訓練完成後,LLM 進行推理 (Inference),即根據使用者輸入生成新文本的過程。
  • 模型會根據計算的機率分佈 (Probability Distribution),抽取下一個相對可能的標記作為預測結果,並將此結果再次輸入進行預測。
  • 每個標記的預測都會影響後續標記的選擇。
  • 這個過程是隨機的,可能會產生出數據中並不存在的回應,因此推理的結果更像數據的混合而並非重現數據的內容。
後訓練 (Post-Training):模型優化 (Refining the Model)將基礎模型轉變成像 ChatGPT 這樣的互動式助手,需要一個稱為後訓練 (Post-Training) 的關鍵階段。這包括:
  • 使用包含對話數據 (Conversation Data) 的專門數據集 (Specialized Datasets) 對模型進行微調 (Fine-Tuning)。
  • 人工標注 (Human-in-the-loop) 過程,標註者創建理想的對話示例 (Ideal Conversational Examples),供模型模仿。
  • 利用 LLM 自身生成的合成數據 (Synthetic Data) 來增強學習。
圖片
在LLM已經完成訓練後,為了讓他成為助手,訓練資料集當中會引入多個對話的情境,後續使用上只要把問題寫成“Human:你的問題”,並預留“Assistant:”,LLM就會理解這個模式,從而達到為使用者解答的功用。
管理幻覺 (Managing Hallucinations)
LLM 設計中的一個關鍵挑戰是減少「幻覺 (Hallucination)」,一種模型本身的模仿行為而編造出錯誤信息的情況。常見的應對方法是在訓練樣本中加入「當模型無法確定答案時,應回答『我不知道 (I don’t know)』」的示例,讓模型根據自身的知識拒絕給出答案。
圖片
在對話的資料集中,如果我們只有引入,有問必答的模式,當LLM被問到他沒有學習過的問題時,也會學著之前很自信的回答的模式,很肯定的出現幻覺。
專家標注者的角色 (The Role of Expert Labelers)
儘管 AI 驅動的數據集創建已經提升,專家標注者 (Expert Labelers) 仍在設計指令集 (Instruction Sets) 方面發揮關鍵作用。例如:
  • 開發者設計結構化提示詞 (Structured Prompts),指引模型模擬理想的對話行為。
  • 這些標註指引提升了模型的有用性 (Helpfulness)、真實性 (Truthfulness) 及無害性 (Harmlessness)。
強化學習 (Reinforcement Learning)強化學習的目的在於使模型更加進步,是一個最佳化的過程,藉由trial-and-error的方式,使機器本身思考策略,並正確的完成任務。
  • 回饋模型 (Reward Model)
提供反饋讓比較好的回應能得到更高的分數,提高該回應出現的機率,使用回饋模型的好處在於語言模型能得到及時回應,不需等人類反饋。
  • 對抗性例子(Adversarial Examples)
在強化學習的過程中,總是能找出使模型得分的方式,創造出獲得高分卻不合理的結果,這些結果稱之為對抗性例子,因此必須在適當的時機中止,並調整獎勵機制,不過不論如何調整,RL最終都無可避免地會產生出對抗性例子。

​
圖片
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) 的溝通與自動化的未來。
#Llm #Andrej Karpathy #Review
0 評論



發表回覆。

    作者

    寫一些關於自己的事。不必花俏,簡單描述即可。

    封存檔

    五月 2025
    四月 2025

    類別

    全部
    LLM
    RAG

    RSS 訂閱

圖片

​©
NCREE - NTUCE Joint Artificial Intelligence Research Center. All Rights Reserved.
Address : 台北市大安區辛亥路三段200號
Email : [email protected]
  • ABOUT
    • Our Mission
    • Our People​
    • OUR EVENT
    • Our Equipment
    • Our Space
    • Our Logo
    • Our Publication
  • Our research
    • Research Topic
    • PROJECTS
    • Digital Twin
  • Our Educational Programs
    • Summer Internship Program
    • DOCTORAL PROGRAM
    • courses
  • Contact
  • Search
  • BLOG