生活分享

推論(Inference)是什麼:模型訓練完之後,每次回答都在做的計算

推論是用已訓練好的模型處理新輸入、產生輸出的過程,權重在這個階段固定不變。內容拆開語言模型推論的兩段:讀入提示(prefill)與逐個產生(decode),說明首個 token 時間、完整回答時間與吞吐量的差別,分清推論(inference)與推理(reasoning)、雲端與本機,並看懂批次、量化與快取各自省在哪裡。

閱讀時間約 7 分鐘

一疊提示文字送進鎖住權重的模型方塊,右側輸出一個接一個出現的小方塊
圖片:Mokaair (© Mokaair)

推論(inference)是用訓練好的模型處理新的輸入、產生輸出。你每按一次送出,模型從讀入提示詞到產生最後一個 token,整段計算都是推論;權重等模型參數在這段時間固定不變,調整權重是訓練的事。另一個常被混用的詞是推理(reasoning),指模型多步推導的能力;本站用「推論」對應 inference、「推理」對應 reasoning,原因在文末說明。

本文用虛構的民宿訂位助理,說明一次回答如何分成兩段、為什麼輸出越長通常越久、兩種延遲指標的差別,以及批次、量化、快取各省哪一部分。主要依據 Google 的詞彙表、兩篇論文與各家官方文件;不列價格或速度數字,那些會隨模型與硬體改變。

推論和訓練差在哪裡

Google 機器學習詞彙表的定義是:傳統機器學習中,推論是把訓練好的模型套用到未標記樣本上做預測;在大型語言模型中,則是用訓練好的模型針對輸入提示產生回應。訓練是決定模型參數(權重與偏差)的過程,系統讀入範例並逐步調整參數。分界在於參數有沒有被改動。詞彙表也註明,統計學裡的 inference 意義略有不同;這裡用的是機器學習的意思。

推論時,權重不會因為你的這一次提問而改變。提示詞裡放幾個範例,模型能照格式回答,但範例只是這次計算的輸入。服務商是否保存對話、日後拿去訓練,是產品條款與設定的問題,不屬於推論本身。

依 Google 機器學習詞彙表與 Pope 等人的論文整理;查證於 2026 年 10 月。
面向訓練推論
權重逐步調整固定,只用來計算
發生頻率集中在模型完成前,或更新版本時每個請求都要算
成本結構模型完成前的運算與資料投入隨請求數與長度累加

一次回答的兩段:讀入提示,再逐個產生

大型語言模型的一次推論分兩段。第一段是讀入提示(prefill):提示詞的 token 全部已知,能一起平行處理,同時算出第一個新 token 的機率,並存下每個位置的中間結果(key 與 value,合稱 KV 快取)。vLLM 論文稱這段為 prompt phase,Pope 等人稱 prefill。

第二段是逐個產生(decode):每一步只把上一個新 token 送進模型、算出下一個,直到遇到結束符號或長度上限。前面 token 的 KV 快取已存好,每步只補算新的一個,但後一步要等前一步,無法平行。vLLM 論文指出這段不易用滿 GPU 的運算能力、受記憶體讀取限制,並佔單一請求延遲的大部分。

這就是輸出越長越久的原因:token 越多,要重複的步數越多,每步都要讀取模型權重與 KV 快取。輸入變長則主要加重那一次 prefill,也讓之後每步要讀的 KV 快取變大。OpenAI 的延遲指南同樣指出,產生 token 幾乎總是延遲最高的一步,輸入除非非常長,通常不是主因。

時間軸圖:排隊與網路、讀入提示(prefill)、逐個產生 token(decode),上方標示完整回答時間,下方標示首個 token 時間與產生時間
完整回答時間等於首個 token 時間加上產生時間;輸入長度主要影響前段,輸出長度主要影響後段。 · 圖片:Mokaair (© Mokaair)

示例:民宿助理的兩種問法

以下是示例,未實測。問法 A:貼入很長的入住須知,問「幾點退房」,輸入長、輸出一句。問法 B:不貼資料,只要求寫一篇很長的周邊散步介紹,輸入短、輸出長。預期 A 的第一個字較晚出現,因為要先讀完須知,但很快答完;B 的第一個字很快出現,完整回答時間卻主要花在逐個產生大量 token。

若實測與預期不同,別硬套這個模型。首個 token 時間偏長,可能是排隊、網路來回,或提示詞比想像的長;產生很慢,可能是同時處理的請求多,或輸出比預期長。NVIDIA 的文件指出 TTFT 通常包含排隊、prefill 與網路延遲;要知道慢在哪,得分段量。

兩種慢:首個 token 時間與完整回答時間

