学术工业界大佬联合打造:ML产品落地流程指南
文?| 白鹡鸰給小鐵比了個(gè)心
編 | 小軼給白鳥鳥比了個(gè)贊
賣萌屋原創(chuàng)出品,本文禁止轉(zhuǎn)載
前言
現(xiàn)在已經(jīng)有了許多現(xiàn)成的ML開發(fā)部署工具,所以想要完成一個(gè)ML產(chǎn)品并不困難。但在實(shí)際開發(fā)過程中,人多手雜,免不了一頓兵荒馬亂。相比之下,機(jī)械工業(yè)產(chǎn)品的開發(fā),已經(jīng)形成了一套完整的調(diào)研、開發(fā)、測試、復(fù)核流程。這種規(guī)范化的好處就是可以把各種風(fēng)險(xiǎn)降到最低。作為項(xiàng)目動(dòng)輒上億,時(shí)常涉及人命的NASA,為了保證開發(fā)過程萬無一失,早于上世紀(jì)九十年代就提出了技術(shù)成熟度(Technology Readiness Level, TRL) 的概念,用于描述項(xiàng)目開發(fā)進(jìn)度。如今,為了能夠規(guī)范化ML產(chǎn)品開發(fā)部署,由Latent Science牽頭,MIT, NASA, Oxford, Microsoft Research, Nvidia, Unity AI等12家工業(yè)&學(xué)術(shù)界巨頭強(qiáng)強(qiáng)聯(lián)手,推出了機(jī)器學(xué)習(xí)技術(shù)成熟度 (Machine Learning Technology Readiness Levels, MLTRL) 量表,用于說明他們眼中一個(gè)合格的ML產(chǎn)品要經(jīng)過哪些考驗(yàn)才能上線。
這個(gè)指標(biāo)既可以作為獨(dú)立開發(fā)者們對自己工作進(jìn)度的評估參照物,還可能成為未來各大公司內(nèi)部報(bào)告和相互合作時(shí)的溝通標(biāo)準(zhǔn)。目前MLTRL還處于Arxiv預(yù)印狀態(tài),先一起看看吧~
論文題目:
Technology Readiness Levels for Machine Learning Systems
論文鏈接 :
https://arxiv.org/abs/2101.03989
Arxiv訪問慢的小伙伴也可以在 【夕小瑤的賣萌屋】 訂閱號后臺(tái)回復(fù)關(guān)鍵詞 【0209】 下載論文PDF~
機(jī)器學(xué)習(xí)技術(shù)成熟度
由于MLTRL的理念來源于TRL,制定成員也包括TRL的創(chuàng)始者NASA,從圖1可以看出,這兩個(gè)指標(biāo)的相似度很高。
▲通用的技術(shù)成熟度量表與機(jī)器學(xué)習(xí)領(lǐng)域技術(shù)成熟度量表對比接下來是對各個(gè)等級較為詳細(xì)的說明:
TRL 0:一個(gè)大膽的想法
重點(diǎn):算法,數(shù)據(jù)
算法進(jìn)度:★★★☆☆
代碼進(jìn)度:☆☆☆☆☆
測試進(jìn)度:☆☆☆☆☆
團(tuán)隊(duì)溝通:★☆☆☆☆
所有的研究都源于一個(gè)大膽的想法,一個(gè)另辟蹊徑的視角。這一階段的主要工作是文獻(xiàn)閱讀,并且從數(shù)學(xué)方面驗(yàn)證想法的合理性,尤其需要注意你的研究基于了什么樣的假設(shè) 。你應(yīng)該擬定好接下來的研究計(jì)劃,記得找?guī)讉€(gè)更為豐富的研究者一起檢查一遍,他們對可行性的判斷可能會(huì)更準(zhǔn)確,而且可以協(xié)助你找到想法中存在的漏洞。此外,還應(yīng)該確認(rèn)清楚是否有足夠的數(shù)據(jù)支持接下來的研究。
TRL 1:目標(biāo)導(dǎo)向型研究
重點(diǎn):算法,實(shí)驗(yàn)級 (research-caliber)代碼
算法進(jìn)度:★★★★☆
代碼進(jìn)度:★★☆☆☆
測試進(jìn)度:★☆☆☆☆
團(tuán)隊(duì)溝通:★★☆☆☆
大致敲定想法和研究計(jì)劃之后,就應(yīng)該開始粗略地跑點(diǎn)代碼了。為了最高效率地驗(yàn)證算法的可行性,參考一下同行的代碼暫時(shí)不會(huì)有問題,計(jì)算的復(fù)雜度、效率不應(yīng)當(dāng)占據(jù)太多的注意力 。這一階段的模型測試還不必面面俱到,而是可以專注于預(yù)期中算法能夠優(yōu)化的那一部分?jǐn)?shù)據(jù)。如果是項(xiàng)目開發(fā),這時(shí)候要開始注意版本控制(包括代碼、模型和數(shù)據(jù)集)了,否則后期萬一出現(xiàn)問題,可能會(huì)付出慘痛的代價(jià)。
TRL 2:驗(yàn)證原理
重點(diǎn):算法,測試
算法進(jìn)度:★★★★☆
代碼進(jìn)度:★★☆☆☆
測試進(jìn)度:★★☆☆☆
團(tuán)隊(duì)溝通:★★☆☆☆
在類似于真實(shí)場景的環(huán)境中仿真/用類似真實(shí)分布的數(shù)據(jù)集測試過模型后,對模型的有效性證明就基本完成了。這里通常到了模型開發(fā)第一個(gè)分歧點(diǎn):作為獨(dú)立的功能繼續(xù)開發(fā);或者是并入一個(gè)長期的研究/開發(fā)項(xiàng)目。
有效性證明(Verification and Validation, V & V):
模型建對了嗎?
模型有價(jià)值嗎?
TRL 3:系統(tǒng)開發(fā)
重點(diǎn):雛形級 (prototype-caliber)代碼,團(tuán)隊(duì)
算法進(jìn)度:★★★★☆
代碼進(jìn)度:★★★☆☆
測試進(jìn)度:★★☆☆☆
團(tuán)隊(duì)溝通:★★★☆☆
在完成上一階段對模型的測試后,是時(shí)候整理一下代碼了:
首先要保證代碼的整潔和魯棒性;
是否已經(jīng)可以面對各種出乎意料的輸入或者運(yùn)行結(jié)果;
對數(shù)據(jù)的接口、程序的交互性、是否符合團(tuán)隊(duì)內(nèi)的代碼規(guī)范;
算法的效率和可靠性也必須考慮到
此時(shí)你的隊(duì)友中應(yīng)該既有寫AI的,又有工程師了,因?yàn)槟銈冃枰_始定義最終產(chǎn)品的服務(wù)級別協(xié)議和服務(wù)級別目標(biāo)(Service-level agreements and objects, SLAs and SLOs)。
TRL 4:驗(yàn)證概念(與實(shí)用性)
重點(diǎn):測試,溝通
算法進(jìn)度:★★★★★
代碼進(jìn)度:★★★☆☆
測試進(jìn)度:★★★☆☆
團(tuán)隊(duì)溝通:★★★★☆
來了來了,手忙腳亂的與真實(shí)場景初接觸!此時(shí)你手里應(yīng)當(dāng)已經(jīng)有著厚厚一沓關(guān)于模型表現(xiàn)、模型成本以及其他用戶關(guān)心指標(biāo)的報(bào)表。然而,遇到的挑戰(zhàn)會(huì)更為復(fù)雜多樣。之前測試效果再好,放到真實(shí)場景里跑一跑,意料外的報(bào)錯(cuò)層出不窮。本以為可以輕易從用戶那里獲得的數(shù)據(jù),結(jié)果空白、缺失占了絕大多數(shù)。決定開發(fā)能否進(jìn)入下一個(gè)階段的評估者們磨刀霍霍,很可能發(fā)出“擱置”、“中止”這樣可怕的聲音——在TRL 4階段項(xiàng)目夭折是很常見的。
TRL 5:模型能力評估
重點(diǎn):測試,溝通
算法進(jìn)度:★★★★★
代碼進(jìn)度:★★★☆☆
測試進(jìn)度:★★★★☆
團(tuán)隊(duì)溝通:★★★★☆
是時(shí)候?qū)Α澳P偷降啄茏鍪裁础鄙w棺定論了:功能是什么,優(yōu)化體現(xiàn)在哪些方面,V & V的確切結(jié)論,都必須在這個(gè)階段給出來。然后開始草擬產(chǎn)品導(dǎo)向的需求 (product-driven requirement)。其實(shí)這個(gè)步驟和TRL 4之間沒有明顯的分界線,或者說TRL 4側(cè)重于在測試和溝通,TRL 5則強(qiáng)調(diào)必須下結(jié)論。進(jìn)行評價(jià)的目的是為了將有限的開發(fā)資源集中到最值得的項(xiàng)目上。因此,想從TRL 5順利畢業(yè)絕對不容易。
TRL 6:應(yīng)用級的開發(fā)
重點(diǎn):產(chǎn)品級 (product-caliber)代碼
算法進(jìn)度:★★★★★
代碼進(jìn)度:★★★★☆
測試進(jìn)度:★★★★☆
團(tuán)隊(duì)溝通:★★★★☆
經(jīng)歷完第一輪真實(shí)場景的摩擦,從考核中幸存下來之后就應(yīng)該開始進(jìn)一步狂敲代碼了。還記得之前的哪些山盟海誓嗎?SLAs, SLOs, 產(chǎn)品需求,前面吹的“水”都是現(xiàn)在實(shí)裝流下的淚。總之,碼就是了!
TRL 7:集成
重點(diǎn):代碼,測試,團(tuán)隊(duì)
算法進(jìn)度:★★★★★
代碼進(jìn)度:★★★★★
測試進(jìn)度:★★★★★
團(tuán)隊(duì)溝通:★★★★★
既然功能已經(jīng)實(shí)現(xiàn)得差不多了,接下去就是如何包裝的問題了,所以這一階段需要各個(gè)環(huán)節(jié)上的人員多溝通合作。專注于算法的AI工程師要繼續(xù)測試模型在極端情況下的魯棒性,而軟件工程師必然要開始前端、后端、接口以及等等細(xì)節(jié)的處理。尤其需要注意兩點(diǎn):
對質(zhì)量的保障
還有數(shù)據(jù)(獲取、結(jié)構(gòu)、用法和存儲(chǔ)安全)。
最近已經(jīng)出現(xiàn)了對不正當(dāng)獲取數(shù)據(jù)的嚴(yán)厲處罰案例,因此這方面需要格外注意[3]。
TRL 8:最后的部署
重點(diǎn):測試
算法進(jìn)度:★★★★★
代碼進(jìn)度:★★★★★
測試進(jìn)度:★★★★★
團(tuán)隊(duì)溝通:★★★★★
測試!測試!測試!一邊部署一邊記得檢查項(xiàng)目面對各種極端情況的承壓性,要在用戶涌入服務(wù)器之前做好準(zhǔn)備!沒準(zhǔn)備好就別上!
TRL 9:上線啦啦啦~
重點(diǎn):不要以為到這里就完事了
算法進(jìn)度:★★★★★
代碼進(jìn)度:★★★★★
測試進(jìn)度:★★★★★
團(tuán)隊(duì)溝通:★★★★★
可以說,從TRL 0-TRL 8都是勇者在新手村的任務(wù),項(xiàng)目上線,才意味著漫長征程正式開始。根據(jù)實(shí)際運(yùn)營情況和需求不斷改進(jìn)算法和代碼,持續(xù)集成, 持續(xù)交付 (CI/CD),TRL 7-TRL 9循環(huán)的永動(dòng)機(jī)模式就是項(xiàng)目的最終形態(tài)。
總結(jié)
作為機(jī)器學(xué)習(xí)項(xiàng)目的開發(fā)進(jìn)度量表,MLTRL各個(gè)階段的劃分并不嚴(yán)格,也不一定非要按部就班地經(jīng)歷每一個(gè)階段。只是說,這樣的步驟能較為合理地分配人力物力資源,并且避免出現(xiàn)意外后成本過高的慘案。文章中還出具了MLTRL的階段報(bào)告表格模板,并且對一些概念進(jìn)行了更為詳細(xì)的說明。感興趣的朋友們可以自行翻看~
萌屋作者:白鹡鸰
白鹡鸰(jí líng)是一種候鳥,天性決定了會(huì)橫跨很多領(lǐng)域。已在上海交大棲息四年,進(jìn)入了名為博士的換毛期。目前以圖像語義為食,但私下也對自然語言很感興趣,喜歡在賣萌屋輕松不失嚴(yán)謹(jǐn)?shù)姆諊锢藒~形~~飛~~翔~~
知乎ID也是白鹡鸰,歡迎造訪。
作品推薦:
NLP太卷,我去研究蛋白質(zhì)了~
谷歌40人發(fā)表59頁長文:為何真實(shí)場景中ML模型表現(xiàn)不好?
后臺(tái)回復(fù)關(guān)鍵詞【入群】
加入賣萌屋NLP/IR/Rec與求職討論群
后臺(tái)回復(fù)關(guān)鍵詞【頂會(huì)】
獲取ACL、CIKM等各大頂會(huì)論文集!
?
[1]Technology Readiness Level, Wikipedia
https://en.wikipedia.org/wiki/Technology_readiness_level
[2]Technology readiness levels (TRL); Extract from Part 19 - Commission Decision C(2014)4995.
https://ec.europa.eu/research/participants/data/ref/h2020/wp/2014_2015/annexes/h2020-wp1415-annex-g-trl_en.pdf
[3]?https://www.ftc.gov/enforcement/cases-proceedings/1923172/everalbum-inc-matter
總結(jié)
以上是生活随笔為你收集整理的学术工业界大佬联合打造:ML产品落地流程指南的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我不看好data2vec这类多模态融合的
- 下一篇: 这个开源数据集要在全球扩大中文NLP影响