撰文|OneFlow社區(qū)
AI/ML 大熱后,很多工程師跟著潮流學(xué)習(xí)新技術(shù),再加上高薪誘惑,不少人就跳坑到機(jī)器學(xué)習(xí)的研究/工程職位,但進(jìn)去后才知道這里并不是想象中那么美好,一入此坑深似海,你是不是也感同身受?
最近,Reddit 上的一位做了一年 ML 工程師的@hedy-m就吐槽,有太多人因?yàn)椤翱帷?、“聰明”和“高薪”一窩蜂涌進(jìn)機(jī)器學(xué)習(xí)領(lǐng)域,他也曾以為ML工作夢(mèng)寐以求,但現(xiàn)在,他發(fā)現(xiàn)有錢難買我開(kāi)心,準(zhǔn)備棄坑跑路了。
他給出的的理由是查看損失曲線、調(diào)整特征和參數(shù)的工作實(shí)在太耗費(fèi)精力,太無(wú)聊,尤其是生產(chǎn)模型時(shí),當(dāng)它們沒(méi)有產(chǎn)生預(yù)期的效果,他會(huì)不禁認(rèn)為自己只要足夠努力,模型就會(huì)變得有效,但往往事與愿違,ML 模型效果難以捉摸,項(xiàng)目的交付難度無(wú)形中讓他壓力山大,他現(xiàn)在很厭惡花數(shù)個(gè)小時(shí)在“垃圾數(shù)據(jù)”中撞腦袋的機(jī)器學(xué)習(xí)工作中。
不過(guò),他正在打軟件工程師的主意,當(dāng)處理更純粹的編程和工程任務(wù)時(shí),他覺(jué)得自己會(huì)獲得更多工作樂(lè)趣。
在他訴苦后,江湖上大致有 ML“棄坑”派、MLOps“真香”派和技多不壓身派給出了觀點(diǎn),有人勸他打消這種想法,這樣做一定是瘋了,也有勸他跳坑做自己感興趣的軟件工程的,另一部分人則建議使用 MLOps 工具幫他減輕當(dāng)前的工作壓力。
一時(shí)間,三大門派各抒己見(jiàn),一頓輸出后,似乎讓這位工程師不知所措了......
1
機(jī)器學(xué)習(xí)“棄坑”派
實(shí)際上,@hedy-m 的抱怨在 ML 領(lǐng)域很常見(jiàn)?!皸壙印迸删W(wǎng)友表示很有共鳴,勸他去搞軟件工程。
基本上,不少機(jī)器學(xué)習(xí)項(xiàng)目需要為獲取相關(guān)資源和數(shù)據(jù)而四處奔走,你還需做耗時(shí)的數(shù)據(jù)處理工作,但最終 ML 項(xiàng)目的成功取決于你所擁有的數(shù)據(jù)甚至是運(yùn)氣。模型沒(méi)有按預(yù)期工作總讓人感到沮喪,并且你還要為此負(fù)全部責(zé)任。
Reddit 網(wǎng)友 @knighttoken1 稱,如果你開(kāi)始解決一個(gè)不可能或者非常困難的問(wèn)題,無(wú)論如何嘗試使用不同的 ML 模型都不靈時(shí)(至少 ML 不是解決方案)。在這樣的項(xiàng)目中,很難不把個(gè)人價(jià)值與模型性能聯(lián)系起來(lái)。
“在 ML 工作中,你很容易工作 14 小時(shí),同時(shí)失去友誼、社交和健康,最終仍然一無(wú)所獲”:)
此外,大部分 ML 工程師日常用的是知名模型或復(fù)現(xiàn)其他論文,創(chuàng)造性空間有限,難以獲得成就感,有人認(rèn)為,要想在機(jī)器學(xué)習(xí)工作中做出好成績(jī),還是要有 Phd 加持去做研究。當(dāng)你成為?ML 的大牛,輕松輸出各種相關(guān)論文時(shí),生活就美滿幸福,但要想有影響力和創(chuàng)新性,自然也會(huì)承受各種壓力。
即便在大廠,只有極少數(shù)地方才會(huì)用到最前沿的ML研究,況且還是業(yè)務(wù)優(yōu)先。@TernaryJimbo 提到,在大廠 ML 團(tuán)隊(duì)帶過(guò)后,現(xiàn)在討厭關(guān)于 ML 的一切,他轉(zhuǎn)到了更標(biāo)準(zhǔn)化的后端工作,只是把ML當(dāng)成一種業(yè)余愛(ài)好。
還有人提到,機(jī)器學(xué)習(xí)工程師還要努力展示與某些業(yè)務(wù) KPI 相關(guān)的直接商業(yè)價(jià)值,而模型的改進(jìn)不一定會(huì)對(duì)業(yè)務(wù) KPI 產(chǎn)生直接影響,因?yàn)檫€有很多其他因素促成數(shù)據(jù)產(chǎn)品取得成功,由于涉及到如此多的不確定性,他們通常也不得不使用太花哨的東西,因此,舊招數(shù)不斷被重復(fù)使用。
相對(duì)而言,做軟件工程不確定性更小,優(yōu)秀的軟件工程師投入必要的時(shí)間,就會(huì)獲得積極的結(jié)果,而且對(duì)任何科技公司來(lái)說(shuō),軟件工程項(xiàng)目都是更成熟的核心業(yè)務(wù)。
2
MLOps“真香”派
機(jī)器學(xué)習(xí)工作中讓人很糟心的是,要處理混雜的數(shù)據(jù),并且沒(méi)有稱心的編程工具,如果能改變這兩點(diǎn)不足,機(jī)器學(xué)習(xí)工程師的生產(chǎn)力將得到大幅提升。
網(wǎng)友 @CuriousRonin 的回復(fù)得到了最高贊。他認(rèn)為,在許多情況下,當(dāng)你打算將代碼用于生產(chǎn)時(shí),只有使用更高級(jí)別的框架才能節(jié)省大量時(shí)間,而不是將時(shí)間花在代碼和文檔、錯(cuò)誤分析以及訓(xùn)完模型后的很多其他工作上。
不過(guò)使用 PyTorch ?Lightning 或 fast.ai 等更高級(jí)別的框架也有很多麻煩。有人提到,從 Fastai 部署 PyTorch 模型非常痛苦,因?yàn)槿藗儽仨毩私?Docker、PyTorch、WebAPI/flask 和云容器服務(wù)、監(jiān)控......
因此,他建議使用 MLOps 工具。如果沒(méi)有良好的基礎(chǔ)設(shè)施,系統(tǒng)質(zhì)量和開(kāi)發(fā)體驗(yàn)就會(huì)一塌糊涂,而 MLOps 就像是編程用的 IDE 或 Git,這是行業(yè)中最有價(jià)值的東西。
有人補(bǔ)充,機(jī)器學(xué)習(xí)工程師的工作是弄清楚如何將模型產(chǎn)品化,并將其擴(kuò)展到軟件工程師構(gòu)建的 Serving 平臺(tái),如果發(fā)生模型漂移,還需要監(jiān)測(cè)和調(diào)整,而 MLOps 平臺(tái)可以做到這一點(diǎn)。
網(wǎng)友 @chief167 更直接,他說(shuō)自己根本不喜歡 Azure、Snowflake 或 ?Databricks 進(jìn)行部署,現(xiàn)在模型就緒后,使用 MLOps 平臺(tái)在 15 分鐘內(nèi)就可完成模型部署,API 就緒,完成監(jiān)控,拋出接口并完成整個(gè)過(guò)程,確實(shí)消除了所有痛苦。
在他看來(lái),谷歌 GCP 和 AWS 比傳統(tǒng)玩家要好很多,但離專用平臺(tái)還差得很遠(yuǎn),還推薦使用 Datarobot、H2O、Teradata Vantage 等 MLOps 平臺(tái)。
目前,MLOps 主要被用于由 AI 技術(shù)驅(qū)動(dòng)的組織中,一般由數(shù)據(jù)工程師或應(yīng)用工程師打造,不過(guò)在一些組織中,機(jī)器學(xué)習(xí)工程師也會(huì)承擔(dān) MLOps 工具的開(kāi)發(fā)工作。
3
技多不壓身派
溫和的中庸派也發(fā)話了,俗話說(shuō),多門技術(shù)多條路,不要搞得這么決絕。
許多公司在軟件工程和 ML 這兩個(gè)角色之間還沒(méi)有過(guò)于明顯的區(qū)分,實(shí)際上,如果你在這兩方面都擁有成熟的經(jīng)驗(yàn),那你更有價(jià)值。
網(wǎng)友 @modernzen 現(xiàn)身說(shuō)法,他目前的職位是機(jī)器學(xué)習(xí)工程師,但主要做的是軟件工程 + MLOps/DevOps 的工作,偶爾還會(huì)做數(shù)據(jù)科學(xué)任務(wù)。盡管他喜歡數(shù)學(xué)/統(tǒng)計(jì)/理論機(jī)器學(xué)習(xí),但一直喜歡寫代碼勝過(guò)任何事情。
他將大部分時(shí)間都沉浸在編碼工作上,并且從不抱怨,只花 <10% 的工作時(shí)間在 fine-tuning 或調(diào)參的 ML/DS 任務(wù)上,這樣不至于對(duì)其感到厭倦。他建議在一個(gè)使用機(jī)器學(xué)習(xí)的團(tuán)隊(duì)找到一份軟件工程師的工作,這樣即使大部分時(shí)間不直接使用 ML 模型,你仍然可以研究機(jī)器學(xué)習(xí)。
還有一位有 20 年軟件工程師經(jīng)驗(yàn)的網(wǎng)友寬慰道,無(wú)聊或壓力可能不是技術(shù)領(lǐng)域的問(wèn)題,更多與團(tuán)隊(duì)或者項(xiàng)目有關(guān)。當(dāng)你看到軟件運(yùn)行或輸出業(yè)務(wù)見(jiàn)解,并為用戶和企業(yè)帶來(lái)價(jià)值時(shí)會(huì)讓人感到滿足,開(kāi)發(fā)項(xiàng)目也并不總是很順利。
聽(tīng)了上述三大門派的觀點(diǎn),你會(huì)選擇棄坑ML?繼續(xù)茍著?還是有其他選擇?
其他人都在看
資源依賴的“詛咒”?
“遠(yuǎn)見(jiàn)者”特斯拉AI主管Karpathy
TVM:成為深度學(xué)習(xí)領(lǐng)域的“Linux”
對(duì)抗軟件系統(tǒng)復(fù)雜性:恰當(dāng)分層,不多不少
解讀Pathways(二):向前一步是 OneFlow
OneFlow v0.7.0發(fā)布:全新分布式接口,LiBai、Serving等一應(yīng)俱全
歡迎下載體驗(yàn)OneFlow v0.7.0最新版本:https://github.com/Oneflow-Inc/oneflow/https://github.com/Oneflow-Inc/oneflow/
關(guān)鍵詞: 機(jī)器學(xué)習(xí)