大模型的 “超級大腦”:從輸入到輸出的奇幻之旅

0 評論 472 瀏覽 1 收藏 13 分鐘
🔗 B端产品需要更多地依赖销售团队和渠道合作来推广产品,而C端产品需要更多地利用网络营销和口碑传播来推广产品..

本文將帶你深入探索大語言模型的內(nèi)部世界,從輸入到輸出的每一個環(huán)節(jié),揭示其如何將人類語言轉(zhuǎn)化為智能回答。

大語大語言模型的核心架構(gòu)是一個超級大腦,主要由三部分組件,分別是輸入、中間層和輸出層。輸入層的主要作用是把人類的語言轉(zhuǎn)化成機(jī)器能理解的數(shù)字符號。中間層的核心是 Transformer,主要的作用是對輸入的數(shù)字序列進(jìn)行深度語義分析,建立詞與詞之間的關(guān)聯(lián)。最后是輸出層,輸出層的主要作用是把中間層處理后的數(shù)字符號還原成人類能理解的內(nèi)容(文字、語音等)。舉個簡單的例子來理解一下,比如我到福周菜館點餐,我輸出:“我要魚丸和 [MASK]” ->大模型找到與 “魚丸” 向量最接近的詞(如 “拌面”,因為福州人常搭配吃)->“我要魚丸和拌面”。

一、輸入層

要讓機(jī)器能理解人類語言,首先要將人類語言(文字、語音等)轉(zhuǎn)化為計算機(jī)能處理的數(shù)學(xué)符號。輸入層相當(dāng)于是翻譯官,把中英文翻譯成機(jī)器語言。這層主要包括兩個主要步驟:

1、詞向量生成

在說明詞向量生成之前,要理解分詞(Tokenization)的概念。分詞是將句子拆分成最小語義單元(詞或子詞)。比如把我們福州的魚丸拆分成[“福州”, “魚丸”]。這里涉及到的技術(shù)有BPE(字節(jié)對編碼)、WordPiece 等。

生成完分詞后,需要將每個詞轉(zhuǎn)換為多維數(shù)字向量(類似坐標(biāo)),多維數(shù)字向量是由多個數(shù)字組成的 “坐標(biāo)點”,這個坐標(biāo)點能反映詞的語義和語法信息。比如:“貓” → [0.2, -0.5, 0.7],不同詞的向量空間位置反映語義關(guān)聯(lián)。當(dāng)然,這些詞的多維向量是通過預(yù)訓(xùn)練模型(如 Word2Vec)生成的。

為什么是多維向量?

如果是單維向量,則用 1 個數(shù)字(如 1 維)只能表示簡單差異(比如用 0 表示 “貓”,1 表示 “狗”),但無法體現(xiàn)語義關(guān)聯(lián)(如 “貓” 和 “狗” 都屬于動物)。詞的多維數(shù)字向量是大模型的 “語言密碼”,他的本質(zhì)是將詞映射到高維空間的坐標(biāo)點,通過坐標(biāo)距離和運算,讓機(jī)器理解詞的語義、語法和邏輯關(guān)系。讓模型能像人類一樣 “理解” 語言背后的含義。

2、位置編碼

給每個詞添加位置信息(如 “福州” 是第 1 個詞,“魚丸” 是第 2 個詞)。由于Transformer 并行處理不依賴順序,所以需額外加入位置信息(如 “魚丸” 在前和在后的意義不同)。比如:第 1 個詞(福州) → [0.1, 0.9],第 2 個詞(魚丸) → [0.3, 0.8]

示例說明

輸入文本

“福州魚丸和沙縣小吃都是福建的特色美食”

1. 詞向量生成

通過預(yù)訓(xùn)練模型(如 Word2Vec)生成每個詞的多維向量(假設(shè)示例):

  • 福州 → [0.2, -0.5, 0.7]
  • 魚丸 → [0.3, -0.6, 0.8]
  • 沙縣小吃 → [0.4, 0.1, -0.3]
  • 福建 → [0.1, 0.9, -0.2]
  • 特色美食 → [0.7, 0.3, 0.4]

2. 位置編碼

