iT邦幫忙

2026 iThome 鐵人賽

DAY 25
0
Software Development

30 天從 Full-Stack Engineer 進化到 System Design:從 0 設計可支撐百萬使用者的系統系列 第 25 篇

# Day 25|AI System Design 入門:LLM、Token、Context Window、Inference、Embedding 到底是什麼?

  • 分享至 

  • xImage
  •  

前面 Day 1~Day 24,我們已經建立很多傳統 System Design 的基礎:

Load Balancer
Database
Index
Cache
Replication
Sharding
CDN
Message Queue
Rate Limiter
Consistency
CAP
Reliability
Observability
Security
API Design
Capacity Estimation
Real-Time System

從 Day 25 開始,我們進入:

AI System Design

但在開始設計 RAG、AI Agent、AI SaaS 之前,必須先把 AI System
最常出現的基本名詞弄懂。

今天不會一開始就畫很複雜的 Architecture。

我們會先回答:

AI 是什麼?
ML 是什麼?
Deep Learning 是什麼?
Neural Network 是什麼?
LLM 是什麼?
GPT 是什麼?
Token 是什麼?
Context Window 是什麼?
Training 和 Inference 差在哪?
Parameter 是什麼?
Embedding 是什麼?
Vector 是什麼?
Semantic Similarity 是什麼?
Vector Database 又是什麼?
GPU 為什麼常出現在 AI System?
Streaming Response 是什麼?
Hallucination 是什麼?
Temperature 是什麼?
RAG 又是在解決什麼問題?

1. AI

AI = Artificial Intelligence

逐字:

Artificial
→ 人工的 / 人造的

Intelligence
→ 智慧 / 智能

中文:

人工智慧

AI 是一個非常大的領域。

簡單理解:

讓 Computer 執行一些原本通常需要人類智慧才能完成的工作。

例如:

辨識圖片
理解文字
翻譯
語音辨識
推薦商品
回答問題
下棋
生成圖片
寫程式

所以:

ChatGPT
Image Recognition
Recommendation System
Self-driving Technology

都可能屬於 AI 的應用。


2. AI 不是只有 ChatGPT

現在很多人聽到 AI 就想到:

ChatGPT
LLM

但 AI 的範圍其實更大。

可以先用非常簡化的關係理解:

Artificial Intelligence
        │
        ↓
Machine Learning
        │
        ↓
Deep Learning
        │
        ↓
Large Language Model

注意:

這是一個方便初學者理解的簡化關係,不代表所有 AI 都一定是 Machine
Learning,也不是所有 Deep Learning 都是 LLM。


3. ML

ML = Machine Learning

逐字:

Machine
→ 機器

Learning
→ 學習

中文:

機器學習

傳統 Programming 常像:

Rules + Data
↓
Program
↓
Answer

例如:

if score >= 60:
    return "PASS"

Programmer 明確寫出 Rule。

Machine Learning 的想法比較像:

Data + Correct Examples
↓
Learning Algorithm
↓
Model

Computer 從大量 Data 中學出 Pattern。


4. Pattern

Pattern(模式 / 規律):

Data 中重複出現、可以被學習或利用的關係。

例如:

大量 Spam Email

可能常出現:

FREE MONEY
CLICK NOW
WINNER

Machine Learning Model 可以從大量 Examples 學習哪些特徵比較常和 Spam
有關。


5. Model

Model(模型):

在 Machine Learning 中,可以先理解成:

經過 Training 後,學到某些 Pattern,並可以拿來做 Prediction 或產生
Output 的數學系統。

例如:

Input:
"This movie is amazing!"

↓ Model

Output:
Positive

Model 不是單純:

if amazing → positive

而是從大量 Training Data 中學到更複雜的關係。


6. Training

Training(訓練):

讓 Model 從大量 Data 中調整自己內部數值,逐漸學會 Pattern 的過程。

例如:

Training Data
↓
Model makes prediction
↓
Compare with expected result
↓
Calculate error
↓
Adjust model
↓
Repeat many times

可以先把 Training 想成:

Model 的學習階段。


7. Training Data

Training Data(訓練資料):

Training 時提供給 Model 學習的 Data。

例如:

Images
Text
Audio
Code
Labels

Training Data 的品質非常重要。

如果 Data 有很多錯誤:

Bad Data
↓
Model learns bad patterns

常聽到一句:

Garbage In
↓
Garbage Out

意思:

輸入的 Data 品質很差,最後產生的結果通常也會受到影響。


8. Deep Learning

Deep Learning

逐字:

Deep
→ 深的

Learning
→ 學習

中文:

深度學習

Deep Learning 是 Machine Learning 的一個重要分支。

它大量使用:

Neural Network

來學習複雜 Pattern。


9. Neural Network

Neural Network

逐字:

Neural
→ 神經的

Network
→ 網路

中文:

神經網路

它是一種 Machine Learning Model 結構。

名字受到生物神經系統概念啟發,但:

Artificial Neural Network 並不是人類大腦的完整複製。

可以先把它想成:

Input
↓
Many mathematical transformations
↓
Output

例如:

Image Pixels
↓
Neural Network
↓
"Cat"

10. Layer

Layer(層):

Neural Network 通常由很多 Layers 組成。

簡化:

Input Layer
↓
Hidden Layer
↓
Hidden Layer
↓
Output Layer

每一層會對 Data 做一些數學 Transformation,再傳給下一層。


11. Deep 的意思

為什麼叫:

Deep Learning

這裡的 Deep 可以先理解成:

Neural Network 中存在很多 Layers,可以逐層學習更複雜的
Representation。

例如 Image Recognition:

Pixels
↓
Edges
↓
Shapes
↓
Objects

這只是直覺化例子,實際 Model 內部學到的 Representation
不一定能如此清楚地用人類概念命名。


12. NLP

NLP = Natural Language Processing

逐字:

Natural
→ 自然的

Language
→ 語言

Processing
→ 處理

中文:

自然語言處理

意思:

讓 Computer 處理人類使用的語言。

例如:

English
Chinese
Japanese

NLP Tasks 包含:

