AI時代系列(2) 機器學習三部曲: 🔹 第二部:《深度學習 —— 神經網路的革命》
63/100 第七週:📌 語言模型與生成式 AI(BERT、GPT)🗣🔍
63.GPT 架構與自回歸生成 ✏ 一個字一個字寫出來的神奇魔法!
________________________________________
🎯 單元導讀:
你是否想過:ChatGPT 是如何一字一句流暢地寫出一篇文章或回答問題的?
答案就在 GPT 模型背後的神奇機制——自回歸語言模型(Autoregressive Language Model)。
GPT(Generative Pretrained Transformer)透過 逐字生成,一步步延伸語句,是目前最強大的語言生成模型之一。
________________________________________
🧠 一、什麼是 GPT?
🔷 定義:
GPT(Generative Pre-trained Transformer)是由 OpenAI 所提出的一種自然語言處理模型,專門用於文字生成(Generative),其架構完全基於 Transformer 中的 Decoder 結構,屬於自回歸語言模型(Autoregressive Language Model)。
🔁 自回歸語言建模(Autoregressive LM):
這個公式就是在說:
「整段文字出現的機率,是每個字在它前面所有字已經出現的前提下,它自己出現的機率的總乘積。」
這種方式就是 GPT 模型「逐字預測」的數學基礎。模型每次只看前文,不看後文,是單向(Left-to-Right)建模。這也是 GPT 與 BERT 最大的差別之一(BERT 是雙向)。
✅ 解釋:
📌 類比:GPT 的寫作過程就像是一個作家,每次只讀取前面寫過的句子,然後試著猜下一個字或詞。
✏️ 舉例說明:
假設一個句子是:「我 愛 你」,這句話有 T=3 個詞(token):
P(我 愛 你)=P(我)⋅P(愛∣我)⋅P(你∣我 愛)
這就說明:
第 1 個詞「我」的出現機率是 P(我)
接著在「我」出現後,產生「愛」的機率是 P(愛 | 我)
最後在「我 愛」已出現後,預測「你」的機率是 P(你 | 我 愛)
________________________________________
✨ 二、GPT 的訓練流程
首先是預訓練(Pretraining),模型會閱讀大量網路語料(如書籍、文章、程式碼等),透過從前文預測下一個詞的方式進行語言學習,建立基本的語言理解與生成能力。接著進入微調(Fine-tuning)階段,針對特定任務如對話、摘要、翻譯、問答等,進行資料標註與調整,讓模型能應用在實際任務上。最後是指令微調與強化學習人類回饋(RLHF),透過人類給予的評分與偏好訓練,進一步讓模型的回應更符合使用者期待,像是 ChatGPT 就使用了這個技術,使其更懂得「如何對話」。
________________________________________
🏗 三、GPT 架構核心:Decoder-only Transformer
元件 功能說明
Token Embedding 將詞彙轉為向量
Positional Encoding 加入順序資訊
多層 Decoder Block 每層含:Masked Self-Attention + FeedForward
Linear + Softmax 輸出詞彙機率分布
✅ 重點特色:
• 使用 Masked Self-Attention:只能看到前面 token,不能偷看未來
• 模型每一步只知道「到目前為止已生成的文字」
________________________________________
✏ 四、生成文字的步驟(推論時)
假設起始語句為:
"The future of AI is"
GPT 將依序產生:
→ "The future of AI is bright"
→ "The future of AI is bright and"
→ "The future of AI is bright and exciting"
➡️ 每一次輸出都只基於前面的詞進行預測與延伸
________________________________________
🧩 五、GPT 系列演進簡述
模型版本 特點
GPT 最初版本, 開啟 Decoder-only 自回歸架構
GPT-2 大規模訓練,具備基本生成能力(未開源全文)
GPT-3 引入 175B 參數,支持 few-shot、zero-shot 學習能力
GPT-3.5 + 對話優化 + RLHF(人類偏好強化學習)
GPT-4 支援圖文輸入、邏輯推理更強、多語言能力提升
________________________________________
📊 六、BERT vs GPT 簡易對照
BERT 和 GPT 是兩種基於 Transformer 架構的語言模型,但設計理念與應用方向不同。BERT 採用 Encoder 架構,透過遮蔽(Masked)語言模型來學習詞與詞之間的雙向關係,特別適合用於理解類任務,如文本分類、命名實體辨識與問答系統。
相對地,GPT 採用 Decoder 架構,使用自回歸語言模型,從左至右逐字生成文字,因此擅長於創造式任務,像是寫作、對話、摘要等。在推論階段,BERT 是「填空型」模型,不會主動生成文字;而 GPT 則是「寫作型」模型,會一個字一個字地依序生成文字,構成連貫的句子與篇章。
________________________________________
🧪 七、小結與學習啟示:
✅ GPT 使用自回歸策略,讓模型學會在「每一步預測」中延伸語句
✅ 單純 Decoder 結構,簡潔卻強大,適合文字生成與對話應用
✅ 是 ChatGPT、寫詩機器、AI小說家的核心技術基礎!
________________________________________
💬 問題挑戰與思考:
💡 1. 為什麼 GPT 要遮住未來詞?如果不遮會發生什麼事?
GPT 採用自回歸(Autoregressive)語言建模,其訓練目標是「只根據前文預測下一個詞」。
為了模擬這個生成過程,模型在訓練時必須遮住未來的詞(即使用 causal mask),確保每一個位置只看到前面的資訊。
✅ 如果不遮住未來詞(改成像 BERT 一樣看到整句):
• 模型會偷看到答案,失去語言生成所需的因果順序。
• 模型學到的就不是自然的語言序列生成,而是類似填空的任務,將無法正確地「一個字一個字」地進行創作。
📌 結論:遮住未來詞是為了保持生成任務的因果性與語言連貫性,這是 GPT 的根本特性。
________________________________________
💡 2. 與 BERT 相比,GPT 在問答任務上表現如何?需額外設計哪些機制?
BERT 本身就是為問答等理解任務而設計,能同時讀取上下文,非常適合從文章中定位答案(如 SQuAD 問答)。
GPT 則是生成模型,要在問答任務中表現良好,需透過以下方式進行調整:
🔧 補充機制:
• 📘 Prompt 設計:以「問句 + 文本」的方式設計 prompt,讓模型知道問題與參考內容。
• 🧠 指令微調(Instruction Tuning):如 ChatGPT 所用,加入大量問答範例來訓練模型理解問答任務。
• 🧮 檢索強化生成(RAG)或檢索式問答(Retrieval-Augmented QA):讓 GPT 查資料後再作答,提高正確率。
• 🗃️ 知識微調(Fine-tune on QA Datasets):用特定 QA 資料集微調,如 Natural Questions、TriviaQA。
📌 結論:GPT 若無額外設計,較不擅長定位式問答,但經過指令微調與檢索機制後,其在開放性問答表現非常強大,甚至超越傳統 BERT。
________________________________________
💡 3. 如何提升 GPT 在生成過程中的「一致性」與「創意平衡」?
在生成任務中,最大的挑戰是如何在「內容合理」與「表達有創意」之間取得平衡。為此,我們可透過多種技術手段來調整生成行為。例如,溫度(Temperature)控制可調整生成的隨機性,溫度低時結果更穩定、保守,溫度高則能帶來更多創意與變化;Top-k 或 Top-p 抽樣則限制模型只從最可能的詞中選擇,避免產生不相關內容。
為了提升語意一致性,還可導入**長程記憶機制與鏈式思考策略(CoT)來追蹤上下文邏輯,維持語境連貫。最後,透過強化學習結合人類回饋(RLHF)**訓練,能讓模型更貼近人類偏好與常識表達。整體來說,「一致性」仰賴上下文記憶與邏輯推理,而「創意」則需透過機率控制與多樣性策略來實現,兩者需根據應用場景進行動態調整與平衡。