新聞中心
?

成都網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、成都網(wǎng)站建設(shè)、微信開發(fā)、小程序設(shè)計(jì)、集團(tuán)成都企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。核心團(tuán)隊(duì)均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗(yàn),服務(wù)眾多知名企業(yè)客戶;涵蓋的客戶類型包括:成都玻璃鋼雕塑等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗(yàn),同時(shí)也獲得了客戶的一致認(rèn)可!
數(shù)據(jù)科學(xué)面臨著類似的挑戰(zhàn)。盡管數(shù)據(jù)科學(xué)團(tuán)隊(duì)錯(cuò)過初始要求的風(fēng)險(xiǎn)現(xiàn)在威脅較?。ㄟ@將在未來十年發(fā)生變化),但將數(shù)據(jù)科學(xué)自動(dòng)部署到生產(chǎn)中所固有的挑戰(zhàn)使許多數(shù)據(jù)科學(xué)項(xiàng)目陷入停頓。首先,將任何東西放入生產(chǎn)系統(tǒng)時(shí)往往需要 IT 參與。其次,驗(yàn)證通常是一項(xiàng)未指定的手動(dòng)任務(wù)(如果它存在的話)。第三,可靠地更新生產(chǎn)數(shù)據(jù)科學(xué)過程通常非常困難,它被視為一個(gè)全新的項(xiàng)目。
那數(shù)據(jù)科學(xué)可以從軟件開發(fā)中學(xué)到什么?讓我們先看看軟件開發(fā)中 CI/CD 的主要方面,然后再深入研究哪些方面有相似之處以及數(shù)據(jù)科學(xué)家需要在哪些方面采取不同的轉(zhuǎn)變。
軟件開發(fā)中的 CI/CD
軟件開發(fā)的可重復(fù)生產(chǎn)流程已經(jīng)存在一段時(shí)間了,持續(xù)集成/持續(xù)部署是當(dāng)今普遍使用的標(biāo)準(zhǔn)。大規(guī)模軟件開發(fā)通常遵循高度模塊化的方法。團(tuán)隊(duì)處理部分代碼庫并獨(dú)立測(cè)試這些模塊(通常對(duì)這些模塊使用高度自動(dòng)化的測(cè)試用例)。
在 CI/CD 的持續(xù)集成階段,代碼庫的不同部分被插入在一起,并再次自動(dòng)地整體測(cè)試。理想情況下,這種集成工作經(jīng)常完成(因此是“連續(xù)的”),以便可以立即發(fā)現(xiàn)不會(huì)影響單個(gè)模塊但會(huì)破壞整個(gè)應(yīng)用程序的副作用。在理想情況下,當(dāng)我們擁有完整的測(cè)試覆蓋率時(shí),我們可以確保幾乎立即捕獲由任何模塊更改引起的問題。實(shí)際上,沒有任何測(cè)試設(shè)置是完整的,完整的集成測(cè)試可能每晚只運(yùn)行一次。但我們可以嘗試靠近。
CI/CD 的第二部分,持續(xù)部署,是指將新構(gòu)建的應(yīng)用程序遷移到生產(chǎn)環(huán)境中。每分鐘更新數(shù)以萬計(jì)的桌面應(yīng)用程序幾乎不可行(而且部署過程更復(fù)雜)。但是對(duì)于基于服務(wù)器的應(yīng)用程序,隨著越來越多的基于云的工具可用,我們可以更頻繁地推出更改和完成更新;如果我們最終推出了一些有問題的東西,我們也可以快速恢復(fù)。部署的應(yīng)用程序?qū)⑿枰掷m(xù)監(jiān)控可能的故障,但如果測(cè)試做得好,這往往不是問題。
數(shù)據(jù)科學(xué)中的 CI/CD
數(shù)據(jù)科學(xué)流程往往不是由不同的團(tuán)隊(duì)獨(dú)立構(gòu)建,而是由不同的專家協(xié)作構(gòu)建:數(shù)據(jù)工程師、機(jī)器學(xué)習(xí)專家和可視化專家。非常重要的是要注意,數(shù)據(jù)科學(xué)的創(chuàng)建與ML 算法開發(fā)(即軟件工程)無關(guān),而是與 ML 算法在數(shù)據(jù)上的應(yīng)用有關(guān)。算法開發(fā)和算法使用之間的這種差異經(jīng)常引起混淆。
數(shù)據(jù)科學(xué)中的“集成”也指將底層部分整合在一起。在數(shù)據(jù)科學(xué)中,這種集成意味著確保特定工具包的正確庫與我們的最終數(shù)據(jù)科學(xué)過程捆綁在一起,并且,如果我們的數(shù)據(jù)科學(xué)創(chuàng)建工具允許抽象,則確保這些模塊的正確版本也捆綁在一起。
但是,在集成階段,軟件開發(fā)和數(shù)據(jù)科學(xué)之間存在很大差異。在軟件開發(fā)中,我們構(gòu)建的是正在部署的應(yīng)用程序。也許在集成過程中刪除了一些調(diào)試代碼,但最終產(chǎn)品是在開發(fā)過程中構(gòu)建的。在數(shù)據(jù)科學(xué)中,情況并非如此。
在數(shù)據(jù)科學(xué)創(chuàng)建階段,已經(jīng)構(gòu)建了一個(gè)復(fù)雜的過程,以優(yōu)化組合和轉(zhuǎn)換數(shù)據(jù)的方式和數(shù)據(jù)。這種數(shù)據(jù)科學(xué)創(chuàng)建過程通常會(huì)迭代模型的不同類型和參數(shù),甚至可能在每次運(yùn)行時(shí)以不同的方式組合其中的一些模型。集成過程中發(fā)生的事情是將這些優(yōu)化步驟的結(jié)果組合到數(shù)據(jù)科學(xué)生產(chǎn)過程中。換句話說,在開發(fā)過程中,我們生成特征并訓(xùn)練模型;在集成過程中,我們將優(yōu)化的特征生成過程和訓(xùn)練好的模型結(jié)合起來。這種集成包括生產(chǎn)過程。
那么什么是數(shù)據(jù)科學(xué)的“持續(xù)部署”?如前所述,生產(chǎn)過程——即需要部署的集成結(jié)果——不同于數(shù)據(jù)科學(xué)的創(chuàng)建過程。實(shí)際部署則類似于軟件部署。我們希望自動(dòng)替換現(xiàn)有的應(yīng)用程序或 API 服務(wù),理想情況下使用所有常見的優(yōu)點(diǎn),例如正確的版本控制以及在生產(chǎn)過程中捕獲問題時(shí)回滾到先前版本的能力。
數(shù)據(jù)科學(xué)生產(chǎn)過程的一個(gè)有趣的附加要求是需要持續(xù)監(jiān)控模型性能——因?yàn)楝F(xiàn)實(shí)往往會(huì)改變!變更檢測(cè)對(duì)于數(shù)據(jù)科學(xué)流程至關(guān)重要。我們需要建立機(jī)制來識(shí)別我們的生產(chǎn)過程的性能何時(shí)惡化。然后我們要么自動(dòng)重新訓(xùn)練和重新部署模型,要么提醒我們的數(shù)據(jù)科學(xué)團(tuán)隊(duì)注意這個(gè)問題,這樣他們就可以創(chuàng)建一個(gè)新的數(shù)據(jù)科學(xué)流程,重新觸發(fā)數(shù)據(jù)科學(xué) CI/CD 流程。
因此,雖然監(jiān)控軟件應(yīng)用程序往往不會(huì)導(dǎo)致自動(dòng)代碼更改和重新部署,但這些是數(shù)據(jù)科學(xué)中非常典型的要求。這種自動(dòng)集成和部署如何涉及(部分)原始驗(yàn)證和測(cè)試設(shè)置取決于這些自動(dòng)更改的復(fù)雜性。在數(shù)據(jù)科學(xué)中,測(cè)試和監(jiān)控都是流程本身不可或缺的組成部分。我們較少關(guān)注測(cè)試我們的創(chuàng)建過程(盡管我們確實(shí)希望存檔/版本化解決方案的路徑),我們更關(guān)注持續(xù)測(cè)試生產(chǎn)過程。這里的測(cè)試用例也是“輸入-結(jié)果”對(duì),但比測(cè)試用例更可能由數(shù)據(jù)點(diǎn)組成。
這種監(jiān)控差異也會(huì)影響部署前的驗(yàn)證。在軟件部署中,我們確保我們的應(yīng)用程序通過測(cè)試。對(duì)于數(shù)據(jù)科學(xué)生產(chǎn)過程,我們可能需要進(jìn)行測(cè)試以確保仍然預(yù)測(cè)標(biāo)準(zhǔn)數(shù)據(jù)點(diǎn)屬于同一類(例如,“好”客戶繼續(xù)獲得較高的信用等級(jí))并且仍然捕獲已知異常(例如,已知的產(chǎn)品故障仍被歸類為“故障”)。我們還可能希望確保我們的數(shù)據(jù)科學(xué)過程仍然拒絕處理完全荒謬的模式。簡(jiǎn)而言之,我們希望確保引用典型或異常數(shù)據(jù)點(diǎn)或簡(jiǎn)單異常值的測(cè)試用例繼續(xù)按預(yù)期處理。
MLOps、ModelOps 和 XOps
所有這些與 MLOps、ModelOps 或 XOps(正如 Gartner 所說的 DataOps、ModelOps 和 DevOps 的組合)有何關(guān)系?提到這些術(shù)語的人往往會(huì)忽略兩個(gè)關(guān)鍵事實(shí):首先,數(shù)據(jù)預(yù)處理是生產(chǎn)過程的一部分(而不僅僅是投入生產(chǎn)的“模型”),其次,生產(chǎn)環(huán)境中的模型監(jiān)控通常只是靜態(tài)和非反應(yīng)性。
目前,許多數(shù)據(jù)科學(xué)堆棧僅解決數(shù)據(jù)科學(xué)生命周期的一部分。不僅其他部分必須手動(dòng)完成,而且在許多情況下,技術(shù)之間的差距需要重新編碼,因此生產(chǎn)數(shù)據(jù)科學(xué)過程的全自動(dòng)提取幾乎是不可能的。在人們意識(shí)到真正生產(chǎn)化數(shù)據(jù)科學(xué)不僅僅是將一個(gè)包裝精美的模型扔在墻上之前,每當(dāng)組織試圖可靠地使數(shù)據(jù)科學(xué)成為其運(yùn)營不可或缺的一部分時(shí),我們將繼續(xù)看到失敗。
數(shù)據(jù)科學(xué)過程還有很長的路要走,但 CI/CD 提供了很多可以借鑒的經(jīng)驗(yàn)教訓(xùn)。但是,用于數(shù)據(jù)科學(xué)的 CI/CD 和用于軟件開發(fā)的 CI/CD 之間存在兩個(gè)根本區(qū)別。首先,集成過程中自動(dòng)創(chuàng)建的“數(shù)據(jù)科學(xué)生產(chǎn)過程”與數(shù)據(jù)科學(xué)團(tuán)隊(duì)創(chuàng)建的不同。其次,生產(chǎn)中的監(jiān)控可能會(huì)導(dǎo)致自動(dòng)更新和重新部署。也就是說,部署周期可能由檢查生產(chǎn)中數(shù)據(jù)科學(xué)流程的監(jiān)控流程自動(dòng)觸發(fā),只有當(dāng)監(jiān)控檢測(cè)到重大變化時(shí),我們才會(huì)回到戰(zhàn)壕并重新啟動(dòng)整個(gè)流程。
【譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為.com】
標(biāo)題名稱:數(shù)據(jù)科學(xué)中的CI/CD有哪些不一樣?
分享URL:http://www.dlmjj.cn/article/dhjhsgi.html


咨詢
建站咨詢