Translation
Sentiment Analysis
Text Classification
Question Answering
Summarization
Text Generation

13. Language Model

Language Model(語言模型):

用來處理、理解或產生 Language Sequence 的 Model。

其中一個核心能力可以簡化理解成:

根據前面的文字,預測接下來可能出現什麼。

例如:

I love eating ...

可能接:

pizza

14. LLM

LLM = Large Language Model

逐字:

Large
→ 大型的

Language
→ 語言

Model
→ 模型

中文:

大型語言模型

為什麼叫 Large?

通常是因為它可能具有:

大量 Parameters
大量 Training Data
大量 Computation

LLM 可以執行:

Question Answering
Summarization
Translation
Coding
Reasoning-related tasks
Text Generation

15. Parameter

Parameter(參數):

這裡不是 Java Method:

void hello(String name)

裡面的 name 那種 Parameter。

在 Machine Learning 中:

Parameter 是 Model 在 Training 過程中學到的內部數值。

可以非常簡化想像:

Model
├── parameter 1
├── parameter 2
├── parameter 3
├── ...
└── parameter billions

Training 的重要工作之一,就是調整這些 Parameters。


16. Weight

Weight(權重):

Neural Network 中一種非常重要的 Parameter,用來控制某個 Input / Signal
對後續計算的影響程度。

非常簡化:

Output
=
Input × Weight

實際 Neural Network 的數學遠比這複雜,但初學時先理解:

Training 會不斷調整很多 Weights,讓 Model 的 Output 越來越符合
Training Objective。


17. GPT

GPT = Generative Pre-trained Transformer

逐字:

Generative
→ 生成式的

Pre-trained
→ 預先訓練的

Transformer
→ 一種 Neural Network Architecture

中文可以理解為:

生成式預訓練 Transformer


18. Generative

Generative(生成式的):

Model 可以產生新的 Content。

例如:

Generate Text
Generate Code
Generate Image
Generate Audio

因此:

Generative AI(生成式人工智慧)

就是:

可以產生新 Content 的 AI System。


19. Pre-trained

Pre-trained(預先訓練的):

Pre
→ 事先 / 預先

Trained
→ 已經訓練

意思:

Model 在真正被 User 使用之前,就已經先經過大量 Training。

所以你輸入:

Explain TCP

不是從零開始教 Model TCP。

Model 已經在之前 Training 過程中學到大量 Language Patterns。


20. Transformer

Transformer:

一種非常重要的 Neural Network Architecture,現代很多 LLM 都建立在
Transformer 類型的架構上。

Architecture(架構):

一個 System / Model 內部 Components 如何組成、互動與傳遞 Data
的設計方式。

Transformer 很重要的一個概念是:

Attention

今天不深入完整數學,只先建立基本概念。


21. Attention

Attention(注意力機制):

Model 在處理一段 Sequence
時,可以學習哪些部分彼此比較相關,並讓相關資訊對計算產生較大的影響。

例如:

The animal didn't cross the street because it was too tired.

理解:

it

指的是什麼,需要考慮前面文字之間的關係。

Attention 幫助 Model 在處理 Sequence 時建立這些關聯。


22. Sequence

Sequence(序列):

有順序的一組 Data。

例如文字:

I
love
system
design

就是一個有順序的 Sequence。

順序改成:

design I system love

意思就不同。


23. Prompt

Prompt(提示 / 提示詞):

User 提供給 AI Model 的 Input Instruction 或 Context。

例如:

Explain Load Balancer in Traditional Chinese.

這整段就是 Prompt。

Prompt 可以包含:

Question
Instruction
Examples
Background Information
Output Format

24. Token

這是 LLM 最重要的基本概念之一。

Token(詞元 / 文字處理單位):

Model 實際處理文字時使用的基本單位之一。

LLM 不一定直接把:

System Design

理解成兩個完整 English Words。

Tokenizer 可能把文字切成不同 Tokens。

例如概念上:

"unbelievable"

可能被切成:

"un"
"believ"
"able"

這只是示意。

實際 Token 切法:

取決於 Model 使用的 Tokenizer。


25. Token 不等於 Word

非常重要:

Token ≠ Word

一個 Word:

unbelievable

可能是:

1 token

也可能是:

multiple tokens

中文、英文、程式碼、特殊符號的 Tokenization 方式也可能不同。

因此不要直接假設:

100 words = 100 tokens

26. Tokenizer

Tokenizer

Token
→ 詞元 / 文字處理單位

-izer
→ 可以理解成「負責做這件事的工具 / 處理器」

中文:

分詞器 / Token 切分工具

它負責把原始文字轉換成 Model 可以處理的 Tokens。

Raw Text
↓
Tokenizer
↓
Tokens

27. Token ID

Computer 最後不是直接處理文字本身。

Tokenizer 會把 Token 對應成:

Token ID(Token 編號)

概念:

"hello" → 15339
"world" → 1917

數字只是示意。

流程:

Text
↓
Tokens
↓
Token IDs
↓
Model

28. Vocabulary

Vocabulary(詞彙表):

Tokenizer 所知道的一組 Tokens 與它們對應的 IDs。

概念:

Token        ID
----------------
hello        100
world        101
system       102
design       103

實際 Vocabulary 通常很大。


29. Context

Context(上下文):

Model 在產生 Output 時,可以參考的相關 Input Information。

例如:

My name is Alvin.
I am learning System Design.
What am I learning?

Model 要利用前面的 Context 才知道答案是:

System Design

30. Context Window

Context Window

Context
→ 上下文

Window
→ 視窗 / 可看到的範圍

中文:

上下文視窗

意思:

Model 在一次處理過程中可以納入考量的 Token 範圍。

非常簡化:

Context Window = Model working context capacity

可能包含:

System Instructions
User Prompt
Conversation History
Retrieved Documents
Tool Results
Generated Tokens

具體計算方式依 Model / API 而異。


31. 為什麼 Context Window 很重要?

假設你把:

500-page document

全部丟進 Model。

如果超過 Model 能處理的 Context:

Too many tokens

就需要:

Truncate
Chunk
Retrieve relevant parts
Summarize

