丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
人工智能學(xué)術(shù) 正文
發(fā)私信給MrBear
發(fā)送

0

部署機(jī)器學(xué)習(xí)非常困難,并將一直如此...

本文作者: MrBear 編輯:幸麗娟 2019-11-18 15:28
導(dǎo)語(yǔ):從機(jī)器學(xué)習(xí)算法研制成功,到機(jī)器學(xué)習(xí)應(yīng)用落地部署,還有很長(zhǎng)的一段路要走。

雷鋒網(wǎng) AI 科技評(píng)論按:機(jī)器學(xué)習(xí)技術(shù)正在令我們的生活發(fā)生日新月異的變化。對(duì)于學(xué)術(shù)界來(lái)說(shuō),科研人員的工作往往止步于原型算法的研制。然而,在真實(shí)的工業(yè)生產(chǎn)場(chǎng)景下,將原型機(jī)器學(xué)習(xí)算法部署到應(yīng)用程序中又是一項(xiàng)充滿挑戰(zhàn)的課題。

經(jīng)手過(guò)一些人工智能項(xiàng)目后,我意識(shí)到:對(duì)于希望通過(guò)人工智能創(chuàng)造價(jià)值的公司來(lái)說(shuō),大規(guī)模地部署機(jī)器學(xué)習(xí)(ML)模型是最重要的挑戰(zhàn)之一。如今,隨著模型變得越來(lái)越復(fù)雜,這只會(huì)變得越來(lái)越難。

根據(jù)我作為顧問(wèn)的經(jīng)驗(yàn),我發(fā)現(xiàn)只有很小一部分機(jī)器學(xué)習(xí)項(xiàng)目能夠被成功投入生產(chǎn)。人工智能項(xiàng)目失敗的原因有很多,而「難以部署」就是其中之一。對(duì)于每個(gè)決策者來(lái)說(shuō),充分理解項(xiàng)目部署的內(nèi)在機(jī)制,以及如何降低在達(dá)到這個(gè)關(guān)鍵步驟時(shí)失敗的風(fēng)險(xiǎn)是至關(guān)重要的。

我們可以將部署的模型定義為任意被無(wú)縫集成到生產(chǎn)環(huán)境中的代碼單元,它可以接收輸入并返回一個(gè)輸出結(jié)果。

我所看到的是,為了使他們的工作能夠被投入生產(chǎn),數(shù)據(jù)科學(xué)家通常必須將他們的數(shù)據(jù)模型的構(gòu)建工作移交給工程實(shí)現(xiàn)部分。正是在這一步中,出現(xiàn)了一些最為常見(jiàn)的數(shù)據(jù)科學(xué)問(wèn)題。

挑戰(zhàn)

機(jī)器學(xué)習(xí)有一些獨(dú)特的特性,使其大規(guī)模部署更加困難。這也正是我們當(dāng)前正在處理的一些問(wèn)題:

1、數(shù)據(jù)科學(xué)語(yǔ)言管理

如你所知,機(jī)器學(xué)習(xí)應(yīng)用程序通常由不同編程語(yǔ)言編寫的元素組成,而這些元素往往不能很好地進(jìn)行交互。我總是能發(fā)現(xiàn)類似這樣的情況:在一個(gè)機(jī)器學(xué)習(xí)應(yīng)用的工作流程中,可能開(kāi)始使用的是 R 語(yǔ)言,接著則轉(zhuǎn)而使用 Python,最終又使用了另一種語(yǔ)言。

一般而言,對(duì)于機(jī)器學(xué)習(xí)應(yīng)用來(lái)說(shuō),Python 和 R 是目前最流行的語(yǔ)言。但是我注意到,出于各種原因(包括運(yùn)行速度),用于生產(chǎn)的模型很少使用這些語(yǔ)言進(jìn)行部署。然而,將 Python 或 R 語(yǔ)言編寫的模型移植到 C++ 或 Java 這種生產(chǎn)環(huán)境下常用的語(yǔ)言是十分復(fù)雜的,通常會(huì)降低原始模型的性能(運(yùn)行速度、準(zhǔn)確率,等等)。

