據說法餐的秘訣在于黃油、黃油、更多的黃油。同樣,對于DevOps而言,成功的三大秘訣是自動化、自動化、更高程度的自動化,而這一切歸根結底都在于構建能夠更快速地不斷發(fā)布新版軟件的流程。
盡管人們認為在人工智能(AI)和機器學習(ML)方面,包括特征工程和參數調整,仍然涉及大量的手動工作。但自動化在這些領域至關重要,而MLOps即機器學習運營已被證明對于各類企業(yè)來說都是一項出色的業(yè)務決策。其最終的目標是實現模型構建與研究的自動化,從而在整個開發(fā)流程中進一步實現協(xié)作和版本控制。
然而,由于生產中模型的動態(tài)性質,這并不總是那么容易實現。部署模型可能會改變反饋閉環(huán)和數據,因此需要不斷地重新訓練和更新。要想在不進行過多人工干預的情況下安全地反復重新部署模型,自動化就至關重要。
采用機器學習來優(yōu)化使用
在DevOps環(huán)境中預測使用模式包括以下兩種基本現實場景:
第一種情況,根據DevOps成熟度對企業(yè)進行分類,以確定其成熟度以及產品使用中存在的差距。例如,如果訂購的工具級別較低,但卻有更高級的需求和要求,升級到更高級別就可能會有所幫助。DevOps決策者需要根據團隊的使用模式來生成個性化建議,以優(yōu)化效率。
第二種情況,重點更多在于預測使用模式和檢測異常,以識別異常情況的發(fā)生時間,并提前一到三個月提出使用見解。這有助于評估DevOps工作流程的健康狀況,識別積極或消極的趨勢,并更輕松地處理任何突發(fā)異常情況。持續(xù)的分析以及部署和監(jiān)控工作可確保高質量的模型投產。
這兩種場景類似于銷售代表在Salesforce中使用模型的方式。他們會收到有關客戶成熟度評級、反饋和可解釋性的信息??山忉屝缘牟糠謺钊氲靥峁┯嘘P模型將客戶分為高、中或低成熟度的原因。造成這種分類的因素有許多,包括客戶體驗、培訓、技術使用和聯(lián)系人數量。這些信息使銷售代表能夠與客戶進行更有效的對話,并提出適當的升級或改進建議。
此類分類模型可以使用CatBoost等工具來構建。CatBoost是一款強大的Python機器學習包。這些工具可以處理標簽和缺失值,從而簡化建模過程??蓪Ω鞣N輸入進行考量,包括網站訪問、活動出席、自由文本分析、位置、使用模式和第三方數據,以確定企業(yè)的DevOps成熟度。即使數據集不完整,通過將這些因素納入考量,仍能產出有價值的見解。
利用時間序列數據來優(yōu)化使用
時間序列數據模型也可用于預測使用模式。時間序列模型旨在預測給定月份剩余時間以及未來幾個月的使用情況,以此分析歷史使用數據,并識別趨勢和異常情況。
時間序列數據工具使團隊能夠以圖表的形式實現歷史使用數據的可視化,顯示周末的使用率較低,而工作日的使用率較高。通過分析這些數據,模型可以預測未來趨勢,并提供有關企業(yè)健康狀況的見解。如果預測使用率下降,可視化結果可能會顯示出負面趨勢,企業(yè)便可采取積極措施來解決這一問題。相反,如果預測使用率增加,企業(yè)就可以與供應商合作采取措施,確保能夠有效地利用工具。
通過將預測的使用情況與圖表上呈現的實際使用情況進行比較,便可識別異常情況。預測數據與實際數據之間的巨大差距表明存在異常,異常情況可能有多重含義,如使用量增加或產品使用不當。及時識別并解決異常對于確保運營效率非常重要。
總之,時間序列模型可以讓企業(yè)預測使用情況,追蹤趨勢,識別異常,并采取適當的措施以提高產品利用率。
LSTM模型的長與短
事實證明,長短期記憶(LSTM)模型是優(yōu)化使用的絕佳方法。為此,模型的輸入通常包括三個主要部分:歷史每日使用數據、節(jié)假日信息以及工作日/周末指標。利用這些輸入,模型就能生成非常準確的預測。
LSTM模型可以生成時間點快照,包括創(chuàng)建不同時間段的數據集,以測試模型在多種配置下的性能。Alation等創(chuàng)建SQL查詢的工具可用于管理這些數據集,且便于與內部團隊成員共享。
團隊還需要實施驗證和測試流程以確保模型的可靠性。特征重要性對此過程至關重要,且不隨時間發(fā)生變化。特征重要性的變化可表明數據或模型本身存在問題,因此對這些變化的追蹤和監(jiān)控有助于識別潛在問題。
此外,還需要考慮對輸入數據(分類型和數值型)進行測試。對于分類數據,數量和類別的一致性很重要。同時,對數值數據的平均值和標準差等指標進行監(jiān)控,有助于檢測可能需要注意的顯著變化。
數據驗證、監(jiān)控和測試對于確保模型的準確性和可靠性至關重要。
通過評估與驗證來比較配置
在比較不同配置(尤其是LSTM模型)時,Valohai等工具使團隊能夠對不同時間范圍的多個參數和數據快照執(zhí)行網格搜索。提供準確率、召回率和精確率等衡量標準,幫助確定模型的最佳配置。
現代ML工具的價值在于存檔、共享、以及對執(zhí)行和結果進行審查的能力。它們還允許對模型性能指標進行調整,而無需全部重新運行。當業(yè)務需求發(fā)生變化時,這將有助于選擇符合新目標的不同配置。
在部署方面,模型通常是按照計劃的時間運行批處理,每天在策略時間執(zhí)行兩次。這可確保企業(yè)在一日之初即擁有最新數據,且全天能接收更新。應定期對模型進行再訓練,以納入新數據。
應密切監(jiān)控與預期措施的偏差以及在范圍上的重大變化,并觸發(fā)自動警報,以便及時采取行動。此外,日常用戶的反饋在評估模型性能方面起著至關重要的作用,因為這些反饋往往超越了召回率和精確率等傳統(tǒng)指標。關閉反饋閉環(huán)可確保根據實時用戶體驗和反饋進行持續(xù)改進。
推動價值與效率的提升
創(chuàng)建經過驗證且安全的數據科學和模型訓練是許多現代企業(yè)面臨的挑戰(zhàn)。通過應用經過驗證且有效的DevOps實踐,實現從構思到生產和部署的AI和ML流程自動化,對于希望優(yōu)化在整體技術堆棧中工具使用的企業(yè)能夠提供巨大的價值。
歸根結底,這種做法極具商業(yè)意義。它能夠避免閑置工具或功能方面的額外支出,從而提高利潤。也許更重要的是,它能鼓舞團隊士氣、提高生產力、留住人才,因為團隊成員不會被迫執(zhí)行重復、乏味且耗時的DevOps任務。任何開發(fā)人員都會喜歡這樣的環(huán)境。