這也是之後 RAG 很重要的原因之一。


32. Truncation

Truncation(截斷):

Data 太長時,把其中一部分移除,使長度符合限制。

例如:

100K tokens

但只能送:

smaller allowed context

可能需要移除部分內容。

問題是:

重要資訊可能剛好被截掉

33. Chunk

Chunk(資料塊 / 分塊):

把大型 Content 切成較小的 Pieces。

例如:

100-page PDF
↓
Chunk 1
Chunk 2
Chunk 3
...

之後可以只找與 Question 最相關的 Chunks。


34. Chunking

Chunking(分塊):

把大型 Document 切成多個 Chunks 的 Process。

例如:

Document
↓
Chunking
↓
500 smaller chunks

Chunk 太大:

可能帶入很多無關內容

Chunk 太小:

可能失去上下文

因此 Chunk Size 是 Trade-off。


35. Inference

Inference(推論):

已經 Training 完成的 Model,真正接收 Input 並產生 Output 的過程。

例如:

User Prompt
↓
Trained LLM
↓
Answer

這就是 Inference。


36. Training vs Inference

非常重要:

Training
→ 學習

Inference
→ 使用已學好的 Model 產生結果

類比:

Training
→ 學生準備考試

Inference
→ 學生實際回答題目

AI Application 大部分 User Request 發生的是:

Inference

不是重新 Training 整個 Model。


37. Input Token

Input Token(輸入 Token):

傳入 Model、讓 Model 讀取的 Token。

例如:

Prompt
Conversation History
Retrieved Documents

都可能形成 Input Tokens。


38. Output Token

Output Token(輸出 Token):

Model 產生 Response 時輸出的 Token。

例如:

User:
Explain Redis.

Model:
Redis is...

Model 產生的回答會形成 Output Tokens。


39. Token Cost

使用某些 AI APIs 時,Cost 可能和:

Input Tokens
+
Output Tokens

有關。

因此 AI System Design 除了:

Latency
Availability
Scalability

還常多一個重要問題:

Inference Cost


40. Inference Cost

Inference Cost(推論成本):

Model 處理 User Request 並產生 Output 所需要的計算 / 金錢成本。

可能受到:

Model Size
Input Tokens
Output Tokens
Hardware
Batching
Request Volume

影響。


41. Latency 在 AI System 中

之前已經詳細解釋過 Latency,所以這裡不重新定義。

在 AI System 中,可以再細分:

User sends prompt
↓
Model starts processing
↓
First token appears
↓
Remaining tokens continue
↓
Response completes

因此只看:

Total Response Time

有時不夠。


42. TTFT

TTFT = Time To First Token

逐字:

Time
→ 時間

To
→ 到

First
→ 第一個

Token
→ Token

中文:

產生第一個 Token 所需要的時間

例如:

User clicks Send
↓
800 ms
↓
first word appears

TTFT 約 800 ms。


43. Why TTFT Matters

如果 AI 回答總共需要 10 秒:

Case A

9 秒完全沒反應
↓
第 10 秒突然整段出現

Case B

0.8 秒開始出字
↓
接下來持續產生

即使 Total Time 接近,Case B 的 User Experience 通常比較好。


44. Token Generation

Token Generation(Token 生成):

Model 一步一步產生 Output Tokens 的 Process。

非常簡化:

Prompt
↓
Generate token 1
↓
Generate token 2
↓
Generate token 3
↓
...

45. Autoregressive

Autoregressive

拆開理解:

Auto
→ 自己 / 自身

Regressive
→ 這裡可以先理解為依賴先前結果繼續預測

在很多 LLM 中,可以簡化理解成:

Model 會根據已經存在的 Tokens,一步一步預測下一個 Token。

例如:

I
↓
I love
↓
I love system
↓
I love system design

這也是為什麼 Output 常是逐步產生。


46. Probability

Probability(機率):

某件事情發生的可能程度。

Model 預測 Next Token 時,可以概念化成:

"pizza" → 40%
"food" → 25%
"coding" → 5%
...

Model 再根據 Decoding Strategy 選擇下一個 Token。


47. Decoding

Decoding(解碼 / 生成選擇過程):

在 LLM Generation Context:

根據 Model 對 Next Token 的 Probability Distribution,決定實際要選哪個
Token。

它不是單純:

永遠選最高機率

也可以透過不同設定控制 Output 的多樣性。


48. Temperature

Temperature(溫度):

在 LLM 中:

用來調整 Token Selection Randomness 的一個 Generation Parameter。

非常簡化:

Lower Temperature
→ 通常更集中 / 穩定

Higher Temperature
→ 通常更多樣 / 隨機

例如:

Lower

Question:
Capital of Japan?

Answer:
Tokyo

Higher

在 Creative Writing 中可能產生更多不同表達。

注意:

Temperature 不是「Model 聰明程度」,也不是「正確率按鈕」。


49. Deterministic

Deterministic(確定性的):

相同 Input 在相同條件下,結果傾向固定可預期。

相反:

Non-deterministic(非完全確定性的)

同一個 Input 可能產生不同 Output。

LLM Generation 常可能具有一定程度的非確定性。


50. Streaming Response

Streaming Response

Streaming
→ 串流式、持續傳送

Response
→ 回應

中文:

串流回應

不是等整個 Answer 完成:

Model generates entire answer
↓
Send everything

而是:

Token generated
↓
send

more tokens
↓
send

more tokens
↓
send

User 就會看到文字逐漸出現。


51. Streaming 的好處

主要改善:

Perceived Latency(感知延遲)

Perceived(感受到的)

即:

User 主觀感受到系統有多快。

Streaming 不一定讓 Model 真正算得更快,但可以讓 User 更早看到結果。


52. Embedding

接下來是 RAG 最重要的概念之一。

Embedding(嵌入表示 / 向量表示):

把 Text、Image 或其他 Data 轉換成一組 Numbers,讓 Computer
可以用數學方式比較它們的語意或特徵。

例如:

"I love dogs"
↓
Embedding Model
↓
[0.12, -0.81, 0.33, ...]