當(dāng)軟件的新版本出現(xiàn)時(shí),R 的程序包很可能會(huì)崩潰。此外,R 的運(yùn)行速度也很慢,無(wú)法高效處理大數(shù)據(jù)。

R 是一種很好的原型開(kāi)發(fā)語(yǔ)言,因?yàn)樗刮覀兛梢赃M(jìn)行簡(jiǎn)單的交互和問(wèn)題求解,但是在生產(chǎn)環(huán)境下則需要將其轉(zhuǎn)換為 Python、C++ 或 Java。

容器化技術(shù)(Containerization,例如 Docker),可以解決由于工具類型繁多而引發(fā)的不兼容性問(wèn)題和可移植性的挑戰(zhàn)。然而,自動(dòng)依賴檢查、誤差檢查、測(cè)試以及不同的構(gòu)建工具這些問(wèn)題則無(wú)法跨越語(yǔ)言障礙得以解決。

復(fù)現(xiàn)性也是一個(gè)巨大的挑戰(zhàn)。事實(shí)上,數(shù)據(jù)科學(xué)家可以使用不同的編程語(yǔ)言、程序庫(kù)或同一種程序庫(kù)的不同版本來(lái)構(gòu)建各個(gè)版本的模型。想要手動(dòng)跟蹤這些依賴是很困難的。為了解決這些挑戰(zhàn),我們需要一個(gè)機(jī)器學(xué)習(xí)生命周期工具,它可以在訓(xùn)練階段自動(dòng)跟蹤并且以配置代碼的形式記錄這些依賴,然后將它們與訓(xùn)練好的模型捆綁在一個(gè)待部署的組件中。

我建議你使用能夠?qū)⒋a從一中語(yǔ)言即時(shí)轉(zhuǎn)換為另一種語(yǔ)言的工具,或者使你的數(shù)據(jù)科學(xué)團(tuán)隊(duì)能夠使用某種 API 部署模型,以便這些模型在任何地方集成。

2、算力和 GPU

現(xiàn)代神經(jīng)網(wǎng)絡(luò)往往非常深,這意味著訓(xùn)練和使用它們進(jìn)行推理需要耗費(fèi)大量的算力。通常,我們希望我們的算法能夠快速運(yùn)行,而這對(duì)于很多用戶來(lái)說(shuō)這可能是一大障礙。

此外,現(xiàn)在許多生產(chǎn)環(huán)境下的機(jī)器學(xué)習(xí)系統(tǒng)都依賴于 GPU。然而,GPU 既稀缺又昂貴,這很容易使機(jī)器學(xué)習(xí)的大規(guī)模部署變得更加復(fù)雜。

3、可移植性

模型部署的另一個(gè)有趣的問(wèn)題是缺乏可移植性。我注意到,這往往是歷史遺留的分析系統(tǒng)所造成的問(wèn)題。由于沒(méi)有能力輕松地將軟件組件移植到另一種主機(jī)環(huán)境下并在那里運(yùn)行它,這種軟件組合可能會(huì)被限制在一個(gè)特定的平臺(tái)上。這回給數(shù)據(jù)科學(xué)家在創(chuàng)建和部署模型時(shí)設(shè)置障礙。

4、可擴(kuò)展性

對(duì)于許多人工智能項(xiàng)目來(lái)說(shuō),可擴(kuò)展性是一個(gè)很現(xiàn)實(shí)的問(wèn)題。實(shí)際上,你需要確保你的模型能夠進(jìn)行擴(kuò)展,并且滿足生產(chǎn)中對(duì)性能和應(yīng)用程序需求的增加。在項(xiàng)目的開(kāi)始階段,我們通常依賴于可管理規(guī)模的相對(duì)靜態(tài)的數(shù)據(jù)。隨著模型向生產(chǎn)環(huán)境不斷變化,它通常需要面對(duì)更大量的數(shù)據(jù)和數(shù)據(jù)傳輸模式。你的團(tuán)隊(duì)將需要多種工具來(lái)監(jiān)管并解決性能和可擴(kuò)展性方面的挑戰(zhàn),隨著時(shí)間的推移,這些挑戰(zhàn)將會(huì)顯現(xiàn)出來(lái)。

