技術指南

超參數調優

超參數是您在訓練前選擇的設置,例如學習率或模型大小,模型不會自行學習。

概述

超參數是您在訓練前選擇的設置,例如學習率或模型大小,模型不會自行學習。調整好它們通常是平庸模型和優秀模型之間的差異。

超參數調優是一個技術構建塊,會大規模影響模型品質、基礎設施成本、延遲和可靠性。

深入探討

模型參數(權重)是在訓練期間從資料中學習的。超參數則不同:它們是您預先設定的控制學習如何發生的旋鈕,例如學習率、批量大小、層數、正則化強度以及訓練時間。它們無法直接透過梯度下降進行最佳化,因此您可以透過訓練許多候選模型並在驗證集上進行比較來搜尋良好的值。最簡單的方法是網格搜索,在預先定義的網格上嘗試每種組合,但它的擴展性非常差。隨機搜尋通常透過採樣組合更快找到好的設定。更高級的貝葉斯優化建立了一個機率模型,其中的設定看起來很有希望,並將搜尋集中在那裡。學習率通常是最有影響力的超參數。

技術洞察

由於超參數控制訓練過程而不是由訓練過程進行調整,因此您將調整視為圍繞訓練的外部最佳化循環。每次試驗都使用一種配置訓練模型,並根據保留的驗證資料對其進行評分。貝葉斯方法,例如使用高斯過程或樹結構 Parzen 估計器的方法,對配置和驗證分數之間的關係進行建模,然後選擇下一個試驗來平衡探索不確定區域與利用已知良好區域。像 Hyperband 這樣的早期停止方案會儘早終止表現不佳的試驗,以便將計算花在重要的地方。至關重要的是,最終的測試集在調整過程中必須保持不變,以避免洩漏資訊。

掌握超參數調優

超參數是您在訓練前選擇的設置,例如學習率或模型大小,模型不會自行學習。調整好它們通常是平庸模型和優秀模型之間的差異。超參數調優是一個技術構建塊,會大規模影響模型品質、基礎設施成本、延遲和可靠性。為了建立深入的理解,請將超參數調優視為一種操作模型,而不是單一功能:定義所需的結果,澄清假設,並將系統可以可靠地執行的操作與仍需要專家判斷的操作分開。

在實踐中,強大的團隊使用超參數調優根據可靠性和成本優化架構、資料和基礎設施選擇。他們記錄明確的成功標準,根據實際數據和工作流程進行測試,並根據觀察到的失敗模式而不是一次性基準測試勝利進行迭代。這就是理論理解轉變為跨產品、政策和營運的持久能力的地方。

多年來,架構決策決定著效能和營運成本。同時,優化一個基準測試可以隱藏更廣泛的系統弱點。最具彈性的方法是將實驗速度與治理規則結合:運行試點、捕獲證據、發布決策日誌,並隨著模型行為、使用者期望和監管要求的發展不斷更新保障措施。

戰略影響

多年來,架構決策決定著效能和營運成本。

多年來,架構決策決定著效能和營運成本。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。

技術教育幫助團隊選擇正確的堆疊,而不僅僅是最新的堆疊。

技術教育幫助團隊選擇正確的堆疊,而不僅僅是最新的堆疊。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。

更好的工程選擇可以減少生產中的可靠性事故。

更好的工程選擇可以減少生產中的可靠性事故。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。

超參數調優的未來

手動和基於網格的調整正在讓位於自動化機器學習 (AutoML) 和更聰明的搜索,例如貝葉斯優化和 Hyperband,它們使用計算的效率要高得多。隨著基礎模型的發展,每次試驗的完全再訓練變得異常昂貴,因此註意力正在轉向更便宜的代理、從小規模運行中預測良好設置的縮放法則,以及調整輕量級適配器而不是整個模型。預計調整將變得越來越自動化和預算意識,透過工具明確地權衡搜尋成本和預期收益。

現實世界的實施

將學習率掃描幾個數量級,以找到網路快速訓練而不發散的值。

使用隨機搜尋來調整表格資料上梯度提升模型的樹深度、樹數和學習率。

運行貝葉斯優化,在有限的 GPU 預算上聯合調整深度網路的正則化強度和批量大小。

應用 Hyperband 來短暫訓練數十種配置,然後只為最有希望的倖存者提供更多的時期。

實施模式

超參數調優實踐

將學習率掃描幾個數量級,以找到網路快速訓練而不發散的值。

將學習率掃過幾個數量級,以找到網路快速訓練而不發散的價值。當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並追蹤一段時間內的生產力增益和錯誤成本時,通常會獲得更好的結果。

超參數調優實踐

使用隨機搜尋來調整表格資料上梯度提升模型的樹深度、樹數和學習率。

使用隨機搜尋來調整表格資料上的梯度提升模型的樹深度、樹數量和學習率當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並隨著時間的推移跟踪生產力增益和錯誤成本時,通常會獲得更好的結果。

超參數調優實踐

運行貝葉斯優化,在有限的 GPU 預算上聯合調整深度網路的正則化強度和批量大小。

運行貝葉斯優化,在有限的 GPU 預算上聯合調整深度網路的正則化強度和批量大小。當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並隨著時間的推移追蹤生產力增益和錯誤成本時,通常會獲得更好的結果。

超參數調優實踐

應用 Hyperband 來短暫訓練數十種配置,然後只為最有希望的倖存者提供更多的時期。

應用 Hyperband 來簡單地訓練數十種配置,然後只為最有希望的倖存者提供更多的 epoch。當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並隨著時間的推移追蹤生產力增益和錯誤成本時,通常會得到更好的結果。

風險與防護欄

!

優化一項基準測試可以隱藏更廣泛的系統弱點。

!

基礎設施和維護成本常常被低估。

!

隨著系統變得更加複雜,安全性和可觀察性差距可能會擴大。

實施路線圖

1

在實施之前定義延遲、品質和成本目標。

在實施之前定義延遲、品質和成本目標。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

2

在實際負載和資料條件下進行基準測試。

在實際負載和資料條件下進行基準測試。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

3

儀器監控錯誤、漂移和使用者影響。

儀器監控錯誤、漂移和使用者影響。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

4

在擴展之前準備回滾和事件回應路徑。

在擴展之前準備回滾和事件回應路徑。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

不斷探索