<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          工業(yè)界AI項(xiàng)目落地血淚史

          共 3972字,需瀏覽 8分鐘

           ·

          2021-03-28 10:02

          丨作者:皮特潘   |  來(lái)源:知乎(已授權(quán))

              https://zhuanlan.zhihu.com/p/336671388

          前言

          AI虐我千百遍,我待AI如初戀。什么才是好AI?答:能落地的AI才是好AI。AI項(xiàng)目從無(wú)到有,最終落地開(kāi)花,無(wú)非不是挖坑、踩坑、填坑的過(guò)程。本文從筆者的一些經(jīng)歷、經(jīng)驗(yàn)、血淚教訓(xùn)展開(kāi),說(shuō)一下AI項(xiàng)目研發(fā)過(guò)程中的感想。

          被虐的案例

          • 案例1:經(jīng)過(guò)N次版本迭代與優(yōu)化,最終定稿。支持切換型號(hào)、云端訓(xùn)練、人工調(diào)參等貌似高大上的功能。最后,才發(fā)現(xiàn)客戶的要求是準(zhǔn)確率100%。
          • 案例2:樣機(jī)各種燈光閃來(lái)閃去,各種運(yùn)動(dòng)機(jī)構(gòu)群魔亂舞。什么犄角旮旯都覆蓋到,什么劃痕、殘缺、臟污都面面俱到。但是,一個(gè)產(chǎn)品的檢測(cè)竟然要30s。到過(guò)一次生產(chǎn)現(xiàn)場(chǎng)才發(fā)現(xiàn):人工目檢只需要2s。
          • 案例3:光學(xué)、算法、界面都o(jì)k了。在熱火朝天、干勁十足的準(zhǔn)備推廣成千上百套變現(xiàn)的時(shí)候,客戶說(shuō):抱歉,只要一套。
          • 案例4:同上,最終客戶說(shuō)你們這個(gè)產(chǎn)品真的很先進(jìn),容我再考慮一下。當(dāng)然是杳無(wú)音信。算是被耍呢?還是算是白嫖呢?
          • 案例5:當(dāng)我們正為識(shí)別準(zhǔn)確率到達(dá)99%而歡呼雀躍的時(shí)候,客戶把一個(gè)識(shí)別成功的和一個(gè)識(shí)別失敗拿到一起,問(wèn):這兩個(gè)明明一模一樣,為啥這個(gè)失敗了,這個(gè)成功了?
          • 案例6:我去生產(chǎn)現(xiàn)場(chǎng)培訓(xùn)客戶標(biāo)注。他們非常配合,找來(lái)的也是目檢老手。我示范了幾個(gè)后,讓他試試。他就是不肯,搞到最后才知道:額,他不會(huì)用電腦!
          • 案例7:我們的算法好牛掰,我們模型好先進(jìn)。AI+傳統(tǒng)方法一起來(lái)搞,完美。不過(guò)你需要調(diào)整這20個(gè)超參。人呢?別走啊!
          • 案例8:已經(jīng)上線運(yùn)行了,最后發(fā)現(xiàn)某一種型號(hào)的某一種缺陷打光不佳,圖像上很難判斷。最終只能推倒重來(lái)。
          • 案例9:沒(méi)有意識(shí)到數(shù)據(jù)的重要性,每次都是幾張圖片在測(cè)試,結(jié)果是很完美,最匆匆拍板上線。最終大批量測(cè)試的時(shí)候,發(fā)現(xiàn)不work了。
          • 案例10:算法ok,部署效率也ok,標(biāo)注-訓(xùn)練-部署的閉環(huán)生態(tài)也ok。然后客戶問(wèn):每次更換型號(hào),能不能不訓(xùn)練?

          為啥這么難?

          工業(yè)AI,尤其是缺陷檢測(cè)這塊,都是硬骨頭。雖然場(chǎng)景非常簡(jiǎn)單,雖然數(shù)據(jù)都是源源不斷,雖然算法都是非常純粹。但是其需求太分散了,不是不能做,而是值不值得去做。因?yàn)槟阋媾R以下問(wèn)題:

          • 說(shuō)不清道不明、模棱兩可的標(biāo)準(zhǔn)。
          • 某些難以量化的標(biāo)準(zhǔn)。
          • 頻繁變更的需求,難以做到只靠調(diào)后處理參數(shù)就能快速響應(yīng)。
          • 頻繁更換型號(hào)的場(chǎng)景,留給你訓(xùn)練的時(shí)間不多。甚至無(wú)法提供良好的訓(xùn)練環(huán)境。
          • 立體的產(chǎn)品,各種吃光照,吃視角的缺陷,極其微弱的缺陷。
          • 難以保證的樣本一致性問(wèn)題,這是你過(guò)擬合的根源。
          • 準(zhǔn)確率能不能到100%,真的有人可以拍板保證嗎?
          • 有沒(méi)有人工做的更快?
          • 有沒(méi)有人工費(fèi)用更便宜?
          • 需要配合繁復(fù)的硬件設(shè)備,尤其是運(yùn)動(dòng)設(shè)備。如何才能保證整套設(shè)備的穩(wěn)定性?
          • 同上,難以保證的硬件可復(fù)現(xiàn)性。甚至一機(jī)一模型你都要謝天謝地,更不要說(shuō)通用。
          • 后期維護(hù)成本問(wèn)題,由于涉及的環(huán)節(jié)太多,需要“全才”才能搞定。

          一般流程








          AI要敏捷開(kāi)發(fā),更要方法論,更更要穩(wěn)定的開(kāi)發(fā)流程。

          這里要提的是,工業(yè)場(chǎng)景的AI不過(guò)是整套系統(tǒng)中的一個(gè)小小組件,你一定不會(huì)靠單純的AI去make money。即便如此,AI從無(wú)到有,依然經(jīng)過(guò)以下幾個(gè)環(huán)節(jié):

          需求階段

          包括場(chǎng)景分析、問(wèn)題定義、可行性分析。很多任務(wù)都是從該階段直接進(jìn)入end。這個(gè)是好事,一定不要盲目自信和盲目樂(lè)觀。所謂一葉障目不見(jiàn)泰山,只看到算法容易實(shí)現(xiàn)就忽略以上的問(wèn)題,最后只能慘淡收?qǐng)觥W钆峦度胩喑翛](méi)成本之后,想收?qǐng)鰠s不甘心。

          什么是需求,什么是真正需求,什么是隱藏著等待發(fā)掘的真正需求。很多時(shí)候,和客戶一起聊需求的時(shí)候,他們給不出明確的需求。最簡(jiǎn)單直接的辦法就是,深入?yún)⒂^他們的生產(chǎn)現(xiàn)場(chǎng)。和工人融到一起,學(xué)會(huì)他們的判斷標(biāo)準(zhǔn)。為他們發(fā)掘需求,尤其是下面幾點(diǎn)必須提前明確清楚:

          • 什么是絕對(duì)不能容忍的錯(cuò)誤,一旦出現(xiàn)就是質(zhì)量事故。我們要知道算法的下限在哪里。
          • 涉不涉及更換型號(hào),能否提供符合模型訓(xùn)練的場(chǎng)景要求,比如至少得有GPU吧,或者可以上網(wǎng)進(jìn)行云端訓(xùn)練。
          • 對(duì)時(shí)間上的要求,很多替換人工工位都要要求比人更快。我們要知道系統(tǒng)的物理極限,例如運(yùn)動(dòng)設(shè)備。
          • 對(duì)于算法難以界定的灰色地帶,接不接受人工二次復(fù)檢。對(duì)于不work的個(gè)例,我們要有backup。

          其他都比較直白,對(duì)于第二點(diǎn)說(shuō)明一下。大家想必都知道,我們做算法復(fù)現(xiàn)的時(shí)候,訓(xùn)練部分比推理部分要困難好幾個(gè)等級(jí)。同理,上線部署的時(shí)候,如果涉及用戶自己訓(xùn)練,那么難度就上來(lái)了。要把標(biāo)注、數(shù)據(jù)處理、訓(xùn)練參數(shù)、測(cè)試評(píng)估等整個(gè)閉環(huán)生態(tài)都打包在一起,還要實(shí)現(xiàn)全自動(dòng)化。一旦某一個(gè)環(huán)節(jié)出問(wèn)題,那么足夠你手忙腳亂。甚至?xí)龅街T如用戶電腦不能上網(wǎng)&沒(méi)有GPU的情況,沒(méi)有錯(cuò),即便是你提訓(xùn)練必須條件,他也不一定會(huì)給你配到。

          以上這幾點(diǎn),一定要仔細(xì)論證,全局論證,反復(fù)論證。論證不是內(nèi)卷,不是效率不高,不是執(zhí)行力不高。沒(méi)有詳細(xì)論證而匆匆上馬的項(xiàng)目,一般后期有無(wú)數(shù)個(gè)坑在等著你。

          打光階段

          包括光學(xué)設(shè)計(jì)、成像分析,當(dāng)然還包括不是那么AI的結(jié)構(gòu)設(shè)計(jì)等。俗話說(shuō):七分靠打光,三分靠調(diào)參。打光非常重要,因?yàn)楹罄m(xù)算法只能為圖片負(fù)責(zé)。一般我會(huì)用“明顯”和“明確”來(lái)進(jìn)行可行性分析,“明確”來(lái)自需求,而“明顯”就是來(lái)自光學(xué)。最直觀的判斷就是,人肉眼能否通過(guò)圖片進(jìn)行精準(zhǔn)判斷。如果存在模棱兩可的部分,那么它也將成為算法模棱兩可的地方。

          數(shù)據(jù)階段

          包括數(shù)據(jù)采集、數(shù)據(jù)標(biāo)注、數(shù)據(jù)處理。數(shù)據(jù)的重要性不言而喻,正所謂:七分靠數(shù)據(jù),三分靠trick。數(shù)據(jù)到位了,一切都好說(shuō)。數(shù)據(jù)的重要性,想必是任何一個(gè)從業(yè)人員都深有體會(huì)的。我們要數(shù)據(jù),要有效的數(shù)據(jù)。沒(méi)有數(shù)據(jù)的場(chǎng)景,抱歉請(qǐng)用傳統(tǒng)方法。要記住,模型泛化,沒(méi)那么重要,當(dāng)然模型也沒(méi)有那么強(qiáng)的泛化能力。它之所以能夠識(shí)別,那是因?yàn)樗?jiàn)過(guò)。將模型理解成一個(gè)存儲(chǔ)器,而不是泛化器。之前的你,需要建立數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)數(shù)據(jù)用以測(cè)試時(shí)的比對(duì),現(xiàn)在的你,模型就是你的數(shù)據(jù)庫(kù)。

          數(shù)據(jù)標(biāo)注就會(huì)涉及標(biāo)準(zhǔn)的定義,很多時(shí)候很難拿到清晰的標(biāo)準(zhǔn)。或者說(shuō)無(wú)法量化為清晰的標(biāo)準(zhǔn)。往往會(huì)存在灰色地帶,這就要提前有一個(gè)清晰的認(rèn)識(shí)。對(duì)于灰色地帶的處理,或者說(shuō)客戶的容忍,要提前想好策略。這里比較困難的是,灰色地帶可能很難量化出來(lái),我們只是知道這個(gè)樣本是灰色地帶,到底有多灰,have no idea。

          另外,比較重要的是盡快建立穩(wěn)定的、有代表性的數(shù)據(jù)集合,尤其是測(cè)試集,這點(diǎn)非常重要。這是你數(shù)據(jù)的baseline,可以幫助非常敏捷進(jìn)行后續(xù)的benchmark實(shí)驗(yàn)。如果你不知道你對(duì)什么樣的最終結(jié)果負(fù)責(zé),那么你將永無(wú)止境的做下去。

          算法設(shè)計(jì)階段

          包括任務(wù)定義、任務(wù)拆分、模型選擇。尤其是任務(wù)拆分,你不肯定把所有的大象都裝到一個(gè)冰箱里面,你也不可能把所有的雞蛋放到一個(gè)籃子里面。

          杜絕唯模型論 & SOTA 論。我們需要的是在特定場(chǎng)景下解決特定的問(wèn)題。這里涉及學(xué)院派思維轉(zhuǎn)變,學(xué)院派的高手為imageNet和COCO等數(shù)據(jù)集負(fù)責(zé),而我為我自己的場(chǎng)景和數(shù)據(jù)集負(fù)責(zé)。SOTA看中的是模型的上限,而實(shí)際的場(chǎng)景,看中的是模型的下限。

          杜絕唯AI論。不管傳統(tǒng)方法還是AI方法,能work的就是好算法。如果傳統(tǒng)方法沒(méi)有明顯的缺陷,那么請(qǐng)選擇傳統(tǒng)方案。或者你可以這么認(rèn)為,當(dāng)前看似高大上的AI并不是真正的AI,或許30年后一天,你會(huì)說(shuō):先用傳統(tǒng)方法YOLO V28 來(lái)試一下吧!

          訓(xùn)練評(píng)估階段

          包括模型調(diào)參、模型訓(xùn)練、指標(biāo)評(píng)估。所謂的“煉丹”。前幾步做好了,一般不會(huì)有太大問(wèn)題,如果有,請(qǐng)向前追溯。還是那句話,建立好baseline,逐步提升。這里要說(shuō)一句,“提前優(yōu)化是萬(wàn)惡之源“。在保證精度的時(shí)候,再去考慮速度,再去做優(yōu)化。當(dāng)然你靠58個(gè)模型聯(lián)合起來(lái)獲取的精度不在該討論范圍。

          部署階段

          這個(gè)階段坑比較多,基本上都是技術(shù)方面。也是所謂的“臟活”。包括模型優(yōu)化、跨平臺(tái)前向推理、模型加密。終于到部署階段了,也看到了落地的曙光。關(guān)于深度學(xué)習(xí)人工智能落地,已經(jīng)有有很多的解決方案,不論是電腦端、手機(jī)端還是嵌入式端,將已經(jīng)訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)權(quán)重在各個(gè)平臺(tái)跑起來(lái),應(yīng)用起來(lái)才是最實(shí)在的。不過(guò)依然存在這么多工作需要做:

          • 跨平臺(tái):可跑目標(biāo)硬件上,包括各類(lèi)cpu/gpu/npu/fpga等等。
          • 高效能:速度快、占用內(nèi)存少等。
          • 精度沒(méi)有丟失:經(jīng)過(guò)一通量化、剪枝、蒸餾、圖優(yōu)化等操作后,終于滿足時(shí)間要求了,卻
          • 然發(fā)現(xiàn)部署測(cè)試精度掉了一半,WTF。
          • 加密需求:你一定不希望自己辛辛苦苦搞出來(lái)的成果被別人白嫖吧!
          • 閉環(huán)生態(tài):當(dāng)然你不能一勞永逸,怎么在應(yīng)用中收集樣本,更新系統(tǒng)。你需要作成實(shí)用、好用的閉環(huán)工具鏈。

          運(yùn)維階段

          包括運(yùn)行監(jiān)控、模型更新等。你以為可以松一口氣了,然而并沒(méi)有。能不能經(jīng)受海量產(chǎn)能和時(shí)間的考驗(yàn),請(qǐng)瑟瑟發(fā)抖地注視著吧!運(yùn)維的核心就是保證業(yè)務(wù)安全穩(wěn)定運(yùn)行。上面提到,AI泛化能力還是比較欠缺的,所以很可能會(huì)在實(shí)際運(yùn)行的過(guò)程中遇到不work的情況。當(dāng)然最最直接的辦法就是持續(xù)不斷擴(kuò)充數(shù)據(jù)。當(dāng)然要保證你的模型有足夠的capacity,如果沒(méi)有,那么就是算法設(shè)計(jì)環(huán)節(jié)沒(méi)有做好。收集數(shù)據(jù)利用上面部署階段所說(shuō)的閉環(huán)生態(tài)工具鏈來(lái)持續(xù)完成這個(gè)事情。

          至此,你的AI項(xiàng)目已經(jīng)落地。

          ·················END·················



          推薦閱讀

          ?   我,差點(diǎn)上央視?   讓猛男嬌羞的AI算法?   Pytorch小抄寶典!



          瀏覽 55
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  99人妻精品 | 欧美亚洲操逼图片 | 自拍偷拍影音先锋 | 亚洲电影在线播放 | 青娱乐中文无码在线观看 |