91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

機(jī)器學(xué)習(xí)模型部署到ML項(xiàng)目的過程

汽車玩家 ? 來源:AI公園 ? 作者:Rahul Agarwal ? 2020-05-04 11:56 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

導(dǎo)讀

為什么我們的機(jī)器學(xué)習(xí)項(xiàng)目會(huì)失???

創(chuàng)造一個(gè)大的機(jī)器學(xué)習(xí)系統(tǒng)是一門藝術(shù)。

在構(gòu)建一個(gè)大的機(jī)器學(xué)習(xí)系統(tǒng)時(shí),有很多事情需要考慮。但作為數(shù)據(jù)科學(xué)家,我們常常只擔(dān)心項(xiàng)目的某些部分。

但是我們是否考慮過一旦我們擁有了模型,我們將如何部署它們?

我見過許多 ML 項(xiàng)目,其中許多項(xiàng)目注定要失敗,因?yàn)樗鼈儚囊婚_始就沒有一個(gè)固定的生產(chǎn)計(jì)劃。

這篇文章是關(guān)于一個(gè)成功的 ML 項(xiàng)目的過程需求 —— 一個(gè)進(jìn)入生產(chǎn)的項(xiàng)目。

1. 在開始的時(shí)候建立基線

你并不需要用模型來獲得基線結(jié)果。

假設(shè)我們將使用 RMSE 作為我們的時(shí)間序列模型的評估指標(biāo)。我們在測試集上對模型進(jìn)行了評估,RMSE 為 3.64。

3.64 是個(gè)好 RMSE 嗎?我們怎么知道?我們需要一個(gè)基線 RMSE。

這可能來自當(dāng)前使用的用于相同任務(wù)的模型?;蛘呤褂靡恍┓浅:唵蔚膯l(fā)式。對于時(shí)間序列模型,需要打敗的基線是最后一天的預(yù)測。即,預(yù)測前一天的數(shù)字。

如果是圖像分類任務(wù),取 1000 個(gè)有標(biāo)簽的樣本。而人類的準(zhǔn)確性可以作為你的基線。如果一個(gè)人不能在任務(wù)中獲得 70%的預(yù)測精度,那么如果你的模型達(dá)到類似的水平,你總是可以考慮將流程自動(dòng)化。

學(xué)習(xí):在你創(chuàng)建模型之前,試著了解你將要得到的結(jié)果。設(shè)定一些不切實(shí)際的期望只會(huì)讓你和你的客戶失望。

2. 持續(xù)集成是前進(jìn)的方向

你現(xiàn)在已經(jīng)創(chuàng)建了你的模型。它在本地測試數(shù)據(jù)集上的性能比基線/當(dāng)前模型要好。我們應(yīng)該繼續(xù)前進(jìn)嗎?

我們有兩個(gè)選擇:

進(jìn)一步改進(jìn)我們的模型,這是一個(gè)無止境的循環(huán)。

在生產(chǎn)環(huán)境中測試我們的模型,得到更多關(guān)于可能出錯(cuò)的信息,然后使用持續(xù)集成來改進(jìn)我們的模型。

我支持第二種方法。Andrew Ng 在 Coursera 上的第三門課,“Deep Learning Specialization”中的“Structuring Machine learning”中說:

“不要一開始就試圖設(shè)計(jì)和構(gòu)建完美的系統(tǒng)。相反,應(yīng)該快速地建立和訓(xùn)練一個(gè)基本的系統(tǒng) —— 也許只需要幾天的時(shí)間。即使基本的系統(tǒng)遠(yuǎn)遠(yuǎn)不是你能建立的“最好”的系統(tǒng),檢查基本的系統(tǒng)是有價(jià)值的:你會(huì)很快找到一些線索,告訴你在哪些方面最值得投入你的時(shí)間。

完成比完美更好。

學(xué)習(xí):如果你的新模型比當(dāng)前生產(chǎn)中的模型更好,或者你的新模型比基線更好,那么等待投入生產(chǎn)是沒有意義的。

3. 你的模型可能會(huì)進(jìn)入生產(chǎn)

你的模型是否優(yōu)于基線?它在本地測試數(shù)據(jù)集上表現(xiàn)得更好,但是它真的能在整體上工作得很好嗎?

為了測試你的模型優(yōu)于現(xiàn)有模型的假設(shè)的有效性,你可以設(shè)置一個(gè)A/B 測試。一些用戶(測試組)看到來自你的模型的預(yù)測,而一些用戶(控制組)看到來自前一個(gè)模型的預(yù)測。

