MLOps是過度工程嗎?- Reddit

banq發表於2022-04-25

資料工程比 DS資料科學 更受歡迎。不幸的是,ML(過度)工程是造成這種情況的一個原因。
以前可以使用 crontab 和 15 行 shell 自動化模型;而現在,你需要在你的 XGBoost 模型後面有一大堆 Airflow、Kafka、Snowflake、Spark、Stitch、Grafana、Presto、Amazon Athena、Redshift 等。

我見過的90%以上的ML模型甚至都不足以證明任何一種複雜的自動化。最愚蠢的模型是聚類模型,同樣的老式k-means擬合了30次,與客戶的業務知識相匹配。2年後,這些模型就完全沒用了。

我覺得這個行業將ML工程過度複雜化。

我知道很多公司不願意做廣泛的智慧A/B測試來獲得可操作的見解,但DS模型 "需要 "大量的DE資料工程工作。

今天的大多數模型比3-5年前好1%,但它們 "需要 "更多的用心、工具、自動化、維護和監控等等。

回答
1. 這是因為公司不具備正確使用機器學習的成熟度,因為你需要基礎設施到位。
這就是資料工程(部署前)和MLOps(部署後)的意義所在。

不過,過度複雜化也不是真的,你可以用Databricks或azure ML或AWS/GCP的任何其他工具從A-Z做整個工作流程。

其實,誰會在乎你的模型是否在筆記本上,最後出現在power point演示中?你必須部署它,這意味著你需要自動化你的資料管道,有某種模型的版本,監測資料/剩餘物,......


2. 如果一個模型需要在生產中執行,它就必須進行原始碼控制、測試、審查、部署和監控。
在某些時候,所有這些都會從自動化中受益。我們從幾十年的軟體工程學習中瞭解到這一點,一個模型到頭來不亞於一個軟體(但可以說更多,例如,你的典型後端系統不會漂移,可能不需要非常專業的硬體等)。

因此,你可能會有一個合法的情況,一個小的shell指令碼和一個cron job就是你所需要的全部,就像網站管理員只需要在某個資料夾上ftp一個.php。但是,隨著團隊和它所管理的模型數量的增加,這種情況很快就不復存在了。

問題就在於此。

資料科學剛剛起步,對MLOps的需求更是如此,所以我們還沒有做某些事情的典型方法,也沒有真正瞭解我們所擁有的解決方案的利弊(以及它們的實際質量與廣告質量)。

任何以任何身份接觸程式碼的人都偏向於過度工程化,誇大了他們對自動化的需求,低估了整合和維護工具的成本。

決策者,甚至是技術決策者,仍然會因為某種令人費解的原因而被同樣的 "即插即用 "的銷售口號所迷惑(還記得2000年代/2010年初的 "整個公司的自助分析,只要把我的東西插到你的資料庫裡,讓企業擁有資料就好了 "的浪潮嗎)?


 

相關文章