一文搞懂大模型的向量化(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