我相信,通過(guò)采用一致的、基于微服務(wù)的方法進(jìn)行生產(chǎn)分析,可以解決可擴(kuò)展性的問(wèn)題。團(tuán)隊(duì)?wèi)?yīng)該能夠通過(guò)簡(jiǎn)單的配置更改,快速地將模型從批處理按照需求遷移到流處理模式下。類似地,團(tuán)隊(duì)?wèi)?yīng)該有擴(kuò)展計(jì)算和內(nèi)存占用的選項(xiàng),以支持更復(fù)雜的工作負(fù)載。

5、在極限狀態(tài)下進(jìn)行機(jī)器學(xué)習(xí)計(jì)算

當(dāng)你的算法被訓(xùn)練好后,他們并不總是會(huì)被立刻使用,你的用戶只會(huì)在他們需要的時(shí)候調(diào)用這些算法。

這意味著,也許在上午 8 點(diǎn)時(shí)你只要支持 100 次 API 調(diào)用,但是到了 8 點(diǎn)半這一數(shù)值猛增到了 10,000 次。

根據(jù)我的經(jīng)驗(yàn),我可以告訴你,要想在確保不為你不需要的服務(wù)付費(fèi)的情況下,擴(kuò)大和縮減部署規(guī)模都是一個(gè)巨大的挑戰(zhàn)。

由于上述這些原因,只有很少的數(shù)據(jù)科學(xué)項(xiàng)目最終真正落地到了生產(chǎn)系統(tǒng)中。

二、提升魯棒性使模型可以運(yùn)行

我們往往需要花費(fèi)大量的時(shí)間試圖使我們的模型準(zhǔn)備就緒。提升模型的魯棒性包括獲取原型并準(zhǔn)備它,從而使它實(shí)際上能夠?yàn)樗婕暗挠脩舴?wù),這通常需要大量的工作。

許多情況下,我們需要使用適合現(xiàn)有架構(gòu)的語(yǔ)言重新編碼整個(gè)模型。僅這一點(diǎn)往往就會(huì)帶來(lái)大量痛苦的工作,導(dǎo)致部署工作推遲好幾個(gè)月。一旦完成,它必須被集成到公司的 IT 架構(gòu)中,包括之前討論過(guò)的所有程序庫(kù)的問(wèn)題。此外,在生產(chǎn)環(huán)境下訪問(wèn)數(shù)據(jù)往往是一項(xiàng)困難的任務(wù),這些數(shù)據(jù)往往承受著數(shù)據(jù)倉(cāng)庫(kù)的技術(shù)上和組織上的負(fù)擔(dān)。

三、其它的挑戰(zhàn)

在我經(jīng)手過(guò)的項(xiàng)目中,我還注意到以下問(wèn)題:

  • 如果我們改變了一個(gè)輸入特性,那么剩余特性的重要性、權(quán)值或用途都可能改變,也可能不改變。機(jī)器學(xué)習(xí)系統(tǒng)必須要被設(shè)計(jì)地能夠方便地跟蹤特性工程和選擇的變化。

  • 當(dāng)模型不斷地迭代并微妙地變化時(shí),在保持配置的清晰性和靈活性的同時(shí)跟蹤配置的更新成為了一個(gè)新的負(fù)擔(dān)。

  • 一些數(shù)據(jù)輸入可能會(huì)隨著時(shí)間而改變。我們需要一種方法來(lái)理解和跟蹤這些變化,以便能夠充分理解我們的系統(tǒng)

  • 在機(jī)器學(xué)習(xí)應(yīng)用程序中會(huì)出現(xiàn)一些傳統(tǒng)的單元測(cè)試/集成測(cè)試無(wú)法識(shí)別的問(wèn)題。 例如,部署錯(cuò)誤版本的模型,遺漏某個(gè)特征,以及在過(guò)時(shí)的數(shù)據(jù)集上進(jìn)行訓(xùn)練。

