MLOps/模型最佳化
Optuna 5.0 更換預設搜尋策略,並以 Rustuna 處理大規模試驗的框架開銷
Optuna 5.0 首度自 1.5 版大幅調整預設取樣器,讓單目標搜尋採用多變量 TPE 與 Constant Liar,多目標搜尋則由 NSGA-II 改為 TPE。同步公開的 Rustuna 以 Rust 重作相容核心,瞄準數十萬次快速評估時由取樣與儲存造成的瓶頸。

Preferred Networks 於 9 月 7 日發布 Optuna 5.0。這次升級最直接的影響不是增加另一個取樣器,而是改變未明確指定 sampler 的既有研究:單目標 `TPESampler` 預設啟用 multivariate TPE,共同估計參數分布以捕捉交互作用,並開啟 Constant Liar,避免平行 worker 因只看到相同的已完成 trial 而反覆提出近似候選點。多目標最佳化則以 TPE 取代 NSGA-II;團隊表示先前阻礙採用的執行速度問題已經改善,但完整追試細節仍待另文公開。
制約最佳化也由 sampler 專屬介面升為核心 `Trial` API。目標函式可透過 `trial.set_constraint()` 寫入限制,再由 `trial.constraints` 讀取;原有 `constraints_func` 路徑開始淘汰。參數重要度預設值則從 f-ANOVA 換成 PED-ANOVA,支援條件式搜尋空間與多目標 study。穩定版 `GPSampler` 進一步加入 qLogEI、qLogCEI、qLogEHVI 與 qLogCEHVI:它從高斯過程後驗抽樣仍在執行的 trial 結果,讓批次建議納入不確定性,而非替未完成點指定單一假值。
同日公開的 Rustuna 提供 Python API 相容方向的 Rust 實作,涵蓋 TPE、NSGA-II、CMA-ES 與隨機搜尋,並可丟棄搜尋不再需要的歷史資料。官方聲稱在目標函式很快時可快數倍至數百倍,但這是依 sampler 與試驗規模變動的首方結果,不能外推至由模型訓練主導成本的工作。工程團隊升級前應固定舊版與新版種子重跑代表性 study;預設演算法、可行性判定、時間戳 UTC 正規化及多個已移除 API,都可能讓結果或資料管線改變。