這組 Numbers 就是一個:

Vector


53. Vector

Vector(向量):

初學者可以先理解成:

一串有順序的 Numbers。

例如:

[0.2, 0.8, -0.1]

這是一個 3-dimensional Vector。


54. Dimension

Dimension(維度):

Vector 中有多少個數值方向 / 位置。

例如:

[0.2, 0.8, -0.1]

有 3 個 Numbers:

3 dimensions

Embedding Vector 實際可能有非常多 Dimensions。


55. Embedding Model

Embedding Model(嵌入模型):

專門把 Input Data 轉換成 Embedding Vector 的 Model。

Text
↓
Embedding Model
↓
Vector

例如:

"How does Redis cache data?"
↓
Embedding
↓
[...numbers...]

56. Semantic

Semantic(語意的):

和「意思」有關,而不只是字面文字是否完全一樣。

例如:

"How do I reset my password?"

"How can I change my login password?"

Words 不完全相同,但 Meaning 很接近。

這叫:

Semantic Similarity


57. Semantic Similarity

Semantic Similarity

Semantic
→ 語意的

Similarity
→ 相似度

中文:

語意相似度

意思:

比較兩段 Content 在「意思」上有多接近。

Embedding 的重要用途之一,就是讓 Computer 能用 Vector Math 做這種比較。


58. Similarity Search

Similarity Search(相似度搜尋):

給定一個 Query,找出 Vector Space 中最相似的 Items。

例如:

Query:
"How do I change my password?"

System 可能找到:

Document A:
"Steps to reset your account password"

即使沒有完全相同 Keywords,也可能因 Semantic Meaning 接近而被找到。


59. Vector Space

Vector Space(向量空間):

初學者可以先想像:

每一個 Embedding 都是空間中的一個 Point。

例如二維簡化:

        ● dog
       ● puppy

                    ● database
                  ● SQL

意思相近的內容,希望在 Embedding Space 中比較接近。

實際 Embedding 通常不是 2D,而是很多 Dimensions。


60. Similarity Score

Similarity Score(相似度分數):

用一個數值表示兩個 Vectors 有多相似。

例如概念:

Query ↔ Document A = 0.92
Query ↔ Document B = 0.81
Query ↔ Document C = 0.20

就可以優先 Retrieve A、B。

不同 System 使用的 Similarity Metric 可能不同。


61. Metric

Metric(衡量方式 / 指標):

用來量化某件事情的方法。

在 Vector Search 中,Metric 可以用來衡量:

兩個 Vectors 有多近 / 多相似

常見方法之一:

Cosine Similarity


62. Cosine Similarity

Cosine Similarity

Cosine
→ 餘弦

Similarity
→ 相似度

中文:

餘弦相似度

它會利用兩個 Vectors 之間方向的關係衡量相似程度。

今天不深入公式。

先記:

Embedding
↓
Vector

Vector A + Vector B
↓
Similarity Metric
↓
Similarity Score

即可。


63. Vector Database

Vector Database

Vector
→ 向量

Database
→ 資料庫

中文:

向量資料庫

它是一類特別適合:

Store Vectors
+
Search Similar Vectors

的 Database / Data System。

例如:

Document Chunks
↓
Embeddings
↓
Vector Database

User Query:

Query
↓
Embedding
↓
Similarity Search
↓
Relevant Chunks

64. Vector Database 不等於 LLM

這非常重要:

Vector Database
≠
LLM

Vector Database 主要負責:

Store / Index / Search Vectors

LLM 主要負責:

Language Understanding / Generation

兩者在 RAG 中可以一起使用。


65. Retrieval

Retrieval(檢索):

從大量 Data 中找出與目前 Query 最相關的資訊。

例如:

10,000 documents
↓
User asks one question
↓
Retrieve 5 relevant chunks

不是把全部 10,000 Documents 都塞進 Prompt。


66. Retriever

Retriever(檢索器):

負責執行 Retrieval 的 Component。

例如:

User Query
↓
Retriever
↓
Vector Database
↓
Relevant Chunks

Retriever 可能使用 Vector Search,也可能使用其他 Search Strategy。


67. Top-K

Top-K

Top
→ 最前面的 / 分數最高的

K
→ 一個數量變數

意思:

取排名最高的 K 個 Results。

例如:

Top-3
→ 最相關的 3 個 Chunks

Top-5
→ 最相關的 5 個 Chunks

K 太小:

可能漏掉重要資訊

K 太大:

可能塞進太多 Noise
增加 Token Cost

68. Noise

Noise(雜訊 / 無關資訊):

對目前 Task 沒幫助,甚至可能干擾 Model 的資訊。

例如 User 問:

How does database replication work?

卻 Retrieve:

CSS tutorial
JavaScript animation
Gym plan

這些就是 Noise。


69. Relevance

Relevance(相關性):

某份 Information 和目前 Query 有多相關。

Retrieval System 的核心目標之一:

High Relevance

也就是:

找到真正能幫助回答問題的 Content。


70. Hallucination

Hallucination(幻覺):

在 Generative AI 中:

Model 產生看起來合理,但其實不正確、沒有依據或虛構的內容。

例如:

User:
What does this company policy say?

Model:
The policy gives employees 50 vacation days.

但 Document 根本沒寫。

這就是嚴重問題。


71. 為什麼 LLM 會 Hallucinate?

LLM 的核心工作不是:

Search a perfect truth database

而是根據:

Input Context
+
Learned Patterns

產生可能的下一段文字。

所以:

Fluent(流暢)不代表 Factual(事實正確)。


72. Factual

Factual(符合事實的):

Information 是否和真實事實 / Source 一致。

因此 AI System 常要考慮:

How do we improve factual grounding?

73. Grounding

Grounding(依據 / 有資料支撐):

在 AI Application 中,可以理解成:

讓 Model 的 Answer 依據指定的可信 Information,而不是只靠 Model
自己內部學到的 Patterns。

例如:

Company Documents
Medical Records
Product Database
Current Web Information

把 Relevant Information 提供給 Model。


74. Knowledge Cutoff