給每個詞添加位置信息(假設(shè)用正弦函數(shù)生成):

  • 第 1 個詞(福州) → [0.1, 0.9]
  • 第 2 個詞(魚丸) → [0.3, 0.8]
  • 第 3 個詞(沙縣小吃) → [0.5, 0.7]
  • 第 4 個詞(福建) → [0.7, 0.6]
  • 第 5 個詞(特色美食) → [0.9, 0.5]

最終輸入向量:

每個詞向量與位置編碼拼接,例如: 福州 → [0.2, -0.5, 0.7, 0.1, 0.9]

二、中間層

1、Transformer 架構(gòu)

Transformer的核心任務(wù)是將原始詞向量轉(zhuǎn)化為富含語義關(guān)聯(lián)的深度特征。它替代了傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),讓大模型能并行處理所有詞。傳統(tǒng) RNN 需按順序處理詞(如 “我→愛→中國”),Transformer 能同時處理所有詞,并通過注意力機(jī)制捕捉遠(yuǎn)距離詞的關(guān)聯(lián)(如 “北京” 和 “首都” 相隔很遠(yuǎn)仍能關(guān)聯(lián))。

2、注意力機(jī)制(Attention)

自注意力(Self-Attention)

自注意力是為了讓每個詞 “關(guān)注” 其他詞的重要性。比如:翻譯 “貓追老鼠” 時,“追” 需要關(guān)注 “貓”(施動者)和 “老鼠”(受動者)。自注意力計算時,會先進(jìn)行相關(guān)性打分:計算 “追” 與 “貓”“老鼠” 的關(guān)聯(lián)度(如 “追” 和 “貓” 的分?jǐn)?shù)更高);然后再加權(quán)求和:根據(jù)分?jǐn)?shù)生成 “追” 的新向量(重點融入 “貓” 的信息)。

多頭注意力(Multi-Head Attention)

多頭注意力是為了從不同角度分析詞關(guān)系(類似用不同濾鏡看同一張照片)。比如:處理 “蘋果公司發(fā)布了新 iPhone”。多頭注意力為了捕捉更全面的語義關(guān)聯(lián),分工如下:

  • 頭 1:關(guān)注公司與產(chǎn)品(“蘋果”→“iPhone”)。
  • 頭 2:關(guān)注動作與對象(“發(fā)布”→“iPhone”)。
  • 頭 3:關(guān)注時間或地點(若句子有 “今天”)。

注意力計算流程

  • 詞向量轉(zhuǎn)換:每個詞轉(zhuǎn)為坐標(biāo)點(如 “魚丸”→[0.2, -0.5, 0.7])。
  • 計算相關(guān)性:“魚丸” 對 “拌面” 的關(guān)注度:根據(jù)向量距離打分(福州人常搭配吃,分?jǐn)?shù)高)。
  • 生成新向量:“魚丸” 的向量會重點融合 “拌面” 的信息(因為關(guān)注度高)。

多頭注意力 = 多個自注意力頭 + 結(jié)果拼接。每個頭獨立計算自注意力,然后將結(jié)果合并(類似拼圖)。示例如下

示例(以句子 “貓追老鼠” 為例):

-自注意力頭 1:關(guān)注動作關(guān)系 → [貓:追,老鼠:被追]

-自注意力頭 2:關(guān)注實體關(guān)系 → [貓:動物,老鼠:動物]

-多頭結(jié)果:綜合兩個頭的信息,得到更全面的理解。

3、前饋神經(jīng)網(wǎng)絡(luò)(Feed-Forward Network)

FFN是對注意力處理后的向量進(jìn)行非線性變換(類似炒菜時的調(diào)味),因為注意力機(jī)制本質(zhì)是線性加權(quán),無法處理復(fù)雜非線性關(guān)系,通過激活函數(shù)(如 ReLU)讓模型學(xué)習(xí)更復(fù)雜的語義模式。比如:將 “魚丸” 與 “福建” 的關(guān)聯(lián)從 “地域特產(chǎn)” 提升為 “文化符號”。