四、測(cè)試和驗(yàn)證的問(wèn)題

正如你可能已經(jīng)知道的那樣,由于數(shù)據(jù)變更、使用新的方法等原因,模型會(huì)不斷地演進(jìn)。因此,每次發(fā)生這樣的變更時(shí),我們都必須重新驗(yàn)證模型的性能。這些驗(yàn)證步驟帶來(lái)了如下挑戰(zhàn):

  • 必須使用相同的測(cè)試集和驗(yàn)證集來(lái)評(píng)價(jià)模型,從而對(duì)比不同機(jī)器學(xué)習(xí)模型的性能。

  • 如果我們更新了測(cè)試集和驗(yàn)證集合,為了保證可比性,就需要對(duì)不同的機(jī)器學(xué)習(xí)模型重新進(jìn)行評(píng)價(jià)。這使得在生產(chǎn)環(huán)境下自動(dòng)訓(xùn)練并部署新版本的機(jī)器學(xué)習(xí)模型的過(guò)程變得更加困難。

  • 為了保證可比性,在不同的時(shí)間和不同的模型上,對(duì)于度量指標(biāo)應(yīng)該使用相同的代碼。

  • 對(duì)于某種新的模型來(lái)說(shuō),性能的提升可能也會(huì)帶來(lái)預(yù)測(cè)時(shí)間的增長(zhǎng)。為了體現(xiàn)出這種影響,驗(yàn)證過(guò)程應(yīng)該包括基準(zhǔn)對(duì)比測(cè)試和負(fù)載/壓力測(cè)試。

部署機(jī)器學(xué)習(xí)非常困難,并將一直如此...

除了在離線測(cè)試中驗(yàn)證模型之外,在生產(chǎn)環(huán)境下評(píng)估模型性能也十分重要。通常我們?cè)诓渴鸩呗院捅O(jiān)管部分對(duì)此進(jìn)行規(guī)劃。

機(jī)器學(xué)習(xí)模型需要比常規(guī)軟件應(yīng)用更頻繁地更新。

自動(dòng)化的機(jī)器學(xué)習(xí)平臺(tái)

你們可能對(duì)自動(dòng)化機(jī)器學(xué)習(xí)平臺(tái)有所耳聞,這可能是用來(lái)更快地創(chuàng)造模型的一個(gè)很好的解決方案。此外,這樣的平臺(tái)還可以支持多個(gè)模型的開(kāi)發(fā)和比較。因此企業(yè)可以選擇最適合他們對(duì)于預(yù)測(cè)準(zhǔn)確率、計(jì)算延遲和計(jì)算資源需求的模型。

多達(dá) 90% 的企業(yè)級(jí)機(jī)器學(xué)習(xí)模型可以通過(guò)自動(dòng)化的方式開(kāi)發(fā)。數(shù)據(jù)科學(xué)家們可以與業(yè)務(wù)人員合作,開(kāi)發(fā)目前自動(dòng)化方法無(wú)法實(shí)現(xiàn)的小部分模型。

許多模型都會(huì)遭受「模型漂移」(性能隨著時(shí)間推移而下降)的問(wèn)題。因此,我們需要對(duì)部署后的模型進(jìn)行監(jiān)管。每個(gè)部署后的模型應(yīng)該記錄所有的輸入、輸出和異常。模型部署平臺(tái)需要提供日志存儲(chǔ)和模型性能可視化功能。密切關(guān)注模型的性能是有效管理機(jī)器學(xué)習(xí)模型生命周期的關(guān)鍵。

