從零學(xué)習(xí)大模型(1)——Transformer架構(gòu):原理、演進(jìn)與AI領(lǐng)域的顛覆性影響

0 評論 1914 瀏覽 2 收藏 17 分鐘

在深度學(xué)習(xí)的發(fā)展歷程中,2017 年谷歌團(tuán)隊發(fā)表的《Attention Is All You Need》論文具有里程碑意義 —— 該論文提出的 Transformer 架構(gòu),徹底改變了自然語言處理(NLP)乃至人工智能領(lǐng)域的技術(shù)路徑。與傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)、卷積神經(jīng)網(wǎng)絡(luò)(CNN)不同,Transformer 以 “注意力機(jī)制” 為核心,實現(xiàn)了并行化計算與長序列依賴建模的雙重突破,成為當(dāng)前所有大型語言模型(如 GPT、BERT)的基礎(chǔ)架構(gòu)。本文將從技術(shù)原理、架構(gòu)設(shè)計、演進(jìn)歷程及應(yīng)用價值四個維度,系統(tǒng)解析這一革命性模型。

一、Transformer 的誕生:解決序列建模的核心痛點

在 Transformer 出現(xiàn)前,序列數(shù)據(jù)(如文本、語音)的處理長期依賴 RNN 及其變體(如 LSTM、GRU)。這類模型通過 “循環(huán)結(jié)構(gòu)” 按順序處理輸入(如逐詞分析句子),但存在兩個難以克服的缺陷。

第一個缺陷是并行計算能力缺失,RNN 的 “當(dāng)前輸出依賴前一步結(jié)果” 的特性,使其無法利用 GPU 的并行計算優(yōu)勢(GPU 擅長同時處理多個任務(wù))。例如,處理一個 100 詞的句子,RNN 需依次計算 100 步,而 GPU 的數(shù)千個核心只能閑置等待,導(dǎo)致訓(xùn)練效率極低。第二個缺陷是長距離依賴建模失效,當(dāng)序列過長時,早期信息會在循環(huán)傳遞中逐漸 “衰減”(即 “梯度消失問題”)。例如,在 “小明買了冰淇淋,他把它吃了” 這句話中,RNN 難以識別 “它” 與 “冰淇淋” 的關(guān)聯(lián),因為兩者之間存在多個分詞間隔。

CNN 雖能通過卷積核實現(xiàn)局部并行計算,但依賴 “滑動窗口” 提取特征,無法直接建模全局語義關(guān)聯(lián)(如句子首尾的邏輯關(guān)系),且對序列長度敏感(固定卷積核難以適配不同長度的文本)。

針對這些痛點,Transformer 提出了全新解決方案:完全基于注意力機(jī)制,摒棄循環(huán)與卷積結(jié)構(gòu)。通過 “并行計算所有分詞的關(guān)聯(lián)關(guān)系”,既解決了 RNN 的效率問題,又通過 “全局注意力” 捕捉長距離依賴,成為序列建模的 “最優(yōu)解”。

二、Transformer 核心架構(gòu):編碼器 – 解碼器的協(xié)同設(shè)計

Transformer 的架構(gòu)遵循 “編碼器 – 解碼器” 框架,就像兩個人配合完成任務(wù):編碼器負(fù)責(zé) “聽懂” 輸入,解碼器負(fù)責(zé) “說出” 輸出。

1.? 輸入處理:將文本轉(zhuǎn)化為 “可理解的信號”

計算機(jī)無法直接理解文字,需先將輸入轉(zhuǎn)化為數(shù)值向量。Transformer 的輸入處理包含兩個關(guān)鍵步驟。

第一個步驟是詞嵌入(Word Embedding),通過嵌入層將每個分詞(如單詞、子詞)映射為固定維度的向量(原始模型中為 512 維)。例如,“apple” 可能被轉(zhuǎn)化為 [0.2, 0.5, …, 0.1](共 512 個數(shù)值),向量的數(shù)值分布由模型在訓(xùn)練中學(xué)習(xí),語義相近的詞(如 “apple” 與 “fruit”)的向量距離更近。

