跳轉到

第四部分:成本監控

< 返回目錄 | < 上一題:處理時間監控 | 下一題:月度成本預測 >


從延遲到成本

Q3 你完成了延遲監控。但某天你發現一個問題:帳單比預期高 5%,而且每月波動很大

這是另一種異常:成本異常。系統運作正常,但費用失控。

API 是按 token 計費的,但每次請求的 token 數不固定。要設成本告警,你得先知道:

  • 正常成本是多少?(期望值)
  • 波動從哪裡來?(變異數的來源)
  • 為什麼帳單比預估高?(取整損失)

第 4 題:Token 計費模型


(a) Token 數量分布

3 分大二

第一個問題:每次請求產生多少 token?

你需要知道:建模 token 數量的分布

假設每次請求的輸出 token 數 \(T\) 服從指數分布,平均 \(E[T] = 1000\) tokens。

題目

  1. \(T\) 的參數 \(\lambda\)
  2. 計算 \(P(T > 2000)\)(超過 2000 tokens 的機率)
  3. API 按 100 tokens 為單位向上取整計費,令 \(W = 100 \cdot \lceil T/100 \rceil\)。計算 \(P(W = 100)\)\(P(W = 200)\)
解答
  1. \(E[T] = \frac{1}{\lambda} = 1000 \Rightarrow \lambda = 0.001\)

  2. \(P(T > 2000) = e^{-0.001 \times 2000} = e^{-2} \approx 0.135\)

  3. \(W = 100\) 當且僅當 \(0 < T \leq 100\)

    \[P(W = 100) = P(T \leq 100) = 1 - e^{-0.1} \approx 0.095\]

    \(W = 200\) 當且僅當 \(100 < T \leq 200\)

    \[P(W = 200) = e^{-0.1} - e^{-0.2} \approx 0.086\]
這個計算有什麼用?

理解計費結構:向上取整意味著「實際支付 > 實際使用」,這就是為什麼帳單比預期高。

初步診斷:13.5% 的請求會超過 2000 tokens,這些「長尾請求」會顯著拉高平均成本。

數學小結:你剛才用了 Exponential 分布建模

Token 數量用 Exponential 分布 建模,是因為它的「無記憶性」:

  • 已經生成了 500 tokens,「還要再生成多少」的分布跟「從頭開始」一樣
  • 這符合 LLM 逐 token 生成的特性(簡化假設)
性質 公式
PDF \(f(t) = \lambda e^{-\lambda t}\)\(t \geq 0\)
CDF \(F(t) = 1 - e^{-\lambda t}\)
期望值 \(E[T] = 1/\lambda\)
變異數 \(\text{Var}(T) = 1/\lambda^2\)
無記憶性 \(P(T > s+t \mid T > s) = P(T > t)\)

(b) 取整損失分析

4 分大三

關鍵問題:向上取整導致的「額外支出」是多少?

你需要知道:比較 \(E[W]\)\(E[T]\)

題目

  1. 證明取整後的計費金額 \(W\) 服從某種離散分布,並推導其 PMF
  2. 計算 \(E[W]\)
  3. 計算取整損失率 \(\frac{E[W] - E[T]}{E[T]}\)
提示

\(q = e^{-0.1}\),觀察 \(P(W = 100k)\) 的形式。

解答
  1. \(P(W = 100k) = P(100(k-1) < T \leq 100k) = e^{-0.1(k-1)} - e^{-0.1k}\)

    \(= e^{-0.1(k-1)}(1 - e^{-0.1}) = (1-q) q^{k-1}\),其中 \(q = e^{-0.1} \approx 0.905\)

    這是 Geometric 分布(乘以 100)!

  2. \(E[W] = 100 \cdot E[\text{Geom}(1-q)] = \frac{100}{1-q} = \frac{100}{1 - e^{-0.1}} \approx 1052\) tokens

  3. 取整損失率 = \(\frac{1052 - 1000}{1000} = 5.2\%\)

這個計算有什麼用?

解釋帳單差異:這 5.2% 就是「為什麼帳單比預估高」的原因!

談判策略:如果能將計費單位從 100 改為 50,取整損失會減半。

計費單位 取整損失率
100 tokens 5.2%
50 tokens 2.6%
10 tokens 0.5%
數學小結:離散化產生了 Geometric 分布

當連續的 Exponential 分布被「向上取整」時,離散化後的結果服從 Geometric 分布(縮放版)。

這個現象叫做「離散化」:

  • 原始分布:\(T \sim \text{Exp}(\lambda)\)(連續)
  • 離散化後:\(W/\Delta \sim \text{Geom}(1 - e^{-\lambda\Delta})\)(離散)
