MMPF 1.0.0rc1
English

路徑與漂移

底下那台機器不會乖乖不動。

上週最快的路徑,這週不一定還是。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

把狀態命名出來的價值在於:SUSPECTEDCONFIRMED 是不同的,COOLDOWNRECOVERING 也是。一個只有「是否漂移」這個布林值的系統,分不出「懷疑」與「認定」,也分不出「不再漂移」與「已經恢復」。

機器輪廓

預測成本只有相對於一台機器才有意義。mmpf calibrate 量測主機並寫出一份輪廓,而憑證會記下它是對著哪一份輪廓簽發的。

bash
mmpf calibrate --output machine/my_machine.json
  • 一份機器輪廓可攜的 —— 一台主機的輪廓預測的是那台主機
  • 格式與敏感度測試一份獨立的實體機器資料集

後面那一條,是這個版本之所以是候選的四個理由中的第二個。合成輪廓檢驗的是格式與選擇器的敏感度,它們不是「輪廓可以在真實機器之間轉移」的證據。