事實(shí)上,這是部署模型的正確方式。你可能會(huì)發(fā)現(xiàn)你的模型并沒有看起來那么好。

錯(cuò)了并不是真的錯(cuò),錯(cuò)的是沒有預(yù)料到我們可能會(huì)錯(cuò)。

很難指出你的模型在生產(chǎn)環(huán)境中表現(xiàn)不佳的真正原因,但一些原因可能是:

你可能會(huì)看到實(shí)時(shí)的數(shù)據(jù)與訓(xùn)練數(shù)據(jù)有很大的不同。

或者你沒有正確地完成預(yù)處理 pipeline。

或者你沒有正確地衡量 performance。

或者你的實(shí)現(xiàn)中有一個(gè) bug。

學(xué)習(xí):不要全面投入生產(chǎn)。A/B 測試永遠(yuǎn)是前進(jìn)的好方法。準(zhǔn)備一些可以依靠的東西(可能是一個(gè)更老的模型)??傆幸恍〇|西會(huì)出問題,這是你無法預(yù)料的。

4. 你的模型可能不會(huì)投入生產(chǎn)中

我創(chuàng)建了這個(gè)令人印象深刻的 ML 模型,它提供了 90%的準(zhǔn)確性,但它需要大約 10 秒鐘來獲取預(yù)測。

**這樣可接受嗎?**對于某些用例可能是,但實(shí)際上不是。

在過去,有許多 Kaggle 競賽的獲勝者最終創(chuàng)造了非常大的模型集成,占據(jù)了排行榜的榜首。下面是一個(gè)例子模型,它曾在 Kaggle 上贏得 Otto 分類挑戰(zhàn):

在Level1上用了33個(gè)模型和8種特征工程

另一個(gè)例子是 Netflix 百萬美元推薦引擎挑戰(zhàn)。由于涉及的工程成本,Netflix 團(tuán)隊(duì)最終沒有使用獲獎(jiǎng)解決方案。

那么,如何讓你的模型在機(jī)器上既準(zhǔn)確又簡單呢?

機(jī)器學(xué)習(xí)模型部署到ML項(xiàng)目的過程

Teacher — Student模型

這就引出了 Teacher-Student 模型或“知識蒸餾”的概念。在知識蒸餾中,我們在一個(gè)更大的已經(jīng)訓(xùn)練好的教師模型上訓(xùn)練一個(gè)更小的學(xué)生模型。

這里我們使用來自教師模型的軟標(biāo)簽/概率,并將其作為學(xué)生模型的訓(xùn)練數(shù)據(jù)。

關(guān)鍵是,老師輸出類別概率 —— “軟標(biāo)簽”而不是“硬標(biāo)簽”。例如,一個(gè)水果分類器可能會(huì)說“Apple 0.9, Pear 0.1”而不是“Apple 1.0, Pear 0.0”。為什么要這樣呢?因?yàn)檫@些“軟標(biāo)簽”比原來的標(biāo)簽信息更豐富——告訴學(xué)生,是的,這個(gè)蘋果確實(shí)有點(diǎn)像梨。學(xué)生模型通常可以非常接近教師水平的表現(xiàn),即使參數(shù)少了 1-2 個(gè)數(shù)量級!

學(xué)習(xí):有時(shí),我們的預(yù)測時(shí)間很有限,所以我們想要一個(gè)更輕的模型。我們可以嘗試構(gòu)建更簡單的模型,或者嘗試對這樣的用例使用知識蒸餾。

5. 周期性的維護(hù)和反饋

世界不是恒定的,你的模型權(quán)重也不是恒定的

我們周圍的世界正在迅速變化,兩個(gè)月前可能適用的東西現(xiàn)在可能已經(jīng)不適用了。在某種程度上,我們建立的模型是對世界的反映,如果世界在變化,我們的模型應(yīng)該能夠反映這種變化。

機(jī)器學(xué)習(xí)模型部署到ML項(xiàng)目的過程

模型性能通常隨時(shí)間而下降。

由于這個(gè)原因,我們必須在一開始就考慮將我們的模型升級作為維護(hù)的一部分

維護(hù)周期的頻率完全取決于你試圖解決的業(yè)務(wù)問題。在一個(gè)廣告預(yù)測系統(tǒng)中,用戶往往變化無常,購買模式不斷出現(xiàn),需要相當(dāng)高的頻率。而在評論情緒分析系統(tǒng)中,由于語言本身的結(jié)構(gòu)變化不是很大,所以頻率不需要那么高。

