路徑與漂移
底下那台機器不會乖乖不動。
上週最快的路徑,這週不一定還是。MMPF 用 bandit 學路徑偏好,並跑一台狀態機 —— 那台機器唯一的工作,就是察覺它學到的東西什麼時候不再成立。
路徑
v1.0 基準裡出現五條路徑。每一條是「試除上界」與「其後的重方法」的不同組合。
| 路徑 | 形狀 |
|---|---|
no_tree_ecm_light | 不用餘數樹,輕量 ECM |
tree_1000_rho | 樹到 1,000,接 Pollard rho |
tree_1000_ecm_medium | 樹到 1,000,接中量 ECM |
tree_10000_rho | 樹到 10,000,接 rho |
tree_100000_rho | 樹到 100,000,接 rho |
沒有任何一條路徑支配其他。那是整個 Runtime 的前提 —— 如果有,就沒有東西要選,也沒有東西要證明。
學習偏好
v0.6 與 v0.7 在 20 個亂數種子上,以對等條件比較了 LinUCB、Thompson 抽樣與折扣 Thompson 抽樣。得到的 600 筆決策被記成一份 MMLF 帳本 —— 這就是為什麼它們可以被一個沒有參與生產它們的 Runtime 重播。
已驗證
mmpf_bandit_decisions —— 600 筆交易,在官方 MMLC Runtime 1.0.0 下 PASS。
漂移狀態機
光是折扣舊證據並不夠,因為它說不出世界是什麼時候變的。狀態機把這件事講明白。
- STABLE
- SUSPECTED
- CONFIRMED
- COOLDOWN
- RECOVERING
把狀態命名出來的價值在於:SUSPECTED 和 CONFIRMED 是不同的,COOLDOWN 和 RECOVERING 也是。一個只有「是否漂移」這個布林值的系統,分不出「懷疑」與「認定」,也分不出「不再漂移」與「已經恢復」。
機器輪廓
預測成本只有相對於一台機器才有意義。mmpf calibrate 量測主機並寫出一份輪廓,而憑證會記下它是對著哪一份輪廓簽發的。
bash
mmpf calibrate --output machine/my_machine.json- 一份機器輪廓可攜的 —— 一台主機的輪廓預測的是那台主機
- 格式與敏感度測試一份獨立的實體機器資料集
後面那一條,是這個版本之所以是候選的四個理由中的第二個。合成輪廓檢驗的是格式與選擇器的敏感度,它們不是「輪廓可以在真實機器之間轉移」的證據。