生成式AI怎麼運作?大型語言模型(LLM)的原理

約 10 分鐘 · 更新:2026年10月23日

會寫文章的生成式AI,核心是一種稱為「大型語言模型」的計算機制。它做的事,是預測接在現有文章後面的「下一小段」,把它補上,然後一再重複。它是依照學過的文章的傾向來寫,所以就算文句通順,內容也可能與事實不符,重要的內容需要確認。

這篇文章可以了解

  • 大型語言模型實際在做的事(預測後續),以及稱為詞元的單位
  • 一次一個詞元寫出文章的機制,以及答案每次都不同的原因
  • 參數的意思,以及常見的三個訓練階段
  • Transformer與注意力機制,以及一次能看的長度上限
  • 會出現看似合理的錯誤的原因,以及安全的使用方式

預備知識:不需要。AI計算的內容(把數字相乘再相加的重複)在「AI為什麼要用GPU?」中說明。

生活中的例子

輸入問題,AI就會用文章回答。它也被用來寫電子郵件的草稿、摘要長篇文件、翻譯外語。像這樣創作出文章或圖片等新內容的AI,稱為「生成式AI」。

本文談的是生成式AI中會寫文章的那一類。它的核心是「大型語言模型」,取英文名稱的字首,也稱為LLM。新聞常先提到產品名稱,但內部機制的基本原理是共通的。

各產品的細部構造,很多都沒有公開。因此本文只說明能在論文或公開資料中確認、許多模型共通的想法。

它做的事是「猜後續」

語言模型是一種計算機制,用機率表示文章接下來容易出現什麼。機率是用0到100%表示某個候選有多容易出現的數字。「大型」的意思,後面再說明。

例如輸入「今天的天氣非常」。模型會替接下來可能出現的每個候選,都標上機率。「好」很高,「差」比它低,無關的詞幾乎是0。

接在「今天的天氣非常」後面的候選,會被標上機率 今天的天氣非常 語言模型 下一個候選與機率 好 55% 晴朗 20% 差 12% 悶熱 8% 其他 5% 選一個補上,再重複
模型替接在輸入後面的候選標上機率,依照機率選出一個(這裡是「好」),補在句尾,再重複同樣的步驟。省略的部分:候選和機率的數字是為了說明而編的。實際上,模型使用的所有片段(Llama 3約有12萬8千種)都會被標上機率。

這些機率不是誰寫進表格裡的。而是模型從大量文章學習時,計算方式一點一點被決定下來的結果。怎麼學習,會在後面的「常見的三個訓練階段」說明。

詞元:切分文章的單位

圖中的候選不一定是詞。語言模型會把文章切成小片段來處理,這些片段稱為「詞元」(token)。有時是一個字,有時是好幾個字的組合。

例如「今天是晴天」可能被切成「今天」「是」「晴」「天」。不過這只是說明用的例子,不是實際模型的輸出。切法由各個模型決定,同一句話換了模型,詞元數也會不同。

模型一次能處理的文章長度,以及服務的使用費用,常用詞元數來計算。詞元數和字數並不一致,當作大概的參考就好。

一次補上一個詞元

回答的文章並不是一次整段寫好的。模型先選出下一個詞元,補在文章最後。再以補上後的整段文章為線索,選出下一個詞元。這樣重複下去,直到選中代表「到此結束」的特殊詞元,或達到設定的長度為止。

下一個詞元不一定是機率最高的那個。很多時候,是像依照機率決定中獎率的抽籤那樣選出來的。這種選法稱為「取樣」。同樣的問題每次得到的答案都有點不同,主要就是這個原因。

如果每次只選第一名,文章容易變得單調,或一再重複同樣的說法。Holtzman等人的研究(2019年發表)探討了這個問題,提出先刪去低機率的候選再抽籤的方法。另外,抽籤的偏向程度可以用稱為「溫度」的設定來改變。溫度調低,排名前面的候選更容易被選中,答案的變化就會變小。

參數:經由訓練調整的大量數字

文字本身無法直接計算,所以模型會先把詞元轉成一串數字再計算。對這些數字乘上固定的數再相加,這樣的計算疊了很多層。在這些計算中,決定要多重視哪個輸入等的數字,稱為「參數」。

參數不是由人一個一個決定的。訓練剛開始時是隨機的值,再一點一點修正,讓預測變準。修正完成的參數值整組,就裝著模型學到的東西。相乘再相加的計算內容,在「AI為什麼要用GPU?」中說明。

大型語言模型的「大型」,主要是指參數非常多。例如Meta在2024年公開的Llama 3.1,最大的模型約有4,050億個參數。很多模型不公開內部,參數數量無法從外部確認,所以這裡用公開的模型當例子。

常見的三個訓練階段

大型語言模型通常分成幾個階段來訓練。這裡介紹常用的三階段流程。階段的分法和方法,因開發者而異。

