協助您改進現有的或未來的機器學習工作流程與 MLTK 或 DLTK

發布日期:2021/11/17

你們中的任何一個都熟悉 SPLUNK的機器學習工具包(MLTK)SPLUNK 的深度學習工具包 (DLTK),並且已經開始與任何一個合作來解決安全、操作、DEVOPS 或業務使用案例。 我經常聽到的關於 MLTK 的一個常見問題是,如何在 SPLUNK ENTERPRISE或 SPLUNK CLOUD中組織數據流。 在此博客文章中,我想分享一些典型的數據流模式,這將有助於您改進現有的或未來的機器學習工作流程與 MLTK 或 DLTK。 

基本模式:直接Fit和Apply
MLTK主要依靠「Fit和Apply」的經典機器學習模式。 這意味著你經常有兩個運動部件。 假設您用| Fit... into Model在臨時搜索中,例如為模型打分,或在預定的搜索中,例如以連續的方式對模型進行再培訓。 然後,您將有另一個搜索,使用| Apply模型在新數據上臨時運行它,或者在生成報告或基於模型結果的警報的預定搜索中再次運行它。 下圖可視化此基本Fit模式,並在處理在Splunk企業或Splunk Cloud中索引的數據時應用。 



這對於許多簡單使用案例非常有效,您可以在幾分鐘內使用 MLTK 創建高效的機器學習管道。 雖然這種基本模式非常適合快速和臨時任務,但當數據流變得複雜一些時,您最有可能進入另一個階段。

中間模式:匯總索引
當模型依賴於多個數據源並涉及較重的SPL提升時,事情可能會變得更加棘手。 這種情況通常是需要更多預處理步驟(如數據轉換以進行清潔、合併、塗鴉或一般功能工程)時的情況。 摘要索引是一種標準技術,允許您將搜尋結果簡單地作為鍵值對寫入任意定義的事件索引或純數值時間系列數據的指標索引中。 從本質上講,這有助於將正在進行的功能和統計數據計算拆分到單獨的索引中,該索引通常查詢速度要快得多,而不是一次又一次地對大量歷史數據進行大量計算的搜索。 或者,數據模型也有助於加速這一方面。 



對於 MLTK 來說,這意味著您運行您的| Fit匯總索引或數據模型,而不是原始數據,這些原始數據可以顯著加快整體處理時間,尤其是在涉及SPL方面更繁重的重擔時。 作為| Apply在計算上通常不如| Fit要求高,我們可以應用所有轉換在新的原始索引數據,然後或 - 與一定的時間滯後 - 在匯總索引數據。 此 .conf19 談話中描述的第一個用例是利用此匯總索引模式,如果您正在尋找網路安全異常檢測使用案例的特定範例。 

高級模式:反饋豐富
最後,如果您考慮允許使用者在培訓管道中添加更多數據的迴圈中計算機學習系統,事情可能會變得更加複雜。 這些數據可以是合成生成的數據點的其他功能,也可以是更改參數以調整異常檢測模型的靈敏度。



假設反饋可以隨時間而變化,但與某些唯一標識符相關,那麼 Splunk 的KVStore 非常適合這一要求,並允許進一步豐富培訓數據,例如將使用者生成的標籤納入分類器模型。  Splunk 的 DGA 應用程式為您提供了該模式的示例,如果您對"迴圈中的人類"機器學習使用案例有類似的要求,則希望?明您快速啟動。 當然,您也可以將 KVStore 與匯總索引相結合,以跟蹤隨時間推移的所有變化。 此方法可用於審計目的,並創建另一個數據層,可用於進一步監督學習任務,因為它包含為給定案例生成的標籤。 

最後但並非最不重要的一點,值得一提的是,上面描述的一些相同的構建基塊也有助於改進您的機器學習操作("MLOps")。 在之前的一篇博文中,我們分享了一些示例,說明基於 MLTK 的操作中的各種日誌和指標如何可用於這些目的。 

返回上一頁