機(jī)器學(xué)習(xí)模型部署到ML項(xiàng)目的過程

我還必須要承認(rèn)反饋回路在機(jī)器學(xué)習(xí)系統(tǒng)中的重要性。假設(shè)你用貓狗分類器預(yù)測了一個(gè)的圖像是狗,但是概率很低。我們能從這些低置信度的例子中學(xué)到什么嗎?你可以將其發(fā)送到手動(dòng)檢查,以檢查它是否可以用于重新訓(xùn)練模型。通過這種方式,我們可以在它不確定的樣本上訓(xùn)練分類器。

學(xué)習(xí):在考慮生產(chǎn)時(shí),提出使用反饋來維護(hù)和改進(jìn)模型的計(jì)劃。

總結(jié)

在考慮將模型投入生產(chǎn)之前,我發(fā)現(xiàn)這些事情是很重要的。

雖然這并不是你需要考慮的事情和可能出錯(cuò)的事情的詳盡列表,但它無疑可以作為你下次創(chuàng)建機(jī)器學(xué)習(xí)系統(tǒng)時(shí)的思想食糧。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于ETAS嵌入式AI工具鏈將機(jī)器學(xué)習(xí)模型部署量產(chǎn)ECU

    AI在汽車行業(yè)的應(yīng)用日益深化,如何將機(jī)器學(xué)習(xí)領(lǐng)域的先進(jìn)模型(如虛擬傳感器)集成ECU軟件中,已成為業(yè)界面臨的核心挑戰(zhàn)。
    的頭像 發(fā)表于 12-24 10:55 ?6126次閱讀
    基于ETAS嵌入式AI工具鏈將<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>模型</b><b class='flag-5'>部署</b><b class='flag-5'>到</b>量產(chǎn)ECU

    如何在ZYNQ本地部署DeepSeek模型

    一個(gè)將最小號 DeepSeek 模型部署 AMD Zynq UltraScale+ MPSoC 處理系統(tǒng)的項(xiàng)目。
    的頭像 發(fā)表于 12-19 15:43 ?7587次閱讀
    如何在ZYNQ本地<b class='flag-5'>部署</b>DeepSeek<b class='flag-5'>模型</b>

    RA8P1部署ai模型指南:從訓(xùn)練模型部署?|?本周六

    在嵌入式邊緣AI中,如何把“訓(xùn)練好的模型”穩(wěn)定地“跑在板子上”,決定了項(xiàng)目能否落地。我們帶你基于RA8P1平臺,跑通從數(shù)據(jù)準(zhǔn)備、模型訓(xùn)練、量化轉(zhuǎn)換,工程
    的頭像 發(fā)表于 11-20 18:06 ?2089次閱讀
    RA8P1<b class='flag-5'>部署</b>ai<b class='flag-5'>模型</b>指南:從訓(xùn)練<b class='flag-5'>模型</b><b class='flag-5'>到</b><b class='flag-5'>部署</b>?|?本周六

    vision board部署模型openmv的代碼導(dǎo)致連接超時(shí)怎么解決?

    在env終端中勾選了tiflte support后燒錄mdk板子上后就開始顯示連接不到 無法部署模型
    發(fā)表于 09-19 07:59

    利用超微型 Neuton ML 模型解鎖 SoC 邊緣人工智能

    如果你關(guān)注最新進(jìn)展,可能已經(jīng)知道 Nordic Semiconductor 收購了 Neuton.AI。 Neuton 是一家邊緣 AI 公司,致力于使機(jī)器學(xué)習(xí)模型更易于訪問。它創(chuàng)建的模型
    發(fā)表于 08-31 20:54

    使用aicube進(jìn)行目標(biāo)檢測識別數(shù)字項(xiàng)目的時(shí)候,在評估環(huán)節(jié)卡住了,怎么解決?

    使用aicube進(jìn)行目標(biāo)檢測識別數(shù)字項(xiàng)目的時(shí)候,前面一切正常 但是在評估環(huán)節(jié)卡住了,一直顯示正在測試,但是完全沒有測試結(jié)果, 在部署模型后在k230上運(yùn)行也沒有任何識別結(jié)果 期待結(jié)果和實(shí)際結(jié)果
    發(fā)表于 08-13 06:45

    3Dfindit 提供的數(shù)字立方體模型為研究項(xiàng)目的可視化提供了支持

    作為學(xué)習(xí)項(xiàng)目的一部分,羅伊特林根教育大學(xué)的學(xué)生們在比辛根集中營紀(jì)念地的博物館中使用 3Dfindit 動(dòng)畫立方體模型進(jìn)行了學(xué)習(xí)。作為歷史教學(xué)研討會(huì)的一部分,學(xué)生們研究了巴登-符騰堡州
    發(fā)表于 08-01 14:36

    超小型Neuton機(jī)器學(xué)習(xí)模型, 在任何系統(tǒng)級芯片(SoC)上解鎖邊緣人工智能應(yīng)用.

    Neuton 是一家邊緣AI 公司,致力于讓機(jī)器 學(xué)習(xí)模型更易于使用。它創(chuàng)建的模型比競爭對手的框架小10 倍,速度也快10 倍,甚至可以在最先進(jìn)的邊緣設(shè)備上進(jìn)行人工智能處理。在這篇博文
    發(fā)表于 07-31 11:38

    邊緣計(jì)算中的機(jī)器學(xué)習(xí):基于 Linux 系統(tǒng)的實(shí)時(shí)推理模型部署與工業(yè)集成!

    你好,旅行者!歡迎來到Medium的這一角落。在本文中,我們將把一個(gè)機(jī)器學(xué)習(xí)模型(神經(jīng)網(wǎng)絡(luò))部署邊緣設(shè)備上,利用從ModbusTCP寄存器
    的頭像 發(fā)表于 06-11 17:22 ?1007次閱讀
    邊緣計(jì)算中的<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>:基于 Linux 系統(tǒng)的實(shí)時(shí)推理<b class='flag-5'>模型</b><b class='flag-5'>部署</b>與工業(yè)集成!

    如何使用Docker部署模型

    隨著深度學(xué)習(xí)和大模型的快速發(fā)展,如何高效地部署這些模型成為了一個(gè)重要的挑戰(zhàn)。Docker 作為一種輕量級的容器化技術(shù),能夠?qū)?b class='flag-5'>模型及其依賴環(huán)境
    的頭像 發(fā)表于 05-24 16:39 ?1138次閱讀

    【「# ROS 2智能機(jī)器人開發(fā)實(shí)踐」閱讀體驗(yàn)】機(jī)器人入門的引路書

    的限制和調(diào)控) 本書還有很多前沿技術(shù)項(xiàng)目的擴(kuò)展 比如神經(jīng)網(wǎng)絡(luò)識別例程,機(jī)器學(xué)習(xí)圖像識別的原理,yolo圖像追蹤的原理 機(jī)器學(xué)習(xí)訓(xùn)練三大點(diǎn):
    發(fā)表于 04-30 01:05

    NanoEdge AI Studio 面向STM32開發(fā)人員機(jī)器學(xué)習(xí)ML)技術(shù)

    NanoEdge? AI Studio*(NanoEdgeAIStudio)是一種新型機(jī)器學(xué)習(xí)ML)技術(shù),可以讓終端用戶輕松享有真正的創(chuàng)新成果。只需幾步,開發(fā)人員便可基于最少量的數(shù)據(jù)為其項(xiàng)目
    的頭像 發(fā)表于 04-22 11:09 ?1351次閱讀
    NanoEdge AI Studio 面向STM32開發(fā)人員<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>(<b class='flag-5'>ML</b>)技術(shù)

    Raspberry Pi Pico 2 上實(shí)現(xiàn):實(shí)時(shí)機(jī)器學(xué)習(xí)ML)音頻噪音抑制功能

    程序的開發(fā)方式。應(yīng)用程序開發(fā)人員現(xiàn)在可以為所需系統(tǒng)整理包含大量輸入和輸出示例的數(shù)據(jù)集,然后使用這些數(shù)據(jù)集來訓(xùn)練ML模型。在訓(xùn)練過程中,ML模型
    的頭像 發(fā)表于 03-25 09:46 ?1229次閱讀
    Raspberry Pi Pico 2 上實(shí)現(xiàn):實(shí)時(shí)<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>(<b class='flag-5'>ML</b>)音頻噪音抑制功能

    請問STM32部署機(jī)器學(xué)習(xí)算法硬件至少要使用哪個(gè)系列的芯片?

    STM32部署機(jī)器學(xué)習(xí)算法硬件至少要使用哪個(gè)系列的芯片?
    發(fā)表于 03-13 07:34

    K230D部署模型失敗的原因?

    MicroPython部署的無法正常運(yùn)行,采用C++版本的無法實(shí)現(xiàn)部署 嘗試解決過程 1.考慮可能是固件不匹配的問題,重新燒錄了流程(生成模型
    發(fā)表于 03-11 06:19