第二個步驟是位置編碼(Positional Encoding),由于 Transformer 沒有循環(huán)結(jié)構(gòu),無法像 RNN 那樣自然捕捉序列順序(如 “我吃蘋果” 與 “蘋果吃我” 的區(qū)別)。因此需通過 “位置編碼” 為每個分詞的向量添加位置信息。原始論文采用正弦 – 余弦函數(shù)生成位置向量,偶數(shù)維度使用正弦函數(shù),奇數(shù)維度使用余弦函數(shù)。這種設(shè)計的優(yōu)勢在于:位置向量的差值具有 “周期性”,能體現(xiàn) “距離越近的詞關(guān)聯(lián)越強(qiáng)”(如位置 1 與 2 的向量相似度高于 1 與 10),且可適配任意長度的序列(無需因輸入過長重新訓(xùn)練)。

最終,輸入文本被轉(zhuǎn)化為 “詞嵌入 + 位置編碼” 的向量序列,作為編碼器的輸入。

2.? 編碼器:從輸入中提取上下文語義

編碼器的核心功能是將輸入序列轉(zhuǎn)化為 “上下文感知的向量表示”—— 即每個分詞的向量不僅包含自身語義,還整合了與其他分詞的關(guān)聯(lián)(如 “它” 與 “牛奶” 的對應(yīng)關(guān)系)。原始 Transformer 的編碼器由 6 個相同的 “編碼器層” 堆疊而成,每個編碼器層包含兩個核心子模塊。

第一個子模塊是多頭自注意力(Multi-Head Self-Attention),這是 Transformer 的 “靈魂模塊”,通過模擬人類 “注意力聚焦” 的能力,計算分詞間的關(guān)聯(lián)強(qiáng)度。其核心邏輯是:對每個分詞生成三個向量 —— 查詢(Query,“我要找什么”)、鍵(Key,“我有什么”)、值(Value,“我能提供什么”),并通過向量交互計算注意力權(quán)重。具體步驟如下:第一步,通過線性變換生成 Q、K、V 向量(例如將 512 維輸入向量映射為 64 維的 Q、K、V);第二步,計算 “注意力分?jǐn)?shù)”—— 通過 Q 與 K 的點積(Dot Product)衡量關(guān)聯(lián)度(分?jǐn)?shù)越高,關(guān)聯(lián)越強(qiáng));第三步,標(biāo)準(zhǔn)化分?jǐn)?shù) —— 除以√d?(d?為 K 的維度,如 64),避免分?jǐn)?shù)過大導(dǎo)致 Softmax 梯度飽和;第四步,通過 Softmax 將分?jǐn)?shù)轉(zhuǎn)化為 0-1 的權(quán)重(總和為 1),再與 V 相乘,得到 “聚焦于關(guān)鍵信息” 的輸出。而 “多頭” 設(shè)計(原始模型為 8 頭)則進(jìn)一步增強(qiáng)了建模能力:將 Q、K、V 拆分為 8 組并行計算,再拼接結(jié)果 —— 這相當(dāng)于讓模型從 8 個 “視角” 分析關(guān)聯(lián)(如有的頭關(guān)注語法,有的頭關(guān)注語義),最終整合為更全面的語義表示。

第二個子模塊是前饋神經(jīng)網(wǎng)絡(luò)(Feed Forward Network),注意力模塊輸出的向量會傳入前饋網(wǎng)絡(luò),進(jìn)行非線性特征轉(zhuǎn)換。該網(wǎng)絡(luò)包含兩個線性層(中間通過 ReLU 激活),作用是對注意力提取的關(guān)聯(lián)信息進(jìn)行 “局部細(xì)化”—— 例如,在 “蘋果是水果” 中,注意力已捕捉 “蘋果” 與 “水果” 的關(guān)聯(lián),前饋網(wǎng)絡(luò)則進(jìn)一步強(qiáng)化 “蘋果屬于水果類別” 的特征。

此外,每個子模塊(注意力、前饋網(wǎng)絡(luò))后均會添加 “殘差連接” 與 “層歸一化(Layer Normalization)”。殘差連接:將子模塊輸入與輸出相加(Output = Submodule (Input) + Input),解決深層網(wǎng)絡(luò)的梯度消失問題;層歸一化:對向量進(jìn)行標(biāo)準(zhǔn)化(均值為 0,方差為 1),保證訓(xùn)練過程中數(shù)值穩(wěn)定。