部署機(jī)器學(xué)習(xí)非常困難,并將一直如此...

必須通過(guò)部署平臺(tái)監(jiān)管的關(guān)鍵要素

五、發(fā)布策略

探索各種不同的方法來(lái)部署軟件(這是一個(gè)值得長(zhǎng)期學(xué)習(xí)的課題,可參考資料:https://medium.com/@copyconstruct/monitoring-in-the-time-of-cloud-native-c87c7a5bfa3e),通過(guò)「影子模式」和「金絲雀模式」(注:17世紀(jì),英國(guó)礦井工人發(fā)現(xiàn),金絲雀對(duì)瓦斯這種氣體十分敏感。空氣中哪怕有極其微量的瓦斯,金絲雀也會(huì)停止歌唱;而當(dāng)瓦斯含量超過(guò)一定限度時(shí),雖然魯鈍的人類毫無(wú)察覺(jué),金絲雀卻早已毒發(fā)身亡。當(dāng)時(shí)在采礦設(shè)備相對(duì)簡(jiǎn)陋的條件下,工人們每次下井都會(huì)帶上一只金絲雀作為「瓦斯檢測(cè)指標(biāo)」,以便在危險(xiǎn)狀況下緊急撤離。)部署機(jī)器學(xué)習(xí)應(yīng)用程序是十分有效的。

在「影子模式」中,你可以獲知生產(chǎn)環(huán)境下的新模型的輸入和預(yù)測(cè)結(jié)果,而實(shí)際上并沒(méi)有基于這些預(yù)測(cè)展開(kāi)服務(wù)。相反,你可以自由地分析結(jié)果,如果檢測(cè)到一個(gè) bug 也不會(huì)造成重大的后果。

隨著架構(gòu)的逐步成熟,你可以開(kāi)始啟用這個(gè)漸進(jìn)或「金絲雀模式」的發(fā)布策略。在這里,你可以向一小部分客戶發(fā)布應(yīng)用,而不是「全部都發(fā)布」或者「什么都不發(fā)布」。這樣做需要更成熟的工具,但是當(dāng)錯(cuò)誤發(fā)生時(shí),可以將損失降到最小。

六、結(jié)語(yǔ)

機(jī)器學(xué)習(xí)技術(shù)方興未艾。實(shí)際上,軟件和硬件組件都在不斷地發(fā)展以滿足當(dāng)前機(jī)器學(xué)習(xí)的需求。

我們可以使用「Docker/Kubernetes」和微服務(wù)架構(gòu)來(lái)解決異構(gòu)性和基礎(chǔ)環(huán)境的挑戰(zhàn)?,F(xiàn)有的工具可以在很大程度上單獨(dú)解決一些問(wèn)題。我相信,將所有這些工具結(jié)合起來(lái)在生產(chǎn)中使用機(jī)器學(xué)習(xí)是目前最大的挑戰(zhàn)。

部署機(jī)器學(xué)習(xí)是困難的,并將一直如此,而這正是我們需要面對(duì)的現(xiàn)實(shí)。值得慶幸的是,一些新的架構(gòu)和產(chǎn)品正在成為數(shù)據(jù)科學(xué)家的「好幫手」。此外,隨著越來(lái)越多的公司擴(kuò)展數(shù)據(jù)科學(xué)業(yè)務(wù),它們也正在實(shí)現(xiàn)使得模型部署更方便的工具。

Via https://towardsdatascience.com/why-is-machine-learning-deployment-hard-443af67493cd 

雷鋒網(wǎng) AI 科技評(píng)論編譯。雷鋒網(wǎng) 

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。

部署機(jī)器學(xué)習(xí)非常困難,并將一直如此...

分享:
相關(guān)文章

知情人士

當(dāng)月熱門文章
最新文章
請(qǐng)?zhí)顚懮暾?qǐng)人資料
姓名
電話
郵箱
微信號(hào)
作品鏈接
個(gè)人簡(jiǎn)介
為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說(shuō)