機器學習是計算機科學中發展最迅速的領域之一。不幸的是,對於一些既不是數據科學家也不是ML開發人員的客戶來說,他們仍然不清楚如何處理它,儘管他們確實知道他們需要將人工智慧融入產品。
以下是我們從客戶那裡得到的關於ML質量保證的最常見問題。
為了了解ML的工作原理,我們來仔細了解一下ML模型的本質。
經典算法/硬編碼函數和基於ML的模型有什麼區別?
從白盒的角度,特別是從系統的構建方式來看,就有些不同了。核心區別在於。
函數是根據你的數據通過特定的算法來擬合的。你可以驗證模型係數的ETL部分,但你不能像其他參數一樣輕鬆驗證模型質量。
模型審查程序類似於代碼審查,但是是為數據科學團隊量身定做的。我沒有看到很多QA工程師參與這個特殊的程序,但接下來就是模型質量評估、改進等。評估本身通常發生在數據科學團隊內部。
1.簡單,但昂貴的方法: 每天在新的數據集上重新訓練。在這種情況下,你需要為你的服務找到合適的平衡點,因為再訓練與你的基礎設施成本高度相關。
2.複雜的方法。取決於你如何收集反饋。例如,對於二進位分類,你可以計算指標:精度、召回率和f1得分。根據這些參數寫一個動態模型評分的服務。如果低於0.6,就是警報;如果低於0.5,就是重大事件。
向客戶描述黑盒,並向客戶提供測試數據和可以處理和可視化輸出的服務。
描述所有的測試層,你是否在ETL層上驗證數據和模型功能,以及你是如何做的。
製作模型質量報告。向客戶提供模型質量指標與標準值。從你的數據科學家那裡得到這些。
你需要對任何生產推送以及任何其他軟體進行QA審查。
執行黑盒冒煙測試。根據功能嘗試各種類型的輸入。
用測試數據的樣本驗證生產伺服器上的模型指標。如果需要,隔離prod伺服器的部分,這樣用戶就不會受到測試的影響。
當然,要確保你的白盒測試是通過的。
了解你的模型和數據的可接受標準差。花一些時間與你的數據科學家一起深入研究模型類型和算法的技術方面。