經(jīng)過 6 層編碼器處理后,輸入序列被轉(zhuǎn)化為包含全局上下文的向量序列,為解碼器提供 “語義參考”。

3.? 解碼器:基于語義生成目標(biāo)序列

解碼器的功能是根據(jù)編碼器輸出的語義表示,生成符合任務(wù)需求的輸出序列(如翻譯結(jié)果、回答)。與編碼器類似,解碼器由 6 個 “解碼器層” 堆疊而成,但每個解碼器層包含三個子模塊,新增了 “掩碼機(jī)制” 與 “編碼器 – 解碼器注意力”。

第一個子模塊是掩碼多頭自注意力(Masked Multi-Head Self-Attention),解碼器生成序列時需遵循 “自回歸” 規(guī)則(即生成第 t 個詞時,只能參考前 t-1 個詞)。例如生成 “我吃蘋果” 時,生成 “吃” 只能參考 “我”,生成 “蘋果” 只能參考 “我” 和 “吃”。掩碼機(jī)制通過 “遮擋未來位置” 實現(xiàn)這一約束:在計算注意力分?jǐn)?shù)時,將未來位置的分?jǐn)?shù)設(shè)為負(fù)無窮(Softmax 后權(quán)重為 0),確保模型無法 “偷看” 未生成的詞。

第二個子模塊是編碼器 – 解碼器注意力(Encoder-Decoder Attention),該模塊用于關(guān)聯(lián) “輸入語義” 與 “生成過程”:解碼器生成的 Q 向量(當(dāng)前生成詞的查詢)與編碼器輸出的 K、V 向量(輸入序列的鍵與值)交互,使生成的詞貼合輸入語義。例如在翻譯中,生成 “comer”(西班牙語 “吃”)時,會通過該模塊關(guān)注輸入中 “吃” 的語義表示。

第三個子模塊是前饋神經(jīng)網(wǎng)絡(luò)與歸一化,功能與編碼器一致,對注意力輸出進(jìn)行局部特征細(xì)化,并通過殘差連接與層歸一化保證穩(wěn)定性。

最終,解碼器輸出的向量會傳入線性層與 Softmax:線性層將向量映射為 “詞匯表大小” 的維度(如 10 萬個詞對應(yīng) 10 萬維向量),Softmax 將其轉(zhuǎn)化為概率分布,概率最高的詞即為當(dāng)前生成結(jié)果。這一過程循環(huán)進(jìn)行,直至生成 “結(jié)束符”(如<END>)。

三、Transformer 的技術(shù)優(yōu)勢:為何能替代傳統(tǒng)架構(gòu)?

對比 RNN 與 CNN,Transformer 的核心優(yōu)勢體現(xiàn)在三個方面。

第一個優(yōu)勢是并行計算效率,摒棄 RNN 的循環(huán)結(jié)構(gòu),所有分詞的處理可并行進(jìn)行(如 100 詞的句子可同時計算所有詞的注意力),訓(xùn)練速度提升 10-100 倍。例如,訓(xùn)練一個基礎(chǔ)語言模型,RNN 需數(shù)周,而 Transformer 僅需數(shù)天。

第二個優(yōu)勢是長距離依賴建模,通過注意力機(jī)制直接計算任意兩個分詞的關(guān)聯(lián),無需像 RNN 那樣 “逐步傳遞信息”。在 1000 詞的長文本中,Transformer 仍能準(zhǔn)確識別 “代詞” 與 “指代對象” 的關(guān)聯(lián),而 RNN 的準(zhǔn)確率會下降 50% 以上。

第三個優(yōu)勢是泛化能力,統(tǒng)一的 “編碼器 – 解碼器” 框架可適配多種任務(wù) —— 只需調(diào)整輸入輸出形式。例如翻譯任務(wù)中,輸入為源語言,輸出為目標(biāo)語言;文本摘要任務(wù)中,輸入為長文本,輸出為摘要;問答任務(wù)中,輸入為 “問題 + 上下文”,輸出為答案。

四、Transformer 的演進(jìn)與典型應(yīng)用

自 2017 年誕生以來,Transformer 衍生出眾多變體,推動 NLP 進(jìn)入 “預(yù)訓(xùn)練時代”。

