iT邦幫忙

2026 iThome 鐵人賽

DAY 3
0
AI Engineering

30 天打造 AI 後端:從 LLM、RAG 到 AI Agent系列 第 3

[Day 3] 我真的夠了解語言模型嗎?從我們輸入的第一個字開始說起

  • 分享至 

  • xImage
  •  

昨天簡單介紹大型語言模型 (Large Language Model, LLM) 後,今天我會針對大型語言模型的輸入、輸出和整體架構做一個整體性的介紹。從使用者輸入的 Prompt 到進入大行語言模型後產生一串輸出進行剖析
大型語言模型的輸入與輸出:從 Prompt 到回應的完整旅程
一、整體流程總覽

當使用者輸入一段 Prompt 後,文字並不會直接進入模型運算,而是要經過幾個關鍵步驟:

使用者輸入 (Prompt)

斷詞 / Tokenization

Token 轉換為向量 (Embedding)

加入位置資訊 (Positional Encoding)

Transformer 架構運算(多層 Attention + FFN)

輸出層 → 產生下一個 Token 的機率分布

採樣 (Sampling) 選出一個 Token

將該 Token 加回輸入序列,重複上述過程

直到產生結束符號或達到長度限制 → 輸出完整回應


二、輸入端:Prompt 如何被模型「看懂」

  1. Tokenization(斷詞)
    LLM 不是以「字」或「詞」為單位處理文字,而是用 Token。一個 Token 可能是一個完整的詞、一個詞的片段,甚至是一個標點符號。例如英文的 "unbelievable" 可能被拆成 "un" + "believ" + "able"。中文則常以字或常見詞組為單位切分。

  2. Embedding(向量化)
    每個 Token 會被轉換成一個高維度的數值向量(例如 4096 維),這個向量代表這個 Token 在語意空間中的位置。意義相近的詞,向量距離也會比較接近。

  3. Positional Encoding(位置編碼)
    因為 Transformer 本身不像 RNN 那樣有順序性,需要額外加入「這是第幾個 Token」的位置資訊,讓模型知道語序。


三、核心運算:Transformer 架構

Prompt 轉換成向量序列後,會進入模型的核心——一層層堆疊的 Transformer Block,每一層通常包含:

Self-Attention(自注意力機制):讓每個 Token 都能「參考」序列中其他 Token 的資訊,決定該關注哪些上下文,藉此理解語意關聯(例如代詞指涉、上下文推論)。
Feed-Forward Network(前饋神經網路):對 Attention 的輸出做進一步的非線性轉換,強化特徵表達。
殘差連接與正規化(Residual + LayerNorm):協助訓練穩定與深層網路的資訊流通。

這個過程會重複數十層甚至上百層(取決於模型大小),每一層都讓模型對輸入的理解更深一層。


四、輸出端:如何從模型內部產生一段文字

  1. Logits 與機率分布
    經過所有 Transformer 層後,模型會針對「下一個 Token 應該是什麼」輸出一個機率分布,涵蓋整個詞彙表(可能有數萬到十幾萬個可能的 Token)。

  2. Sampling 採樣策略
    模型不是每次都選機率最高的 Token(那樣容易死板重複),常見的策略有:

    Temperature:控制輸出的隨機性,越高越有創意但也越可能離題。
    Top-k / Top-p:只從機率最高的前 k 個或累積機率達 p 的 Token 中採樣,避免選到極不合理的詞。

  3. 自回歸生成(Autoregressive Generation)
    選出的 Token 會被加回輸入序列尾端,整段序列重新送回模型,預測「下一個」Token。這個過程逐字(逐 Token)進行,直到遇到結束符號(EOS)或達到長度上限。

這也是為什麼 LLM 生成文字時是「一個字一個字」吐出來的(串流輸出的原因),而不是一次性算出整段話。


上一篇
[Day 2] 大型語言模型 (LLM) 的基本介紹
下一篇
[Day4] 語言模型與 Vibe Coding
系列文
30 天打造 AI 後端:從 LLM、RAG 到 AI Agent8
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言