# Predict, sample, repeat
* GPT=Generative Pre-trained Transformer:生成+預訓練+Transformer 為核心架構
* 任務本質是「下一個 token 機率分佈」預測;以「取樣→附加→再預測」迭代生成長文本
* 同架構隨規模提升(如 GPT-2→GPT-3)文本一致性與合理性大幅改善
* Transformer 應用:語音辨識、語音合成、文生圖;最初用於機器翻譯
* 若能檢視每步選詞的機率分佈,能更理解模型的生成決策
# Inside a transformer
* 輸入被切成 tokens(文字子詞/影像小塊/聲音片段)
* 每個 token 映射為向量(embedding);語義相近向量在高維空間更接近
* 注意力模組讓 tokens 彼此交換資訊,依上下文調整語義(例如 model 一詞多義消歧)
* 前饋層(MLP/FFN)對每個向量做相同的非線性變換,像對向量問一串「問題」再更新
* 核心計算皆為矩陣乘法與加總;中間含正規化步驟(略)
* 疊多層「注意力↔前饋」後,最終向量用於產生下一個 token 的機率分佈
* 做成聊天機器人:以 system prompt 設定角色,接著自動續寫回覆;可再加額外訓練強化
# Chapter layout
* 本章聚焦輸入端與輸出端細節,並補齊必要背景知識
* 下一章專講注意力區塊;之後討論 MLP、訓練流程與其餘細節
* 系列為深度學習迷你課程的補充,章節可不完全依序閱讀
# The premise of Deep Learning
* 機器學習以資料決定模型行為;深度學習用大量參數配合反向傳播訓練
* 輸入以實數陣列/張量表示,經多層轉換抵達輸出(如下一個 token 的分佈)
* 參數即「權重」,只透過加權和與資料互動;搭配非線性函數
* 以可微、矩陣化結構確保可擴展訓練與高效計算
* 參考數據:GPT-3 約 175B 參數、約 2.8 萬個矩陣、8 類模組
* 明確區分「權重(學到的規則)」與「資料(當前輸入)」以免混淆
# Word embeddings
* 以固定詞彙表將 token 轉為向量;嵌入矩陣的每一欄對應一詞的向量
* 高維嵌入空間承載語義方向;相似詞接近,不同語義沿不同方向分離
* 向量代數可近似語義推理:king − man + woman ≈ queen;亦可捕捉國別、主題等關係
* 內積(dot product)衡量方向對齊度,可量化如單複數等語義屬性
* GPT-3 例:詞彙約 50,257、嵌入維度 12,288,嵌入矩陣約 6.17 億權重
* 視覺化常投影到低維便於理解,但實際表徵與計算發生在高維空間
# Embeddings beyond words
* 嵌入向量不只代表單詞本身,還會吸收上下文與位置等資訊以形成更精細語義
* 例:最初是「king」的向量,經多層處理後可具體到「蘇格蘭、弒君上位、莎士比亞語境」
* 目標是讓每個 token 向量有效融入長距離上下文以提升下一詞預測
* 初始向量僅由嵌入矩陣擷取且無上下文,後續層用於注入語境
* 受限於上下文長度(GPT-3 約 2,048 tokens),超長對話可能導致脈絡遺失
# Unembedding
* 最終輸出為下一個 token 的機率分佈:最後一個向量經反嵌入矩陣得到各詞分數,再用 softmax 正規化
* 訓練時會讓序列中每個位置同時預測其後一個 token 以提高效率
* 反嵌入矩陣行數等於詞彙表大小、列數等於嵌入維度,結構與嵌入矩陣相反
* 參數規模與嵌入矩陣同量級(約 6.17 億),累計超過 10 億但仍遠小於 GPT-3 總參數 1750 億
# Softmax with temperature
* softmax 將任意實數分數轉為機率分佈(非負且總和為 1),大分數對應較高機率
* 實作為對分數取指數後除以總和,使最大者主導、其餘接近 0 且連續可微
* 溫度 T 控制分佈鋒利度;T 越大越平均、創意提高但風險上升;T 越小越保守,T=0 近似永遠取最大值(貪婪解碼)
* 部分 API 將 T 限制在 ≤2 屬產品策略而非數學必然
* 反嵌入乘法後的未正規化分數稱為 logits
# Up next
* 本章建立理解注意力所需基礎:嵌入、softmax、內積相似度、矩陣乘法思維
* 下一章將深入 Transformer 核心的注意力機制(attention)
# Terminlogy
* **生成式模型 (Generative Model)**:一種能夠產生新資料(如文字、圖像或音訊)的機器學習模型。
* **預訓練 (Pre-training)**:在大量未標註或標註資料上進行初始訓練,以獲取一般知識的過程。
* **微調 (Fine-tuning)**:在特定任務或資料集上進一步訓練模型,以提升針對性表現。
* **Transformer**:一種基於注意力機制的深度學習架構,專為處理序列資料設計。
* **注意力機制 (Attention Mechanism)**:一種演算法,允許模型在處理輸入時專注於最相關的部分。
* **自注意力 (Self-Attention)**:讓序列中的每個元素與其他元素互相比較,以更新其表示的方法。
* **多頭注意力 (Multi-Head Attention)**:將注意力機制分成多個平行子空間以捕捉不同語意關係。
* **殘差連接 (Residual Connection)**:在深層網路中直接將輸入加回輸出,以避免梯度消失。
* **層正規化 (Layer Normalization)**:對神經網路層的輸出進行標準化,穩定訓練過程。
* **前饋神經網路 (Feed-Forward Neural Network, FFN)**:對每個向量獨立進行非線性變換的網路層。
* **詞元 (Token)**:將文字拆分成最小單位,如單字、詞片段或標點符號。
* **詞嵌入 (Word Embedding)**:將詞元映射到高維向量空間,以表示其語意。
* **嵌入矩陣 (Embedding Matrix)**:儲存每個詞元對應向量的參數矩陣。
* **向量空間 (Vector Space)**:用多維數字座標表示詞語間語意關係的數學空間。
* **語意相似度 (Semantic Similarity)**:利用向量間距離或角度來衡量詞語間的語意接近程度。
* **點積 (Dot Product)**:一種向量運算,用來衡量兩個向量的方向一致性。
* **概率分佈 (Probability Distribution)**:模型在所有可能輸出上分配的機率。
* **取樣 (Sampling)**:根據概率分佈隨機選取一個輸出結果。
* **自回歸模型 (Autoregressive Model)**:依序預測下一步輸出並將其回饋進模型的架構。
* **序列建模 (Sequence Modeling)**:處理和預測序列資料(文字、語音等)的任務。
* **語境 (Context)**:輸入序列中影響當前詞元意義的周邊資訊。
* **位置編碼 (Positional Encoding)**:在詞向量中加入序列位置資訊以保留順序。
* **矩陣乘法 (Matrix Multiplication)**:深度學習中大量使用的基本線性代數運算。
* **權重 (Weights)**:神經網路中的可訓練參數,決定輸入如何被轉換。
* **超參數 (Hyperparameters)**:在訓練前手動設定的模型參數,例如學習率與層數。
* **梯度下降 (Gradient Descent)**:更新模型權重以最小化損失函數的最佳化方法。
* **反向傳播 (Backpropagation)**:透過誤差訊號計算梯度並更新權重的演算法。
* **損失函數 (Loss Function)**:衡量模型輸出與目標答案差異的函數。
* **交叉熵損失 (Cross-Entropy Loss)**:分類問題中常用的損失函數。
* **過擬合 (Overfitting)**:模型在訓練集表現良好但在新資料上表現差的現象。
* **正則化 (Regularization)**:抑制模型過擬合的技術。
* **隱藏層 (Hidden Layer)**:神經網路中介於輸入與輸出的運算層。
* **激活函數 (Activation Function)**:非線性轉換函數,常見如ReLU與Softmax。
* **Softmax**:將實數向量轉換成概率分佈的函數。
* **批次 (Batch)**:訓練過程中一次處理的輸入樣本集合。
* **批次正規化 (Batch Normalization)**:對小批次資料進行標準化的技術。
* **隨機梯度下降 (Stochastic Gradient Descent, SGD)**:在小批次資料上進行的梯度下降。
* **優化器 (Optimizer)**:控制如何根據梯度更新權重的演算法,如Adam。
* **參數規模 (Parameter Size)**:模型中可訓練權重的總數量。
* **大規模語言模型 (Large Language Model, LLM)**:擁有數十億以上參數的語言模型。
* **語料庫 (Corpus)**:用於訓練模型的大型文字資料集。
* **遮罩機制 (Masking)**:避免模型在訓練時偷看未來資訊的技巧。
* **標記化 (Tokenization)**:將輸入文字分割成詞元的過程。
* **詞彙表 (Vocabulary)**:模型能識別的所有詞元集合。
* **推理 (Inference)**:使用訓練好的模型對新輸入進行預測的過程。
* **延遲 (Latency)**:模型從輸入到輸出所需的時間。
* **並行運算 (Parallelization)**:同時處理多個運算以加速模型計算。
* **GPU 加速**:使用圖形處理器提升深度學習訓練與推理效率。
* **注意力權重 (Attention Weights)**:表示序列中元素彼此影響力的分數矩陣。
* **標籤平滑 (Label Smoothing)**:避免模型對單一答案過度自信的正則化技術。
* **溫度參數 (Temperature)**:控制生成取樣隨機性高低的超參數。
* **向量空間模型 (Vector Space Model)**:以數學向量表示資料與特徵,並透過距離或角度量測相似性。
* **內積空間 (Inner Product Space)**:具備內積定義的向量空間,可用來衡量向量間角度與長度。
* **特徵向量 (Eigenvector)**:在矩陣作用下方向保持不變的非零向量。
* **特徵值 (Eigenvalue)**:特徵向量在矩陣變換後被縮放的比例。
* **奇異值分解 (Singular Value Decomposition, SVD)**:將矩陣分解成三個正交矩陣與對角矩陣的乘積。
* **正交矩陣 (Orthogonal Matrix)**:轉置等於其逆矩陣的矩陣,保持向量長度與角度。
* **單位矩陣 (Identity Matrix)**:對任意矩陣相乘結果不變的矩陣,相當於乘法單位。
* **梯度 (Gradient)**:多變數函數相對於變數的偏導數向量。
* **雅可比矩陣 (Jacobian Matrix)**:多變數向量函數的一階偏導數矩陣。
* **海森矩陣 (Hessian Matrix)**:多變數函數的二階偏導數矩陣,用於曲率分析。
* **凸函數 (Convex Function)**:滿足任意兩點之間線段不低於函數圖形的函數。
* **凸優化 (Convex Optimization)**:針對凸函數進行的優化問題,保證全域最小解。
* **拉格朗日乘子 (Lagrange Multiplier)**:解約束優化問題的數學工具。
* **對偶問題 (Dual Problem)**:原始優化問題對應的等價數學形式,有助於分析與求解。
* **張量 (Tensor)**:廣義化的多維數組,可表示標量、向量與矩陣。
* **秩 (Rank)**:矩陣中最大線性獨立行或列的數量。
* **范數 (Norm)**:衡量向量大小或矩陣幅度的數學工具。
* **L1 範數 (Manhattan Norm)**:向量元素絕對值的總和。
* **L2 範數 (Euclidean Norm)**:向量元素平方和開根號,等同於歐式距離。
* **李普希茲連續性 (Lipschitz Continuity)**:函數輸入變化與輸出變化之間有上界關係的性質。
* **卷積 (Convolution)**:一種數學運算,用於測量函數間的重疊程度。
* **傅立葉變換 (Fourier Transform)**:將訊號轉換到頻率域的數學工具。
* **離散傅立葉變換 (DFT)**:對有限離散訊號進行傅立葉分析。
* **快速傅立葉變換 (FFT)**:高效計算 DFT 的演算法。
* **正定矩陣 (Positive Definite Matrix)**:對任意非零向量,二次型結果大於零的矩陣。
* **半正定矩陣 (Positive Semi-Definite Matrix)**:二次型結果大於等於零的矩陣。
* **投影矩陣 (Projection Matrix)**:將向量映射到子空間的矩陣。
* **秩一更新 (Rank-One Update)**:在矩陣上添加一個外積形式的修正。
* **克羅內克積 (Kronecker Product)**:矩陣的一種張量積,用於構建大矩陣。
* **跡 (Trace)**:矩陣對角線元素的總和。
* **行列式 (Determinant)**:矩陣的一個標量值,表示體積縮放與可逆性。
* **廣義逆矩陣 (Moore-Penrose Pseudoinverse)**:在非方陣或奇異矩陣下的逆矩陣擴展。
* **穩定性分析 (Stability Analysis)**:研究動態系統在擾動下的長期行為。
* **李雅普諾夫函數 (Lyapunov Function)**:用於判斷動態系統穩定性的能量函數。
* **偏導數 (Partial Derivative)**:多變數函數對其中一個變數的導數。
* **鏈式法則 (Chain Rule)**:組合函數的導數計算規則。
* **指數函數 (Exponential Function)**:以 e 為底的函數,廣泛應用於增長與衰減模型。
* **對數函數 (Logarithm Function)**:指數函數的反函數,用於機率與信息理論。
* **KL 散度 (Kullback-Leibler Divergence)**:衡量兩個機率分佈差異的指標。
* **互信息 (Mutual Information)**:衡量隨機變數間共享信息量的數學工具。
* **隨機變數 (Random Variable)**:數值取決於隨機事件的變數。
* **期望值 (Expectation)**:隨機變數的加權平均結果。
* **方差 (Variance)**:隨機變數偏離期望的程度。
* **協方差 (Covariance)**:兩個隨機變數之間的線性關係。
* **主成分分析 (Principal Component Analysis, PCA)**:透過特徵分解找出最大變異方向的降維方法。
* **馬可夫鏈 (Markov Chain)**:未來狀態僅依賴當前狀態的隨機過程。
* **熵 (Entropy)**:衡量不確定性或資訊量的數學概念。
* **信息增益 (Information Gain)**:決策樹中衡量特徵分類能力的指標。
* **隨機過程 (Stochastic Process)**:隨機變數隨時間或空間的集合。
* **布朗運動 (Brownian Motion)**:一種連續時間隨機過程,應用於金融與物理。
* **偏微分方程 (Partial Differential Equation, PDE)**:涉及多變數偏導數的方程式,常見於物理建模。
* **上下文嵌入 (Contextual Embedding)**:經由多層處理後,向量不僅代表詞語本身,還融合上下文語境資訊。
* **位置編碼 (Positional Encoding)**:在詞向量中加入序列位置資訊,以保留詞序。
* **上下文長度 (Context Size)**:Transformer 可同時處理的最大詞元數量。
* **高維向量 (High-Dimensional Vector)**:用大量維度來承載語意與上下文特徵的數學表示。
* **語境漂移 (Contextual Shift)**:嵌入向量隨上下文變化而改變方向與語意的現象。
* **注意力流 (Attention Flow)**:資訊在多層注意力機制中逐步聚合的過程。
* **未嵌入矩陣 (Unembedding Matrix)**:將最終隱藏向量轉換回詞彙分佈的權重矩陣。
* **詞彙機率分佈 (Token Probability Distribution)**:模型在詞彙表中對下一個詞的預測機率。
* **Softmax 函數**:將實數向量轉換為總和為 1 的機率分佈。
* **溫度參數 (Temperature Parameter)**:調整 softmax 分佈的平滑程度,控制隨機性。
* **低溫取樣 (Low-Temperature Sampling)**:偏向選擇機率最高的詞,輸出更穩定但較單調。
* **高溫取樣 (High-Temperature Sampling)**:增加選擇低機率詞的可能性,輸出更具創造性但風險高。
* **極端溫度零 (Temperature = 0)**:總是選擇最高機率的詞,等同於貪婪解碼。
* **機率正規化 (Probability Normalization)**:將非正規化分數轉換為合法機率分佈的過程。
* **對數幾率 (Logits)**:模型最後一層線性變換輸出的未正規化分數。
* **詞彙大小 (Vocabulary Size)**:模型能處理的詞元總數。
* **矩陣轉置 (Matrix Transpose)**:嵌入矩陣與未嵌入矩陣結構上的互為轉置關係。
* **參數共享 (Weight Sharing)**:在嵌入與未嵌入層間共用權重以減少參數數量。
* **多目標預測 (Multiple Target Prediction)**:利用每個位置的隱藏向量同時預測下一詞。
* **訓練效率 (Training Efficiency)**:透過並行預測減少訓練時間的策略。
* **熵正則化 (Entropy Regularization)**:利用分佈熵控制模型輸出的隨機性。
* **隨機性控制 (Stochasticity Control)**:透過溫度與取樣策略調整生成多樣性。
* **最大似然估計 (Maximum Likelihood Estimation, MLE)**:訓練過程中最大化真實詞出現的機率。
* **交叉熵損失 (Cross-Entropy Loss)**:比較預測分佈與真實分佈差異的損失函數。
* **參數規模累計 (Parameter Count Accumulation)**:統計 Transformer 不同模組的總參數數量。
* **輸出層 (Output Layer)**:產生 logits 與最終詞彙分佈的層。
* **詞元對齊 (Token Alignment)**:模型在預測時將最後隱藏向量對應到特定詞元的方式。
* **上下文限制 (Context Limitation)**:因固定長度而導致長文本記憶丟失的問題。
* **序列截斷 (Sequence Truncation)**:長文本超出 context size 時,需裁切前文。
* **概率尖峰 (Probability Peaking)**:低溫 softmax 下分佈高度集中於單一詞的現象。
* **平滑分佈 (Smooth Distribution)**:高溫 softmax 下分佈更均勻的現象。
* **生成退化 (Degeneration in Generation)**:隨機性過高時生成文本崩壞或無意義。
* **Top-k 取樣 (Top-k Sampling)**:僅在前 k 個高機率詞中進行隨機選擇。
* **Top-p 取樣 (Nucleus Sampling)**:僅在累積機率達閾值的子集內進行隨機選擇。
* **對數機率 (Log-Probability)**:softmax 前 logits 的對數尺度解釋。
* **長距離依賴 (Long-Range Dependency)**:模型需捕捉遠距離詞語間關係的能力。
* **上下文遺忘 (Context Forgetting)**:序列過長時,模型遺漏早期資訊的現象。
* **序列矩陣 (Sequence Matrix)**:表示輸入文本序列的多維數值矩陣。
* **輸出正則化 (Output Regularization)**:防止模型過於自信的生成控制手法。
* **候選詞集合 (Candidate Set)**:softmax 分佈中潛在可選詞的集合。
* **詞彙解碼 (Vocabulary Decoding)**:從概率分佈映射回實際詞元的過程。
* **貪婪解碼 (Greedy Decoding)**:始終選擇機率最高詞的生成方法。
* **隨機解碼 (Stochastic Decoding)**:基於機率分佈隨機選詞的生成方法。
* **序列生成 (Sequence Generation)**:透過逐步取樣產生完整文本的過程。
* **分佈熵 (Distribution Entropy)**:衡量預測分佈中不確定性大小的指標。
* **平衡性調整 (Balance Adjustment)**:透過溫度改變高低機率詞間的選擇平衡。
* **詞元預測 (Token Prediction)**:模型對下一詞的機率輸出任務。
* **嵌入維度 (Embedding Dimension)**:詞元向量的數值維度數。
* **向量更新 (Vector Update)**:詞嵌入在多層傳遞中逐步融合上下文資訊。
* **詞彙對應行 (Vocabulary Row Mapping)**:未嵌入矩陣中每行對應一個詞元的權重。
* **非線性歸一化 (Nonlinear Normalization)**:softmax 將線性輸出轉換成非線性機率分佈的過程。