一文搞懂大模型的向量化(Embedding)
今天來聊一聊 BERT 和 GPT 的向量化,從而瞭解大模型的第二步:Embedding。
Embedding(嵌入)是大語言模型(如 BERT 和 GPT)的核心組件,其作用是將人類語言轉換爲機器能理解的數值向量。這一過程類似於爲每個詞、子詞或符號賦予一個 “數字身份證”,使得模型能夠捕捉語義信息,讓相似的詞(如 “快樂” 和“高興”)在向量空間中距離更近。
一、BERT(Token + Segment + Position)
BERT 的 Embedding:三元嵌入融合
一、工作流程:
BERT 的 Embedding 包括三個部分:Token Embeddings(詞嵌入)、Segment Embeddings(分段嵌入)和 Position Embeddings(位置嵌入)。
Embeddings = Token Embeddings + Segment Embeddings + Position Embeddings
(1)Token Embeddings
將輸入文本中的單詞或子詞映射爲固定維度的向量(如 BERT-base 爲 768 維)。技術上使用 WordPiece 分詞算法處理文本,解決未登錄詞(OOV)問題。例如,“playing” 被拆分爲 “play” 和 “##ing”。
同時在輸入序列頭部添加特殊標記 [CLS](用於分類任務)和 [SEP](分隔句子)。
例如,句子 “my dog is cute. he likes playing” 處理爲[CLS] my dog is cute [SEP] he likes play ##ing [SEP]。
(2)Segment Embeddings
區分不同句子(如問答對中的問題和答案),用 A 標識第一個句子(如問題),B 標識第二個句子(如答案)。當單句輸入時,所有位置標記爲 A。這樣使得 BERT 的 Embedding 設計更注重理解(如問答)。
例如,輸入[CLS] my dog is cute [SEP] he likes **play ##ing [SEP]**
中,[CLS] my dog is cute [SEP] 對應全 A, he likes **play ##ing [SEP]**
對應全 B。
(3)Position Embeddings
編碼單詞在序列中的位置信息,用於解決長距離依賴問題,通過可訓練的絕對位置嵌入表示位置信息,最大支持 512 個位置。每個位置(0~511)對應一個可學習的向量,與 Token Embedding 維度一致。
例如,輸入[CLS] my dog is cute [SEP] he likes **play ##ing [SEP]**
中,位置編碼分別對應 0-10(11 個位置向量)。
二、專業術語:
忽略:WordPiece 算法、可訓練的絕對位置嵌入
關注:固定維度的向量(768 維)、Token Embeddings(詞嵌入)、Segment Embeddings(分段嵌入)和 Position Embeddings(位置嵌入)
二、GPT(Token + Position)
GPT 的 Embedding:雙元嵌入簡化
GPT 的 Embedding 層僅包含 Token Embedding 和 Position Embedding,捨棄 Segment Embedding。
Embeddings = Token Embeddings + Position Embeddings
(1)Token Embeddings
採用與 BERT 相似的詞向量映射,但基於自迴歸任務優化生成能力。GPT 使用字節對編碼(BPE)進行分詞,Token Embedding 維度更高(如 GPT-3 爲 12288 維)。
(2)Position Embeddings
使用可學習的絕對位置編碼(如 GPT-3 的 12288 維向量),或旋轉位置編碼(RoPE)增強長文本處理能力。在生成長文本時,RoPE 允許模型處理超過訓練長度的序列(如 4096→8192)。
GPT 專注於單向生成任務,無需區分句子邊界,因此捨棄 Segment Embedding,從而簡化嵌入結構以提升效率。
二、專業術語:
忽略:自迴歸任務、字節對編碼(BPE)、旋轉位置編碼(RoPE)
關注:Token Embeddings(詞嵌入)和 Position Embeddings(位置嵌入)
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/h_BiYk3miUZC9jPmQCOHbA