Knowledge Cutoff(知識截止時間):

Model 的內部 Training Knowledge 不一定包含某個時間點之後發生的事情。

因此如果 User 問:

What happened today?

只靠 Model 內部 Knowledge 可能不夠。

System 可能需要:

Web Search
Database
API
RAG
Tools

取得最新資訊。


75. RAG

RAG = Retrieval-Augmented Generation

逐字:

Retrieval
→ 檢索

Augmented
→ 增強的 / 加強的

Generation
→ 生成

中文:

檢索增強生成

核心:

先從外部 Data Source 找相關資料,再把資料提供給 LLM 產生 Answer。


76. 為什麼需要 RAG?

假設公司有:

Employee Handbook
Internal Documentation
Product Manual
Private Knowledge Base

這些資訊:

可能不在 Model Training Data
可能一直更新
可能是 Private

所以:

User Question
↓
Retrieve relevant company data
↓
Add data to Prompt
↓
LLM generates answer

77. Augment

Augment(增強 / 補充):

RAG 裡的:

Augmented

意思就是:

在原本 LLM Generation 之外,額外提供 Retrieved Information。

不是:

重新 Training LLM

而是:

Give LLM more relevant context at inference time

78. Basic RAG Flow

Documents
↓
Chunking
↓
Embedding Model
↓
Embeddings
↓
Vector Database

User Query:

User Question
↓
Embedding Model
↓
Query Vector
↓
Vector Search
↓
Top-K Relevant Chunks
↓
Prompt
↓
LLM
↓
Answer

Day 26 會再深入完整 RAG System。


79. Prompt Augmentation

Prompt Augmentation(Prompt 增強):

把 Retrieved Information 加入原本 Prompt,讓 LLM 在回答時可以參考。

例如:

System:
Answer using the following company policy.

Context:
[Retrieved policy chunk]

User:
How many vacation days do I have?

80. GPU

GPU = Graphics Processing Unit

逐字:

Graphics
→ 圖形

Processing
→ 處理

Unit
→ 單元

中文:

圖形處理器

GPU 最早主要為大量 Graphics Calculation 設計,但它非常擅長:

大量平行數學運算

而 Deep Learning 需要非常多 Matrix / Tensor Calculations,所以 GPU
被大量用在 AI Training 和 Inference。


81. CPU

之前可能已經看過 CPU,這裡只簡短對照。

CPU = Central Processing Unit

Central → 中央的
Processing → 處理
Unit → 單元

中文:

中央處理器

非常簡化:

CPU
→ General-purpose computation

GPU
→ Very large parallel numerical computation

不是:

GPU 永遠比 CPU 快

而是不同 Workload 適合不同 Hardware。


82. Parallel Processing

Parallel Processing(平行處理):

同一時間執行很多計算工作。

類比:

Sequential

1 worker
↓
Task 1
↓
Task 2
↓
Task 3

Parallel

Worker 1 → Task 1
Worker 2 → Task 2
Worker 3 → Task 3

AI 的大量 Matrix Operations 很適合這類 Hardware。


83. Matrix

Matrix(矩陣):

按照 Rows 和 Columns 排列的一組 Numbers。

例如:

[
  [1, 2],
  [3, 4]
]

Deep Learning 內部會執行大量 Matrix Operations。

今天不用學 Linear Algebra 公式,只要知道:

LLM 背後其實是大量數學計算,不是 Database
裡放著一堆完整句子直接搜尋答案。


84. Tensor

Tensor(張量):

初學時可以先理解成:

可以表示多維 Numerical Data 的資料結構 / 數學物件。

非常簡化:

Scalar → 一個數
Vector → 一排數
Matrix → 二維數字表
Tensor → 可以延伸到更多維度

Deep Learning Framework 常大量使用 Tensors。


85. Model Size

Model Size(模型大小):

可能和:

Number of Parameters
Memory Requirement
Storage Requirement
Compute Requirement

有關。

通常更大的 Model 可能需要更多:

GPU Memory
Inference Time
Cost

但:

Model 越大不代表對所有 Task 都一定越好。


86. VRAM

VRAM = Video Random Access Memory

逐字:

Video
→ 影像 / 顯示相關

Random Access Memory
→ 隨機存取記憶體

中文:

顯示記憶體 / GPU 記憶體

GPU 在執行 Model 時,需要把:

Model Weights
Intermediate Data
KV Cache 等資料

放進可用 Memory。

今天先記:

Model 越大、Context 越大、Concurrent Work 越多,通常會增加 Memory
Pressure。


87. Concurrent Requests

之前已經學過 Concurrency,所以這裡不重新完整定義。

AI Service 也可能同時收到:

User A
User B
User C
...

大量 Requests。

問題變成:

How many requests
can the inference system serve simultaneously?

88. Throughput

Throughput 之前已經詳細解釋過。

在 LLM Inference 中,可以觀察:

Requests / second
Tokens / second

例如:

100 requests/sec

或:

50,000 output tokens/sec

89. Tokens Per Second

Tokens Per Second

Tokens
→ Token 數量

Per Second
→ 每秒

中文:

每秒產生 / 處理多少 Tokens

這是 AI Inference 常見 Performance Metric。

例如:

50 tokens/sec

表示平均每秒產生約 50 個 Output Tokens。


90. Batching

Batching(批次處理):

把多個 Requests / Inputs 組成一批,一起進行計算。

例如:

Request A
Request B
Request C
Request D

不是完全分開處理,而是:

Batch
[A, B, C, D]
↓
GPU

GPU 的 Parallel Processing 能力可能因此被更有效利用。


91. Batching Trade-off

Batching 可能提升:

Throughput
Hardware Utilization

但如果為了等 Batch 湊滿:

Request A arrives
↓
wait
↓
wait
↓
Request B arrives

就可能增加:

Latency

所以又是:

Latency
vs
Throughput

Trade-off。


92. Utilization

Utilization(使用率):

Resource 有多少比例正在被使用。

例如:

GPU Utilization = 20%

可能代表 Hardware 沒被充分利用。

但:

100%

也不一定永遠最好,因為還需要考慮 Queue、Latency、Headroom 等。