大型語言模型常見的三個訓練階段 ① 預訓練 用大量文章,練習猜後續 ② 用範例追加訓練 給模型看問題和好答案範例的組合 ③ 配合人類偏好的調整 依比較答案的評價,偏向受歡迎的答案 分法和方法因開發者而異
常用的訓練流程。①培養接續文章的能力,②和③把它調整成回答問題的形式。省略的部分:各階段的詳細方法、為了安全的調整,以及有時會重複某些階段。

第一個是「預訓練」。準備網路上的文章、書籍等大量文章。給模型看文章的前半段,讓它預測下一個詞元,猜錯就稍微修正參數。正確答案就在文章本身裡,所以不需要人寫答案。Llama 3使用了約15兆個詞元的文章(2024年的論文)。

完成預訓練的模型,很會接續文章,但不一定會回答問題。有時它會把問題當開頭,接著寫出一串類似的問題。

所以第二步,是針對目的,對已訓練好的模型再做少量追加訓練。這稱為「微調」。這裡給模型看問題與好答案範例(例如人寫的)的組合。因為是從正確的範例學習,所以稱為「監督式微調」。

第三步是配合人類的偏好。對同一個問題產生多個答案,由人比較哪個比較好。以這些評價為線索,讓模型更容易給出受偏好的答案。有名的做法是使用從結果得到的評分來學習的強化學習,稱為「人類回饋強化學習」(RLHF)。

這個三階段流程,在OpenAI研究人員2022年的論文中,以完整的形式提出。另一方面,Meta在2024年的論文中說明,第三步選用了稱為DPO的方法。這是不使用強化學習,直接從比較結果學習的方法。原因是在大型模型上計算量較少,成績也較好。並不是一定都是這三個階段。

Transformer與注意力機制

現在的大型語言模型,多半使用稱為「Transformer」的計算架構。這是Google的研究人員等在2017年,以〈Attention Is All You Need〉這篇論文發表的。它原本是為了把文章翻譯成其他語言而設計的。

在那之前,處理文章的AI多半是從開頭依序一個一個讀詞元。不等前一個結果就無法往下算,所以有難以同時計算的弱點。Transformer能把現有文章的詞元一起同時計算。這和用大量計算電路同時計算的GPU很合得來。不過在補寫答案時,仍然是一次一個詞元。

Transformer的核心是注意力機制(attention),英文是「注意」的意思。在寫文章的模型中,每個詞元都會計算要多注意它前面的哪個詞元。再依照注意的程度,把對方的資訊取進來。

「它」會注意前一句的哪個詞元 前一句 我 跟小陳 借了 一支 筆 後一句 它 是 藍色的 線越粗,注意得越多
用線的粗細,表示「它」對前一句各詞元的注意程度。如果強烈注意「筆」,就能把「它」指的是筆這件事,用在答案裡。省略的部分:實際上所有詞元都做同樣的計算,而且疊了很多層(Llama 3.1最大的模型是126層)。切法和注意的強度,是為了說明而編的例子。

例如「我跟小陳借了一支筆。它是藍色的。」這句話,「它」指的是什麼很重要。如果像圖中那樣,「它」能強烈注意「筆」,就比較容易寫出意思正確的後續。不過,這張圖是為了說明而簡化的例子。實際模型中,哪一層在注意什麼,人要解讀並不容易。

上下文視窗:一次能看的長度

產生答案時,能當作線索的文章長度有上限。這是問題、之前的對話、寫到一半的答案加起來的詞元數上限,稱為「上下文視窗」。

上限因模型而異。例如Llama 3.1最多能處理128K(約13萬)個詞元(2024年)。超過上限的部分,模型看不到。因此有些服務會省略長對話中較舊的部分,或先摘要再交給模型。

在對話中告訴它的內容,會當作當下的線索來使用。但是對話並不會當場改寫模型的參數。不過,也有服務會保存輸入的內容,用於之後的訓練。這點在「安全的使用方式」中說明。

為什麼會出現看似合理的錯誤?

語言模型被訓練成寫出看似合理的後續。模型本身並沒有確認內容是否為事實的機制。因此,它有時會用通順的文句,寫出沒有根據的內容。這稱為「幻覺」(hallucination)。

美國國家標準暨技術研究院(NIST)2024年的指引,把這個現象說明為「產生以充滿自信的方式陳述的錯誤內容」。例如不存在的書名,或在哪裡都查不到的數字,可能會像真的一樣出現。

模型並不是在查一本寫好答案的字典。它學過的文章的傾向,只是融入了參數的值裡。對於訓練用的文章蒐集完成之後發生的事,它本身並不知道。

