0
本文作者: skura | 2019-09-16 10:49 |
雷鋒網(wǎng) AI 開(kāi)發(fā)者按,數(shù)據(jù)科學(xué)家的工作是否如你想象一般,每天建模型,調(diào)整參數(shù),充滿了樂(lè)趣和挑戰(zhàn)?在 Dessa 的數(shù)據(jù)科學(xué)負(fù)責(zé)人 Ian Xiao 看來(lái),或許并非如此。他認(rèn)為,數(shù)據(jù)科學(xué)家的工作往往是非常「無(wú)聊的」,在決定踏上這條道路之前,我們必須對(duì)此做好心理準(zhǔn)備,建立自己的應(yīng)對(duì)機(jī)制。以下是他的全文。
Julian Howard 在 Unsplash 上的照片
TLDR:很多人選擇數(shù)據(jù)科學(xué)(或機(jī)器學(xué)習(xí))中令人興奮的東西來(lái)激勵(lì)自己和他人。但我們必須面對(duì)一個(gè)現(xiàn)實(shí):真正的工作往往是「無(wú)聊的」——與人們認(rèn)為浪漫的東西相比是無(wú)聊的。感到無(wú)聊會(huì)造成緊張,它最終會(huì)導(dǎo)致數(shù)據(jù)科學(xué)領(lǐng)域工程師的高流動(dòng)性。我想和大家分享我的實(shí)際工作以及如何應(yīng)對(duì)「數(shù)據(jù)科學(xué)的枯燥」。我希望能幫助你——一個(gè)有抱負(fù)的數(shù)據(jù)科學(xué)家,去設(shè)定正確的期望。所以,一旦你決定從事數(shù)據(jù)科學(xué)的職業(yè),你就要長(zhǎng)期從事這項(xiàng)工作。享受它吧!
分享你的方法?我想強(qiáng)調(diào)的是,每個(gè)人都需要有一個(gè)應(yīng)對(duì)機(jī)制。花 2 分鐘告訴我你的故事,也許接下來(lái)我們可以分享我們各自的應(yīng)對(duì)方式,應(yīng)該很有趣。
1.故事時(shí)間
我年輕英俊的表弟 Shawn 最近來(lái)到了加拿大,他來(lái)這里攻讀計(jì)算機(jī)科學(xué)碩士學(xué)位。和許多學(xué)生一樣,Shawn 對(duì)機(jī)器學(xué)習(xí)很有熱情,他想在兩年后畢業(yè)時(shí)成為一名數(shù)據(jù)科學(xué)家(或從事任何與 ML 有關(guān)的作)。
作為一個(gè)真正關(guān)心 Shawn 前途的哥哥,我決定分享從我的數(shù)據(jù)科學(xué)生涯中學(xué)到的最謹(jǐn)慎的知識(shí)——這不是《哈佛商業(yè)評(píng)論》所描述的「21 世紀(jì)最性感的工作」,它枯燥乏味,令人筋疲力盡,令人沮喪——就像其他職業(yè)一樣。
我有義務(wù)告訴 Shawn 真相,即使真相令人失望。這將有助于他對(duì)自己的職業(yè)選擇做出明智的決定(更重要的是,我將避免凌晨 3 點(diǎn)接到我母親和叔叔的電話,他們肯定會(huì)給我上關(guān)于家庭、責(zé)任和誠(chéng)實(shí)的課)。
作為一個(gè)聰明、自驅(qū)、充滿好奇的年輕人,Shawn 想讓我詳細(xì)說(shuō)明「無(wú)聊」具體指的是什么,于是我寫(xiě)下了這篇文章。
此外,我們還討論了 ML 的主要趨勢(shì),以及如何在這個(gè)領(lǐng)域脫穎而出。我將在一些后續(xù)文章中分享這一點(diǎn)。如果你感興趣,請(qǐng)接著往下看。
2.設(shè)置一些上下文
作為一名數(shù)據(jù)科學(xué)經(jīng)理,我正在財(cái)富 100 強(qiáng)企業(yè)帶領(lǐng)團(tuán)隊(duì)部署 ML 系統(tǒng),管理客戶關(guān)系,并做一些技術(shù)工作。
這里先談?wù)勔恍└匾亩x。ML 系統(tǒng)是一種解決業(yè)務(wù)領(lǐng)域問(wèn)題的解決方案,它有一個(gè) ML 組件,并且具有與人類(lèi)或機(jī)器一起工作所需要的所有其他非 ML 系統(tǒng)內(nèi)容。
部署意味著獲得驅(qū)動(dòng)實(shí)際業(yè)務(wù)操作的解決方案。例如,設(shè)置用于訓(xùn)練和驗(yàn)證 ML 模型的實(shí)驗(yàn)不是部署;設(shè)置通過(guò)電子郵件發(fā)送每月產(chǎn)品報(bào)價(jià)的推薦引擎是部署。部署 ML 系統(tǒng)面臨的問(wèn)題與構(gòu)建一個(gè)好的 ML 模型截然不同。如果你感興趣的話,可以在這里閱讀更多內(nèi)容。
也就是說(shuō),我指的不是那些加入谷歌(google)或其他高科技公司,成為初級(jí)開(kāi)發(fā)人員和技術(shù)經(jīng)理的人。這些公司確實(shí)做得很好,但我認(rèn)為它們只代表「前 1%」。其他財(cái)富 100 強(qiáng)企業(yè)往往在技術(shù)成熟度、應(yīng)用速度以及對(duì)工具和工程人才的投資方面落后。
3.讓我們開(kāi)始吧
簡(jiǎn)而言之,當(dāng)我說(shuō)數(shù)據(jù)科學(xué)很無(wú)聊時(shí),我指的是當(dāng)人們意識(shí)到浪漫的期望和現(xiàn)實(shí)之間的差距時(shí)的那種壓抑感。
大多數(shù)年輕的數(shù)據(jù)科學(xué)家希望把大部分時(shí)間花在構(gòu)建和改進(jìn)神秘的 ML 模型上,或者將時(shí)間花在用絢麗的可視化技術(shù)展示開(kāi)創(chuàng)性的商業(yè)見(jiàn)解上。當(dāng)然,這些確實(shí)是你工作的一部分。
但是,隨著企業(yè)成熟度的提高,他們更加注重實(shí)際的經(jīng)營(yíng)價(jià)值。這意味著企業(yè)希望部署更多的 ML 系統(tǒng);他們不太關(guān)心他們有多少新模型或漂亮的報(bào)表。因此,數(shù)據(jù)科學(xué)家被要求做非 ML 工作。這讓他們感到很無(wú)聊。
讓我們進(jìn)一步具體化數(shù)據(jù)科學(xué)中的「無(wú)聊」是什么樣子,如果我給你展示我從周一到周五的典型一天,你將發(fā)現(xiàn)那是非常無(wú)聊的。因此,我將把我的工作分類(lèi),突出展示預(yù)期與現(xiàn)實(shí)的對(duì)比,并分享我的應(yīng)對(duì)機(jī)制。
我將使用「我們」為主語(yǔ),因?yàn)檫@些例子是從和團(tuán)隊(duì)的經(jīng)驗(yàn)集合中提取的。這些例子可能并不詳盡,但我認(rèn)為它們會(huì)說(shuō)明問(wèn)題。
3.1設(shè)計(jì)(占據(jù) 5-10% 的時(shí)間)
這指的是我們整個(gè)集體一起努力獲得「高」智力來(lái)解決問(wèn)題和提出高明的想法。這些想法可以包括新的模型架構(gòu)、數(shù)據(jù)特性和系統(tǒng)設(shè)計(jì)等。很快,我們就會(huì)陷入低谷,因?yàn)橛捎跁r(shí)間限制和優(yōu)先級(jí)的原因,我們需要采用最簡(jiǎn)單(通常也是最無(wú)聊)的解決方案。
期望:我們實(shí)現(xiàn)的想法,可以在著名的 ML 期刊,如 NIPS,谷歌的人工智能研究博客等上面刊登,甚至可能贏得下一個(gè)諾貝爾獎(jiǎng)。
現(xiàn)實(shí):我們執(zhí)行的事情能很好地完成工作。我們?yōu)橐恍┲档醚b幀的漂亮白板畫(huà)拍照。
應(yīng)對(duì)機(jī)制:1)和我領(lǐng)域外的朋友一起喝酒時(shí)繼續(xù)談?wù)摨偪竦南敕?;他們可以殘忍地讓我停止這些瘋狂、愚蠢的想法;2)把瘋狂和聰明的想法作為輔助項(xiàng)目來(lái)做;3)結(jié)果是,大多數(shù)瘋狂的想法并沒(méi)有真正起作用或者只是比簡(jiǎn)單的想法稍微好一點(diǎn)。所以 KISS 原則(保持簡(jiǎn)單愚蠢,Keep-It-Simple-Stupid)總是給我安慰和結(jié)束。
3.2 編碼(會(huì)花費(fèi) 20-70% 的時(shí)間,具體取決于角色)
這里沒(méi)什么好說(shuō)的。在這個(gè)階段,我們戴上耳機(jī),喝點(diǎn)咖啡,伸展手指,鎖定屏幕,打出漂亮的代碼行,讓魔術(shù)發(fā)生。
我們的代碼通常分為五類(lèi),各個(gè)代碼行數(shù)占總代碼行數(shù)的百分比為:數(shù)據(jù)管道(50-70%)、系統(tǒng)和集成(10-20%)、ML 模型(5-10%)、支持調(diào)試和演示的分析(5-10%)。這與其他人的觀察結(jié)果大致一致。
Sergey Karayev 的模型代碼在其全套深度學(xué)習(xí)課程中所占的比例
如你所見(jiàn),我們大部分時(shí)間都在處理無(wú)聊的非 ML 內(nèi)容。盡管 ML 組件非常關(guān)鍵,但現(xiàn)代的框架和編碼語(yǔ)言(例如 Keras, XGBoost, Python 的 sklearn 等)已經(jīng)將許多復(fù)雜的東西抽象出來(lái)了。這意味著實(shí)現(xiàn)我們需要的結(jié)果不需要沉重的代碼庫(kù);工作流已經(jīng)很好地標(biāo)準(zhǔn)化和優(yōu)化了(做低級(jí)優(yōu)化是不同的,但它可能只是 1% 的情況)。
預(yù)期:你將花費(fèi)大部分時(shí)間開(kāi)發(fā)和優(yōu)化 ML 組件,其他人將負(fù)責(zé)其余部分。
現(xiàn)實(shí):沒(méi)有人希望 1)做你不想做的事情,2)你把所有的好東西都留給自己,3)你在一個(gè)已經(jīng)很好優(yōu)化的工作流程上花費(fèi)了不相稱(chēng)的時(shí)間。
應(yīng)對(duì)機(jī)制:我們都會(huì)根據(jù)自己領(lǐng)域的專(zhuān)業(yè)知識(shí)做出決策,并在對(duì)他人發(fā)揮支持作用的同時(shí)成為自己領(lǐng)域的主要開(kāi)發(fā)人員(例如,貢獻(xiàn)想法、進(jìn)行實(shí)際開(kāi)發(fā)或 QA)。這樣做可以讓我們?cè)谙蛩藢W(xué)習(xí)的同時(shí)發(fā)揮自己的優(yōu)勢(shì)。更重要的是,它有助于避免為了做「性感的工作」而產(chǎn)生矛盾。
3.3 QA、Debug 和修復(fù) Sh*t(至少 65% 的時(shí)間)
在我看來(lái),這是任何技術(shù)開(kāi)發(fā)工作中最無(wú)聊、最痛苦的部分,開(kāi)發(fā) ML 系統(tǒng)也不例外。
在 ML 中,有兩種類(lèi)型的「bug」:糟糕的結(jié)果和傳統(tǒng)的軟件問(wèn)題。糟糕的結(jié)果是指低分?jǐn)?shù)模型(例如,準(zhǔn)確性或精確性)或不敏感的預(yù)測(cè)(例如,基于商業(yè)經(jīng)驗(yàn)的概率非常不準(zhǔn)確)。代碼沒(méi)什么問(wèn)題,只是結(jié)果不合理或不夠好。傳統(tǒng)的軟件問(wèn)題包括諸如代碼損壞或系統(tǒng)配置等問(wèn)題。
預(yù)期:我們只需要處理糟糕的結(jié)果,并想出更聰明的方法來(lái)建立更好的模型。這件事情還是有點(diǎn)吸引人的,看到由于一些好的想法而提高表現(xiàn)是非常值得的。
實(shí)際情況:在我們花在 QA /debug/apply 修復(fù)上的時(shí)間中,大約 70-90% 是在傳統(tǒng)的軟件問(wèn)題上。通常,在建立端到端的模型訓(xùn)練和驗(yàn)證流程之后,我們可以相當(dāng)快地獲得足夠好的結(jié)果。然后,我們經(jīng)常將建模的優(yōu)先級(jí)降低,以關(guān)注系統(tǒng)問(wèn)題。
應(yīng)對(duì)機(jī)制:我使用 github 的 Issue 特性將其游戲化并保留一個(gè)「獎(jiǎng)杯板」。當(dāng)我關(guān)閉 issue 時(shí),我會(huì)立刻分泌多巴胺??吹轿覀儭刚鞣沟膯?wèn)題,我感到更加自豪。當(dāng)然,我更自豪的是,當(dāng)我點(diǎn)擊「go」時(shí),一切都神奇地運(yùn)行起來(lái)——這在大學(xué)里的編程作業(yè)中只發(fā)生過(guò)一次。我將終生記住這種感覺(jué)。如果它在現(xiàn)實(shí)生活中再次發(fā)生,很可能是出了問(wèn)題。
3.4 應(yīng)對(duì)突發(fā)事件(10-50% 的時(shí)間)
對(duì)于任何交付團(tuán)隊(duì)的經(jīng)理來(lái)說(shuō),這都是一場(chǎng)噩夢(mèng),而不是數(shù)據(jù)科學(xué)。不管時(shí)間線是怎么安排的,總會(huì)有事情發(fā)生,讓你偏離正軌。具體來(lái)說(shuō),這些突發(fā)事件可以分為三類(lèi):a)外部問(wèn)題,如范圍更改、上游系統(tǒng)依賴(lài)性和客戶投訴;b)內(nèi)部團(tuán)隊(duì)問(wèn)題,如惱人的 bug 需要比預(yù)期長(zhǎng)得多的時(shí)間才能解決;人們需要過(guò)渡來(lái)適應(yīng)新的工作內(nèi)容得到新的工作;人員配備,性格沖突等,C)我自己的無(wú)知等等其它問(wèn)題。
期望:從頭到尾按部就班;來(lái)自客戶、老板和團(tuán)隊(duì)的熱烈掌聲和擁抱。
現(xiàn)實(shí):意想不到的事情通常發(fā)生在最不方便的時(shí)候。沒(méi)有什么萬(wàn)全的辦法來(lái)避免這些問(wèn)題,這令人沮喪。
應(yīng)對(duì)機(jī)制:1)將項(xiàng)目的時(shí)間線乘以 2-2.5 倍,以便在涉及到深層次的技術(shù)問(wèn)題或跨團(tuán)隊(duì)活動(dòng)時(shí)留出足夠的緩沖空間;2)在內(nèi)部設(shè)定進(jìn)度時(shí)要有緊迫感;3)我在腦海中大聲發(fā)誓,好吧,在適當(dāng)?shù)那闆r下,有時(shí)會(huì)口頭發(fā)誓;4)呼吸、微笑和傾聽(tīng),5)與團(tuán)隊(duì)一起探索所有可能的選擇,并根據(jù)可行性、需要的努力和阻力確定優(yōu)先順序,6)如果這些都不起作用,不要等待,尋求幫助!7)執(zhí)行。其中許多機(jī)制本身并不是應(yīng)對(duì)機(jī)制,但它們是良好的做法,且一直運(yùn)作良好。
4.總結(jié)
我想強(qiáng)調(diào)的是,每個(gè)人都需要有一個(gè)應(yīng)對(duì)機(jī)制。
所有這些都是想告訴你,現(xiàn)實(shí)世界的數(shù)據(jù)科學(xué)是困難的。有志于從事 ML 職業(yè)的人應(yīng)該認(rèn)識(shí)到,除了建立模型之外還有很多事情要做。你最終會(huì)感到無(wú)聊和沮喪,就像你對(duì)任何職業(yè)一樣。這是正常的。但最重要的是,你應(yīng)該建立一個(gè)應(yīng)對(duì)機(jī)制,這樣你就可以長(zhǎng)期留在這個(gè)游戲中,享受一路上的小獎(jiǎng)勵(lì)和最后的勝利。
via:https://towardsdatascience.com/data-science-is-boring-1d43473e353e?gi=bc4e3668bb57
雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。