BERT(2018,谷歌)是基于 Transformer 編碼器的 “雙向預(yù)訓(xùn)練模型”,通過 “掩碼語言模型”(隨機(jī)遮蓋部分詞,讓模型預(yù)測)學(xué)習(xí)上下文。由于采用雙向注意力(同時關(guān)注左右語境),BERT 在 “理解類任務(wù)”(如問答、情感分析)中表現(xiàn)突出 —— 例如在 SQuAD(斯坦福問答數(shù)據(jù)集)上,其準(zhǔn)確率首次超越人類表現(xiàn)。目前已被谷歌搜索引擎用于優(yōu)化查詢理解(如識別 “蘋果多少錢” 中 “蘋果” 的具體含義)。

GPT 系列(2018 – 至今,OpenAI)是基于 Transformer 解碼器的 “生成式模型”,采用 “自回歸預(yù)訓(xùn)練”(預(yù)測下一個詞),專注于文本生成。從 GPT-1(1.17 億參數(shù))到 GPT-3(1750 億參數(shù)),模型能力呈指數(shù)級提升 —— 可生成詩歌、代碼、郵件等復(fù)雜文本,甚至通過 “思維鏈(Chain-of-Thought)” 推理解決數(shù)學(xué)問題。ChatGPT 正是基于 GPT 架構(gòu)優(yōu)化的對話模型,通過 “對話歷史建?!?實現(xiàn)連貫交互。

LaMDA(2021,谷歌)是專為對話設(shè)計的 Transformer 模型,核心改進(jìn)是 “長對話注意力機(jī)制”—— 能記住數(shù)百輪對話中的關(guān)鍵信息(如用戶提到的 “喜歡科幻電影”),并生成符合語境的回應(yīng)。其設(shè)計理念已應(yīng)用于谷歌 Assistant 等產(chǎn)品,顯著提升了智能助手的交互自然度。

五、Transformer 的局限與未來方向

盡管 Transformer 已成為 AI 的基礎(chǔ)架構(gòu),但其仍存在優(yōu)化空間。

第一個局限是計算成本高,注意力機(jī)制的時間復(fù)雜度為 O (n2)(n 為序列長度),長文本處理(如書籍、代碼庫)時效率較低。目前研究方向包括 “稀疏注意力”(僅計算關(guān)鍵關(guān)聯(lián))、“線性注意力”(簡化計算方式)等。

第二個局限是推理可解釋性弱,注意力權(quán)重雖能反映關(guān)聯(lián),但難以直接對應(yīng)人類可理解的邏輯(如 “為什么模型認(rèn)為‘它’指蘋果”)。未來需結(jié)合認(rèn)知科學(xué),設(shè)計更透明的注意力機(jī)制。

第三個局限是多模態(tài)擴(kuò)展的挑戰(zhàn),當(dāng)前 Transformer 已從 NLP 擴(kuò)展至多模態(tài)領(lǐng)域(如 ViT 將圖像轉(zhuǎn)化為序列輸入 Transformer,實現(xiàn)圖文理解),未來有望成為 “統(tǒng)一智能” 的基礎(chǔ)架構(gòu) —— 即一個模型同時處理文本、圖像、語音等數(shù)據(jù)。

結(jié)語

Transformer 的革命性不僅在于技術(shù)突破,更在于其構(gòu)建了 “通用序列建??蚣堋薄?從語言翻譯到代碼生成,從圖像描述到機(jī)器人控制,其核心的注意力機(jī)制為 AI 提供了 “理解關(guān)聯(lián)、生成邏輯” 的能力。正如《Attention Is All You Need》中所暗示的:當(dāng)模型能精準(zhǔn)捕捉 “誰與誰相關(guān)”,復(fù)雜智能便有了實現(xiàn)的基礎(chǔ)。

從 2017 年的論文到如今的 GPT-4、BERT,Transformer 的演進(jìn)印證了一個事實:在 AI 領(lǐng)域,有時最簡潔的設(shè)計(摒棄循環(huán)與卷積,專注注意力)反而能打開最廣闊的未來。這一架構(gòu)的故事尚未結(jié)束,而它對人工智能的影響,無疑將持續(xù)數(shù)十年。

本文由 @紅岸小兵 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)作者許可,禁止轉(zhuǎn)載

題圖來自Unsplash,基于CC0協(xié)議

該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!