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