性質 公式
PMF \(P(W = k\Delta) = (1-q) q^{k-1}\)\(q = e^{-\lambda\Delta}\)
期望值 \(E[W] = \frac{\Delta}{1-q}\)
取整損失 \(\frac{E[W] - E[T]}{E[T]} = \frac{\lambda\Delta/2}{1 - e^{-\lambda\Delta}} - \frac{1}{2} \approx \frac{\lambda\Delta}{2}\)(小 \(\Delta\)

© 每秒總成本分布

4 分碩一

整合問題:每秒有 \(N \sim \text{Pois}(200)\) 個請求,每個請求的計費金額 \(W_i\) 獨立同分布。令 \(C = \sum_{i=1}^{N} W_i\) 為每秒總成本。

你需要知道:「隨機數量的隨機金額」加總的分布

題目

  1. 說明 \(C\) 服從什麼分布(名稱即可)
  2. 用全期望公式計算 \(E[C]\)
  3. 用全變異公式計算 \(\text{Var}(C)\)
解答
  1. \(C\) 服從 複合 Poisson 分布(Compound Poisson)

  2. 全期望

    \[E[C] = E[E[C|N]] = E[N \cdot E[W]] = \lambda \cdot E[W] = 200 \times 1052 = 210400 \text{ tokens/秒}\]
  3. 全變異

    \[\text{Var}(C) = E[\text{Var}(C|N)] + \text{Var}(E[C|N])\]
    \[= E[N] \cdot \text{Var}(W) + E[W]^2 \cdot \text{Var}(N)\]
    \[= \lambda \cdot \text{Var}(W) + E[W]^2 \cdot \lambda = \lambda \cdot E[W^2]\]

    (需要計算 \(E[W^2]\),這裡省略細節)

數學小結:複合 Poisson 分布

當「事件數」服從 Poisson、「每次事件的量」獨立同分布時,總量服從 複合 Poisson 分布

性質 公式
全期望 \(E[C] = \lambda \cdot E[W]\)
全變異 \(\text{Var}(C) = \lambda \cdot E[W^2]\)

這在保險、金融、網路流量分析中非常常見。

進階:全變異公式推導

3 分碩一

你想進一步了解:成本波動是從哪來的?是請求數量不穩定,還是單次金額不穩定?

你需要知道:如何分解總變異數的來源?

題目:推導全變異公式(Law of Total Variance):

\[\text{Var}(C) = E[\text{Var}(C|N)] + \text{Var}(E[C|N])\]

並說明每一項的物理意義。

推導

起點\(\text{Var}(C) = E[C^2] - (E[C])^2\)

Step 1:展開 \(E[C^2]\)

\[E[C^2] = E[E[C^2|N]]\]

由於 \(E[C^2|N] = \text{Var}(C|N) + (E[C|N])^2\),得:

\[E[C^2] = E[\text{Var}(C|N)] + E[(E[C|N])^2]\]

Step 2:展開 \((E[C])^2\)

\[(E[C])^2 = (E[E[C|N]])^2\]

Step 3:相減

\[\text{Var}(C) = E[\text{Var}(C|N)] + \underbrace{E[(E[C|N])^2] - (E[E[C|N]])^2}_{\text{Var}(E[C|N])}\]
\[= E[\text{Var}(C|N)] + \text{Var}(E[C|N]) \quad \square\]
這個推導有什麼用?

物理意義

  • 第一項 \(E[\text{Var}(C|N)]\):「給定請求數 \(N\),成本的波動」的期望

    • 這是單次金額的變異性貢獻
    • 對應:\(E[N] \cdot \text{Var}(W)\)
  • 第二項 \(\text{Var}(E[C|N])\):「給定請求數 \(N\),成本期望值」的波動

    • 這是請求數量的變異性貢獻
    • 對應:\(\text{Var}(N) \cdot (E[W])^2\)

實務決策:比較兩項大小,決定優化方向

  • 第一項大 → 優化單次金額的穩定性(如:壓縮輸出長度)
  • 第二項大 → 優化流量的穩定性(如:流量平滑、限流)

第 4 題小結:你的成本監控工具箱

「單次請求成本分布?」
    ├─► 工具:Exponential → 離散化 → Geometric
「取整損失多少?」
    ├─► 公式:E[W] - E[T] ≈ 5% 的隱藏成本
「每秒總成本分布?」
    ├─► 工具:複合 Poisson 分布
「成本波動從哪來?」
    └─► 工具:全變異公式(分解變異來源)

< 返回目錄 | < 上一題:處理時間監控 | 下一題:月度成本預測 >