因此,有一種方法是把模型接上搜尋等外部工具,讓它先讀過找到的資料再回答。Lewis等人2020年的論文,把這稱為「檢索增強生成(RAG)」。錯誤可以減少,但資料本身可能有誤,也可能讀錯,所以錯誤不會消失。

訓練與推論:計算與電力

決定參數的訓練,是由開發者讓大量GPU長時間運作來進行。另一方面,用訓練好的模型產生答案的計算,稱為推論。每次有人使用,就會進行推論。兩者的差異整理在「AI訓練與推論的差異」的表格中。

推論時,每產生一個詞元,都要從記憶體讀出大量參數來計算。所以不只計算速度,從記憶體搬運資料的速度也很重要。AI用的GPU為什麼使用特別的記憶體,在「HBM是什麼?」中說明。

這些計算在稱為資料中心的專用建築裡進行,會用掉大量電力。根據國際能源署(IEA)2025年的報告,2024年資料中心的用電約占全球的1.5%。這個數字也包含AI以外的用途,但IEA認為資料中心用電增加的最大因素是AI。資料中心在「雲端運算是什麼?」中說明。

安全的使用方式

重要的內容,請用原始資料確認。特別是和數字、日期、法律、健康、金錢有關的答案,要用官方資料等查證。即使答案寫了資料名稱或網址,也要打開確認它是否存在、是否真的那樣寫。

輸入的內容也要注意。有些服務依照使用條款或設定,會把輸入的文章用於之後的訓練。公司機密或他人的個人資料,在確認處理方式之前不要輸入。例如日本的個人資訊保護委員會也在2023年6月提醒大眾,輸入的個人資料有可能被用於AI的學習。

在公司使用時,要遵守公司的規定,並使用合約中訂有輸入內容處理方式的服務。從把資料交給外部業者的角度來看,這和使用雲端是同樣的想法。使用AI的答案時,確認內容、決定要不要用的,也是人。

常見的誤解

誤解:AI是搜尋答案資料庫來回答的

實際上,語言模型本身並不是在查答案清單,而是用參數一次預測一個詞元。所以同一個問題,說法也會改變,還可能產生在哪裡都沒寫過的錯誤。就算是接上搜尋的服務,讀完搜尋結果後產生文章的部分,機制也一樣。答案流暢地冒出來,看起來就像某處存著正確答案,這就是誤解的來源。

誤解:既然能像人一樣說話,就和人一樣能理解,也有意識

實際上,能確定的是:語言模型是被訓練、調整成預測後續的計算機制。它能寫出像人寫的文章,所以看起來像在像人一樣思考。但語言模型能不能說是在某種意義上「理解」,研究者之間的意見也分歧。這場討論整理在Mitchell與Krakauer 2023年的評論中。有沒有意識,也是無法從本文說明的機制得到答案的問題。至少,說話自然並不保證內容正確。

誤解:模型越大,一定答得越正確

實際上,參數越多,往往能把越多事情處理好,但這不保證正確。在OpenAI研究人員2022年的論文中,調整成會遵循指示的13億參數模型,在人類評價中更受偏好。比較的對象,是沒有經過這種調整的1,750億參數模型。大型模型也會產生幻覺。重要的不只是大小,還有訓練的方式,以及使用者的確認。

從數字來看

項目數字補充
Transformer的發表2017年論文〈Attention Is All You Need〉
Llama 3.1最大模型的參數約4,050億個2024年,Meta公布
Llama 3預訓練使用的文章約15兆個詞元2024年的論文
Llama 3.1的上下文視窗最多128K(約13萬)個詞元2024年
依人類評價調整的模型13億參數答案比1,750億參數的模型更受偏好(2022年的論文)
全球資料中心的用電約占全球的1.5%2024年,IEA。包含AI以外的用途

模型的大小和長度上限每年都在變,請把這些數字當作「當時的一個例子」來看。

進一步學習

接著閱讀

系列「資安與生活中的 IT」的文章

  1. 密碼為什麼會被破解?長度和不重複使用為何重要
  2. 雲端運算是什麼?資料和應用程式在「哪裡」運作
  3. 加密是什麼?對稱式加密與公開金鑰加密的原理
  4. 生成式AI怎麼運作?大型語言模型(LLM)的原理
  5. VPN是什麼?保護通訊的通道原理與做不到的事
  6. 機器學習是什麼?電腦從資料中找出規則的原理
  7. 資料中心是什麼?支撐雲端與AI的建築物內部
  8. 防火牆是什麼?讓通訊通過或擋下的機制
  9. QR Code是什麼?髒污也能讀取的原理
  10. 網路釣魚是什麼?假郵件、假網站的分辨方法與對策
  11. 指紋辨識、臉部辨識的原理是什麼?手機如何認出本人?
  12. 惡意程式是什麼?病毒、勒索軟體的差異與防範對策

這個領域的題目: 機器學習基礎

參考資料

入門解說一覽