4、殘差連接與層歸一化

  • 殘差連接:將原始輸入與 FFN 輸出相加,防止信息丟失。
  • 層歸一化:標(biāo)準(zhǔn)化數(shù)值范圍,確保穩(wěn)定性。

示例說明

1. 多頭注意力(Multi-Head Attention)

通過 8 個頭(假設(shè))從不同角度分析詞關(guān)系:

頭 1(地域關(guān)系):

  • 重點關(guān)注 “福州” 和 “福建” 的關(guān)聯(lián),將它們的向量加權(quán)融合。
  • 輸出:[0.25, -0.4, 0.65, 0.12, 0.88](增強(qiáng)地域特征)。

頭 2(食物類別):

  • 關(guān)注 “魚丸” 和 “沙縣小吃” 的相似性,融合后突出 “小吃” 屬性。
  • 輸出:[0.35, -0.5, 0.75, 0.32, 0.78]。

頭 3(常識推理):

  • 捕捉 “福建” 和 “特色美食” 的邏輯關(guān)系,確認(rèn) “福建有美食”。
  • 輸出:[0.65, 0.2, -0.15, 0.68, 0.52]。

拼接多頭結(jié)果:

將 8 個頭的輸出拼接后通過線性層,得到每個詞的新向量。

2. 前饋神經(jīng)網(wǎng)絡(luò)(FFN)

對注意力后的向量進(jìn)行非線性變換: 福州 → [0.3, -0.6, 0.7, 0.1, 0.9](增強(qiáng) “省會” 語義)。 福建 → [0.8, 0.7, -0.1, 0.7, 0.6](強(qiáng)化 “省份” 特征)。

3. 殘差連接與層歸一化

  • 殘差連接:將原始輸入與 FFN 輸出相加,防止信息丟失。 福州 → [0.2+0.3, -0.5+(-0.6), …] → [0.5, -1.1, …]。
  • 層歸一化:標(biāo)準(zhǔn)化數(shù)值范圍,確保穩(wěn)定性。 福州 → [0.5/√(0.52+…), …] → [0.2, -0.4, …]。

三、輸出層

1、文本分類

文本分類的主要作用是把句子貼標(biāo)簽,并判斷這個標(biāo)簽的概率。處理流程包括“中間層總結(jié)的句子密碼 → 分類篩子 → 概率計算器 → 貼標(biāo)簽“。

  • 中間層總結(jié)的句子密碼:通過中間層已經(jīng)把句子變成一串?dāng)?shù)字(比如 [0.8, 0.6, -0.3]),就像給句子生成一個 “數(shù)字身份證”。
  • 分類篩子:用一個數(shù)學(xué)公式(類似篩子)把這串?dāng)?shù)字變成兩個分?jǐn)?shù)。比如 [1.2, -0.5],代表 “是美食” 的可能性更高。
  • 概率計算器:把分?jǐn)?shù)轉(zhuǎn)化為百分比。比如 [77%, 23%],說明 77% 概率是美食描述,23% 概率不是。

比如:

  • 輸入:“這道菜很好吃”
  • 輸出:77% → 貼標(biāo)簽 “是美食”

2、文本生成

文本生成的主要作用是給出完整的回答。主要流程包括”中間層知識 → 故事續(xù)寫機(jī) → 逐詞創(chuàng)作 → 完整回答“

  • 故事續(xù)寫機(jī):大模型像一個會寫故事的人,先記住中間層提供的福建相關(guān)知識(比如沙縣小吃、佛跳墻)。
  • 逐詞創(chuàng)作:每次只生成一個詞,根據(jù)已寫的內(nèi)容決定下一個詞。比如:開頭寫 “福建”,接著想到 “特色”,然后生成 “有”,最后補(bǔ)充 “沙縣小吃”。
  • 注意力機(jī)制:寫每個詞時,會重點關(guān)注之前提到的關(guān)鍵詞。比如寫 “小吃” 時,會特別注意 “沙縣” 這個詞。

示例說明

  • 輸入問題:“福建有什么特色?”
  • 輸出回答:“福建的特色有沙縣小吃、佛跳墻等?!?/li>

本文由 @產(chǎn)品老林 原創(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ā)揮!