93. Queue

Queue 之前已詳細解釋過,這裡直接套用。

如果 AI Service:

Incoming Requests
>
GPU Processing Capacity

Requests 可能開始:

Queue
↓
Wait
↓
Inference

Queue 太長:

Latency increases
Timeouts
Bad User Experience

94. Model Server

Model Server(模型伺服器):

專門載入 Model 並處理 Inference Requests 的 Service / Server。

例如:

API Service
↓
Model Server
↓
GPU
↓
Model

Model Server 可能負責:

Request Scheduling
Batching
Model Loading
Token Generation
Streaming

95. Model Loading

Model Loading(模型載入):

把 Model Weights 等必要資料載入 Memory,使 Model 可以執行 Inference。

大型 Model 可能很大,因此:

Start Server
↓
Load Model
↓
Ready

可能不是瞬間完成。


96. Cold Start

Cold Start(冷啟動):

Service / Model 尚未準備好,需要初始化、載入或建立
Resource,因此第一次 Request 特別慢。

例如:

New AI Worker starts
↓
Load model into GPU memory
↓
Initialize runtime
↓
Serve request

這段額外時間就是 Cold Start Problem 的一部分。


97. Warm

Warm(已暖機 / 已準備好):

Resource 已初始化,可以直接處理 Request。

Cold Worker
→ model not loaded

Warm Worker
→ model loaded and ready

AI Serving System 常希望保留足夠 Warm Capacity。


98. Autoscaling

Autoscaling(自動擴縮容):

根據 Traffic / Resource Usage 自動增加或減少 Server Instances。

例如:

Traffic rises
↓
Add model servers

Traffic falls
↓
Remove unnecessary servers

但 AI Autoscaling 比一般 Stateless API 更難,因為:

GPU expensive
Model loading slow
Cold start
Large memory requirement

99. AI Request Flow

最基本的 AI Application:

User
↓
Frontend
↓
API Service
↓
Model Server
↓
LLM
↓
Response

如果使用 Streaming:

User
↓
API Service
↓
Model Server
↓
Generate tokens
↓
Stream tokens
↓
User

100. AI System 不只有 Model

這是今天最重要的 System Design 觀念之一。

很多人以為:

AI App = LLM

其實 Production AI Application 可能還需要:

Authentication
Rate Limiting
Prompt Management
Model Routing
Retrieval
Vector Database
Caching
Message Queue
Observability
Safety Controls
Database
Cost Monitoring

也就是:

LLM 只是整個 AI System 的其中一個 Component。


101. Model Provider

Provider(提供者 / 服務供應商)

Model Provider(模型服務提供者):

提供 Model 或 Model API 的 Company / Platform。

Application 不一定自己:

Train
Host
Serve

Model。

也可以:

Application
↓
External Model API
↓
Model Provider

102. Self-Hosted Model

Self-Hosted

Self
→ 自己

Hosted
→ 託管 / 部署

Self-Hosted Model(自行部署模型):

Organization 自己管理 Model Serving Infrastructure。

可能需要自己處理:

GPU
Deployment
Scaling
Model Loading
Monitoring
Failure Handling

103. Hosted API

Hosted API(託管 API):

Model Provider 幫你管理 Model Infrastructure,你透過 API 呼叫。

優點可能包括:

Simpler operations
No direct GPU management
Fast integration

Trade-off 可能包括:

External dependency
Cost
Latency
Rate limits
Data governance considerations

104. Model Routing

Model Routing(模型路由):

根據 Request 特性決定要使用哪個 Model。

例如:

Simple classification
→ smaller model

Complex reasoning task
→ stronger model

目的可能是平衡:

Quality
Latency
Cost

105. Quality

Quality(品質) 在 AI System 中:

Model Output 是否符合 Task Requirement。

可能包含:

Correctness
Relevance
Completeness
Safety
Style

因此 AI System Design 常不是只有:

Fast or Slow

而是:

Quality
Latency
Cost

三者一起考慮。


106. Quality-Latency-Cost Trade-off

例如:

Large Model

可能:

Higher quality on difficult tasks
Higher cost
Higher latency

Smaller Model

可能:

Lower cost
Lower latency
Enough quality for simple tasks

所以:

不要永遠把所有 Requests 都送到最強、最大的 Model。


107. Cache 在 AI System

Cache 之前已詳細解釋過。

AI Inference 可能昂貴,所以有些情況可以 Cache:

Same deterministic request
↓
Previously generated result
↓
Return cached result

但要小心:

Personalized Prompt
Fresh Data
Non-deterministic Output
Sensitive Data

所以不是所有 AI Response 都適合 Cache。


108. Semantic Cache

Semantic Cache(語意快取):

不只比對 Request 字串完全相同,而是嘗試判斷兩個 Questions 在 Meaning
上是否足夠接近,再考慮重用 Response。

例如:

"How do I reset my password?"

"How can I change my password?"

字串不同,但 Semantic Meaning 很接近。

Trade-off:

如果判斷錯誤,可能回傳不適合的 Cached Answer。


109. Rate Limit 在 AI System

Rate Limiter 之前已詳細解釋過。

AI API 特別需要 Rate Limiting,因為每個 Request 可能消耗昂貴:

Tokens
GPU Compute
External API Cost

除了:

Requests per minute

也可能限制:

Tokens per minute

110. TPM

TPM = Tokens Per Minute

逐字:

Tokens
→ Tokens

Per Minute
→ 每分鐘

中文:

每分鐘 Token 數量

例如:

100,000 TPM

表示一分鐘允許處理的 Token 數量受到某個 Limit 約束。

具體計算規則要看 Provider。


111. RPM

RPM = Requests Per Minute

逐字:

Requests
→ 請求

Per Minute
→ 每分鐘

中文:

每分鐘請求數

因此 AI API 可能同時限制:

RPM
+
TPM

因為:

1 request with 100 tokens

和:

1 request with 100,000 tokens

Compute Cost 完全不同。


112. Guardrail

Guardrail(護欄 / 防護規則):

在 AI System 中:

用來限制或檢查 Input / Output,使 System 更符合 Safety、Policy 或
Product Requirements 的機制。

例如:

Input validation
Sensitive-data handling
Output checks
Allowed actions
Business rules

Guardrail 不代表 Model 永遠不會出錯,而是:

增加額外的控制層。


113. Prompt Injection

Prompt Injection

Prompt
→ 提示 / 指令

Injection
→ 注入

中文:

提示詞注入攻擊

意思:

惡意或不可信 Input 試圖讓 AI System 忽略原本
Instructions,執行不應執行的行為。

例如外部 Document 中故意寫:

Ignore all previous instructions...

如果 AI Application 無條件把它當成可信 Instruction,就可能出問題。


114. Untrusted Input

Untrusted Input(不可信輸入):

不能假設內容安全、正確或善意的 Input。

例如:

User Input
Web Content
Uploaded Documents
External Tool Results

AI System 要區分:

Instructions
vs
Untrusted Data

115. AI Observability

Observability 之前已經詳細解釋過。

AI System 除了傳統 Metrics:

Latency
Error Rate
Traffic
CPU/GPU Utilization

還可能需要:

Input Tokens
Output Tokens
TTFT
Tokens/sec
Model Error Rate
Retrieval Latency
Retrieval Quality
Cost per Request

116. Cost per Request

Cost per Request(每個請求成本):

平均處理一個 User Request 需要多少 Money / Compute Resource。

例如:

1 request
→ retrieval
→ 5K input tokens
→ 1K output tokens
→ model inference

每一步都可能有 Cost。


117. Evaluation

Evaluation(評估):

用一套方法衡量 AI System 的 Output 是否符合 Requirement。

傳統 API 很容易測:

2 + 2
expected = 4
actual = 4

但 LLM:

Explain Redis.

可能有很多不同但都合理的 Answers。

所以 AI Evaluation 通常更複雜。


118. Eval

Eval 是:

Evaluation

的常見簡稱。

中文:

評估

AI Team 可能建立:

Eval Dataset
Eval Cases
Eval Metrics

來比較:

Prompt A vs Prompt B
Model A vs Model B
RAG A vs RAG B

119. Eval Dataset

Eval Dataset(評估資料集):

一組專門拿來測試 AI System Quality 的 Examples。

例如:

Question
Expected facts
Expected behavior

當你更換 Model 或 Prompt,可以重新跑 Eval,看看 Quality 有沒有變差。


120. Regression

Regression(退化 / 回歸問題) 在 Software Quality Context:

修改 System 後,原本正常的功能或 Quality 反而變差。

例如:

New Prompt
↓
Coding answers improve
↓
But Chinese answers become worse

這可能就是一種 Regression。

Eval 可以幫助發現它。


121. Basic AI Architecture

                ┌──────────────────┐
                │      User        │
                └────────┬─────────┘
                         ↓
                ┌──────────────────┐
                │    Frontend      │
                └────────┬─────────┘
                         ↓
                ┌──────────────────┐
                │   API Service    │
                └────────┬─────────┘
                         ↓
                ┌──────────────────┐
                │ Prompt / Context │
                └────────┬─────────┘
                         ↓
                ┌──────────────────┐
                │   Model Server   │
                └────────┬─────────┘
                         ↓
                ┌──────────────────┐
                │       LLM        │
                └────────┬─────────┘
                         ↓
                  Streaming Response
                         ↓
                        User

122. Basic RAG Architecture Preview

Documents
↓
Chunking
↓
Embedding Model
↓
Vectors
↓
Vector Database

Query Path:

User Question
↓
Embedding Model
↓
Query Vector
↓
Retriever
↓
Vector Database
↓
Top-K Relevant Chunks
↓
Prompt Augmentation
↓
LLM
↓
Answer

123. AI System Design 的新 Bottlenecks

傳統 Web System 常問:

Database bottleneck?
CPU bottleneck?
Network bottleneck?

AI System 還可能多:

GPU Capacity
Model Loading
Context Length
Token Generation Speed
External Model API Limit
RPM
TPM
Inference Cost
Retrieval Quality
Hallucination

所以 AI System Design 不是把:

Backend

換成:

LLM

就結束。


124. 面試題:Training 和 Inference 差在哪?

可以回答:

Training is the process where a model learns patterns by adjusting its
internal parameters using training data. Inference happens after
training, when the trained model receives an input and produces an
output. In a typical AI application, user requests trigger inference
rather than retraining the model from scratch.

中文核心:

Training
→ Model 學習

Inference
→ Model 使用學到的能力回答

125. 面試題:Token 是什麼?

不要回答:

Token = Word

比較好的回答:

A token is a basic unit of text processed by a language model. A token
can be a whole word, part of a word, punctuation, or another text unit
depending on the tokenizer. The model processes token IDs rather than
raw text directly.


126. 面試題:Context Window 是什麼?

可以回答:

The context window is the amount of tokenized information a model can
consider during one processing context. It may include the user
prompt, conversation history, retrieved documents, system
instructions, and generated content, depending on the model and
application.


127. 面試題:Embedding 是什麼?

可以回答:

An embedding converts data such as text into a numerical vector.
Content with similar meaning can often be represented by vectors that
are close according to a similarity metric. This makes embeddings
useful for semantic search and retrieval systems.


128. 面試題:Vector Database 是什麼?

可以回答:

A vector database stores and indexes vectors so the system can
efficiently search for items with similar vector representations. In a
RAG system, document chunks can be converted into embeddings and
stored in a vector database, then relevant chunks are retrieved for a
user query.


129. 面試題:RAG 是什麼?

完整縮寫:

R
= Retrieval
= 檢索

A
= Augmented
= 增強的

G
= Generation
= 生成

可以回答:

RAG stands for Retrieval-Augmented Generation. The system first
retrieves relevant information from an external knowledge source and
then provides that information to the language model as context before
generation. It is useful when the application needs private,
domain-specific, or frequently updated knowledge.


130. 面試題:為什麼需要 GPU?

可以回答:

Deep learning models require a large amount of numerical computation,
especially matrix and tensor operations. GPUs are designed to perform
many numerical operations in parallel, so they are widely used for
model training and inference. However, whether a GPU is necessary
depends on the workload and model.


131. 面試題:Streaming 會讓 Model 算得比較快嗎?

不一定。

Streaming 主要是:

Generate some tokens
↓
Send immediately
↓
Continue generating

它可以改善:

Perceived Latency

但不代表:

Total computation automatically becomes smaller

132. 面試題:Temperature 越低越準嗎?

不能這樣簡化。

Temperature 主要控制:

Token Selection Randomness

Lower Temperature 通常讓 Output 更集中。

但:

Low Temperature
≠
Guaranteed Correct

如果 Model 不知道答案,Temperature 設很低仍可能產生錯誤內容。


133. 面試題:RAG 可以完全消除 Hallucination 嗎?

不能。

RAG 可以:

Provide relevant external evidence
Improve grounding

但仍可能:

Retrieve wrong documents
Miss important documents
Misinterpret context
Generate unsupported claims

所以 Production System 還需要:

Evaluation
Source Attribution
Guardrails
Monitoring

134. Source Attribution

Source Attribution

Source
→ 來源

Attribution
→ 歸屬 / 標示來源

中文:

來源標示

意思:

Answer 告訴 User 某個 Claim 主要依據哪份 Source。

例如:

According to Employee Handbook Section 5...

它可以幫助:

Verification
Trust
Debugging

但 Citation 本身也必須真的對應到支持 Claim 的 Source。


135. AI System Design 思考方式

傳統 System Design:

Requirement
↓
Traffic
↓
Storage
↓
Bottleneck
↓
Architecture
↓
Trade-off

AI System Design 仍然需要這些。

只是還要多問:

Which AI capability?
↓
Which model?
↓
How much context?
↓
Need RAG?
↓
Need private/current data?
↓
Latency requirement?
↓
Streaming?
↓
Expected tokens?
↓
Quality requirement?
↓
Cost budget?
↓
Safety requirement?
↓
Evaluation strategy?

136. Day 25 Interview Checklist

AI Basics
□ AI
□ Artificial Intelligence
□ ML
□ Machine Learning
□ Pattern
□ Model
□ Training
□ Training Data
□ Deep Learning
□ Neural Network
□ Layer

Language
□ NLP
□ Natural Language Processing
□ Language Model
□ LLM
□ Large Language Model
□ Parameter
□ Weight
□ GPT
□ Generative
□ Pre-trained
□ Transformer
□ Architecture
□ Attention
□ Sequence

Prompt / Token
□ Prompt
□ Token
□ Tokenizer
□ Token ID
□ Vocabulary
□ Context
□ Context Window
□ Truncation
□ Chunk
□ Chunking
□ Input Token
□ Output Token

Inference
□ Inference
□ Training vs Inference
□ Inference Cost
□ TTFT
□ Time To First Token
□ Token Generation
□ Autoregressive
□ Probability
□ Decoding
□ Temperature
□ Deterministic
□ Streaming Response
□ Perceived Latency

Embedding / Retrieval
□ Embedding
□ Vector
□ Dimension
□ Embedding Model
□ Semantic
□ Semantic Similarity
□ Similarity Search
□ Vector Space
□ Similarity Score
□ Metric
□ Cosine Similarity
□ Vector Database
□ Retrieval
□ Retriever
□ Top-K
□ Noise
□ Relevance

RAG
□ Hallucination
□ Factual
□ Grounding
□ Knowledge Cutoff
□ RAG
□ Retrieval-Augmented Generation
□ Augment
□ Prompt Augmentation
□ Source Attribution

Hardware
□ GPU
□ Graphics Processing Unit
□ CPU
□ Parallel Processing
□ Matrix
□ Tensor
□ Model Size
□ VRAM
□ Video Random Access Memory

Serving
□ Tokens Per Second
□ Batching
□ Utilization
□ Model Server
□ Model Loading
□ Cold Start
□ Warm
□ Autoscaling
□ Model Provider
□ Self-Hosted Model
□ Hosted API
□ Model Routing

Production
□ Quality
□ Quality-Latency-Cost Trade-off
□ Semantic Cache
□ TPM
□ Tokens Per Minute
□ RPM
□ Requests Per Minute
□ Guardrail
□ Prompt Injection
□ Untrusted Input
□ Cost per Request
□ Evaluation
□ Eval
□ Eval Dataset
□ Regression

137. 今天的新縮寫總整理

AI
= Artificial Intelligence
= 人工智慧

ML
= Machine Learning
= 機器學習

NLP
= Natural Language Processing
= 自然語言處理

LLM
= Large Language Model
= 大型語言模型

GPT
= Generative Pre-trained Transformer
= 生成式預訓練 Transformer

TTFT
= Time To First Token
= 產生第一個 Token 所需要的時間

RAG
= Retrieval-Augmented Generation
= 檢索增強生成

GPU
= Graphics Processing Unit
= 圖形處理器

CPU
= Central Processing Unit
= 中央處理器

VRAM
= Video Random Access Memory
= 顯示記憶體 / GPU 記憶體

TPM
= Tokens Per Minute
= 每分鐘 Token 數

RPM
= Requests Per Minute
= 每分鐘請求數

之前已經詳細學過的:

API
RPS
QPS
Latency
Throughput
Cache
Queue
Rate Limiter
Observability
Authentication
Authorization
ACID
CAP
SLI
SLO
SLA

今天就不再重複完整拆解。


138. 最重要的關係圖

Artificial Intelligence
        │
        ↓
Machine Learning
        │
        ↓
Deep Learning
        │
        ↓
Neural Network
        │
        ↓
Large Language Model

LLM Request:

Prompt
↓
Tokenizer
↓
Tokens / Token IDs
↓
LLM Inference
↓
Token Generation

上一篇
# Day 24|Design Uber:Location Update、Driver Matching、Geospatial Search 與 Real-Time Trip Tracking
系列文
30 天從 Full-Stack Engineer 進化到 System Design:從 0 設計可支撐百萬使用者的系統 共 25 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言