首個 token 時間(time to first token,TTFT)是從送出請求到收到第一個 token;完整回答時間(end-to-end latency)算到最後一個 token,NVIDIA 的文件把它寫成 TTFT 加產生時間。Anthropic 的文件指出 TTFT 在串流輸出時特別重要:串流讓使用者先看到開頭,改善感受上的速度,但 token 總數沒有變。

吞吐量(throughput)看整個系統每秒能產生多少 token。NVIDIA 的文件說明,同時處理的請求變多,系統總吞吐量會上升到用滿資源為止,但每位使用者各自的速度會下降。所以延遲與吞吐量是取捨。

降低成本:批次、量化與快取

每次請求的成本,來自它佔用多少硬體時間;Pope 等人以每個 token 的晶片時間或金額衡量。他們分析超大型 Transformer 在多顆加速晶片上的推論時指出,批次小,延遲可較低,但每個 token 的成本較高;離線處理加大批次通常最划算。降本做法常見三類,這裡只點名:

  • 批次處理(batching):多個請求合併計算。vLLM 論文指出,KV 快取很大且動態增減,浪費的記憶體會限制批次大小,因此提出 PagedAttention。
  • 量化(quantization):用較低精度的數值表示權重,減少記憶體需求。Pope 等人的實驗比較了 bfloat16 與量化成 int8 的權重。
  • 快取(caching):重用已算好的結果,例如相同字首的 KV 快取,OpenAI 的指南建議把會變動的內容放在提示詞後段。

詳見與;提示詞快取只省讀入提示那段,不縮短逐個產生。

雲端與本機:誰的硬體,誰在排隊

雲端推論在服務商的叢集上執行、同時服務很多人:請求要排隊、可能與他人的請求合併批次,還要經過網路來回,都算進你等的時間。你能調的多半是提示詞與輸出長度、是否串流、模型大小,Anthropic 與 OpenAI 的延遲文件皆列這些。

本機推論通常少了網路往返與他人的請求,但運算與記憶體要自備,模型大小受裝置限制。llama.cpp 專案自述以各種硬體上的本機與雲端推論為目標,提供整數量化以降低記憶體用量。兩邊都有 prefill 與 decode,差別在資源誰出、多少人共用。

用語:推論、推理與推論時計算

繁體中文裡,inference 與 reasoning 的譯名並不整齊。Google 機器學習詞彙表繁體中文版把 inference 譯為推論,並以「推理」描述模型的推導;國家教育研究院樂詞網的各學科詞表則兩種譯法都有:統計學名詞譯為推論,電子計算機名詞譯為推理,inference engine 是「推理引擎」或「推理機」。所以「推論=inference、推理=reasoning」是本站為分開兩件事的用法,不是詞典規定;讀到「推理引擎」要看上下文。

相鄰概念:是針對多步問題設計的一類模型,回答時做的仍是推論;是在推論階段多投入算力的策略。其他名詞見。

  • 生活分享

    世界模型(World Model)是什麼:讓 AI 預測「接下來會怎樣」

    世界模型指 AI 內部用來預測「這樣做之後會怎樣」的模型,但這個詞至少有三種用法:強化學習代理在想像中練習用的環境模型、LeCun 主張預測抽象表示的架構路線,以及能隨操作即時生成畫面的互動環境。內容用示例說明怎麼在想像中規劃,並列出大型語言模型有沒有世界模型的正反研究,附讀新聞時的檢查問題。

  • 生活分享

    視覺語言模型(VLM)是什麼:讓 AI 讀圖片、再用文字回答

    視覺語言模型(VLM)能同時接收圖片與文字,再用文字回答。內容拆解視覺編碼器、連接層與語言模型三段結構,說明 CLIP、Flamingo、LLaVA 三篇論文各補上哪一塊,並和多模態 AI、文字生圖分清楚;也整理它常犯的錯:數錯數量、搞混位置、說出圖裡沒有的東西,附上讀收據時逐行核對的步驟。

  • 生活分享

    溫度(Temperature)是什麼:AI 回答變化程度的取樣參數

    溫度(temperature)是文字生成時調整取樣的參數,讓模型從下一個 token 的機率分布裡抽得更集中或更分散。用假想的台南早餐示例算出低溫與高溫的差別,說明 top-p 的來源和它與 top-k 的差別,並依官方文件與論文指出:調低溫度不代表更準,設成 0 也不保證每次相同,部分模型還不開放調整。

  • 生活分享

    合成資料(Synthetic Data)是什麼:兩種用途、品質控管與模型崩潰

    合成資料是由演算法或模型產生、模仿真實資料特徵的資料,常見用途有兩種:訓練模型,以及在隱私需求下替代真資料。內容依 Self-Instruct、模型崩潰研究(替換與累積資料的差別)與 NIST、ICO 的隱私文件,說明做法、抽查流程,以及它不能保證的事。

最新旅遊情報攻略

資料來源

生活分享