算法工程师掌握了这个炼丹技巧的我开始突飞猛进
文 | 夕小瑤
從不拖稿的小夕今天在知乎上刷到一個問題:
哈?一向求真務(wù)實、高逼格討論的知乎畫風(fēng)怎么突然就不一樣了。
我以為回答區(qū)會有這張圖:
▲如來神掌結(jié)果竟然沒有!知乎果然沒有讓我失望,還是一如既往的認(rèn)真、嚴(yán)謹(jǐn)、有逼格。咳咳,作為一枚知乎算法圈的老司機小可愛,感覺自己有必要來添磚加瓦一下。
相信我,深刻理解數(shù)據(jù)的重要性與數(shù)據(jù)構(gòu)造&迭代&使用技術(shù),你會從算法小白突飛猛進(jìn)到即將入門!(認(rèn)真臉
首先貼出我的算法工程師升級打怪路線:
最菜的算法工程師靠調(diào)學(xué)習(xí)率
次菜的算法工程師靠試新模型
合格的算法工程師會懂得做數(shù)據(jù)
不錯的算法工程師還會用新paper優(yōu)化實際問題
優(yōu)秀的算法工程師能數(shù)據(jù)、模型、策略joint design&iterate
頂級的算法工程師能顛覆行業(yè)方法論
僅供參考,請勿對號入座! 尤其是正在看本文的技術(shù)leader們,不要將自己的小弟對號入座,畢竟從1到6的形狀是個倒金字塔╮(╯▽╰)╭
其實從這里可以看出,1和2其實大部分實習(xí)生和應(yīng)屆校招生都能做到,而3就是完成學(xué)校->工業(yè)界的重要轉(zhuǎn)折點,也就是做數(shù)據(jù)。
關(guān)于數(shù)據(jù)
學(xué)生思維中的算法工程師日常可能是這樣的:
天上掉下來/老板拍過來/網(wǎng)上download下來一個訓(xùn)練集、測試集,然后我開始調(diào)模型&調(diào)參,調(diào)好了就上線了。
尤其是那些整天吹噓算法崗門檻低,以為跑個BERT刷個榜單就入門了nlp的人,不是學(xué)生就是半路轉(zhuǎn)行的調(diào)參俠。
當(dāng)你開始意識到數(shù)據(jù)的重要性了,不敢說技術(shù)突飛猛進(jìn)吧,至少可以承認(rèn)你馬上要入門這一行了。比如你開始有以下意識:
嗯,我不能只關(guān)注離線測試集指標(biāo)漲不漲,我還要判斷測試集靠不靠譜,包括采樣/數(shù)據(jù)分布的線上一致性、時效性、標(biāo)注正確率、評測方差/置信度等。
嗯,我不能對著同一個測試集做大量沒道理的煉丹,比如暴力調(diào)參、瘋狂改隨機種子、暴力亂加策略、暴力魔改、暴力增刪改查等。我知道大量的無意義超參調(diào)整,只會變相的讓模型用超參過擬合這個測試集。最終結(jié)果往往是,向上匯報猛如虎,線上用戶用腳投票。
wok,準(zhǔn)確率從90%一下子漲到99%了!肯定不是我nb,絕對是出bug或者標(biāo)簽泄漏了!
嗯,新老方法都有其存在的意義和發(fā)揮作用的階段,都是不可缺的。
嗯,從1到2與從0到1的解法有很大區(qū)別。
就至少跟200元/天的實習(xí)生劃清界限了。。。
那么,具體來說,做數(shù)據(jù)具體要怎么做呢?或者說需要積累哪方面的能力/經(jīng)驗?zāi)?#xff1f;
簡單來講:
標(biāo)注標(biāo)準(zhǔn)
采樣策略
關(guān)于標(biāo)注標(biāo)準(zhǔn),這其實是個比較吃業(yè)務(wù)經(jīng)驗的事情。
真實的業(yè)務(wù)場景數(shù)據(jù)是非常dirty的,即使是情感分類這種看起來非黑即白的NLP任務(wù),在流量大的真實業(yè)務(wù)場景中,都會面臨大量的邊界樣本和人都要分辨半天,甚至需要足夠?qū)W歷、閱歷才能分辨出情感極性的樣本(想象一下知乎評論區(qū)那些“陰陽怪氣”的評論,可能你都不知道對方是在罵你還是夸你)。
此外,哪怕是同一條樣本,同樣的分類任務(wù),業(yè)務(wù)場景稍有變化,那么你期待的標(biāo)簽可能會完全相反。比如,句子“oppo最新款手機多少錢”與句子“vivo最新款手機多少錢”的文本相關(guān)性,在搜索場景,就是妥妥的負(fù)例,因為用戶的出發(fā)點是獲取真實知識,你如果給用戶返回vivo的價格,那用戶會有一種被欺騙感。
但是,在搜索廣告場景,卻完全可以作為正例,因為本身vivo和oppo的大眾認(rèn)知相對比較近,用戶在搜索廣告場景的出發(fā)點可能是買一部不錯的安卓機,并且用戶覺得oppo可能是不錯的選擇,那這時候你給出vivo的信息,用戶往往不會反感,甚至可能因為發(fā)現(xiàn)vivo更合適而下單。
當(dāng)然了,這種品牌實體的替換導(dǎo)致的文本相關(guān)性結(jié)論并不是永久成立的,比如同樣搜索廣告,用戶問“勞斯萊斯最新款多少錢”,結(jié)果你出了一條“五菱最新款價格”,那用戶就會感覺受到了侮辱。。所以深刻理解具體業(yè)務(wù)場景的優(yōu)化目標(biāo),對于制定正確的標(biāo)注標(biāo)準(zhǔn)是十分必要的。當(dāng)然,標(biāo)注標(biāo)準(zhǔn)很大程度上取決于產(chǎn)品標(biāo)準(zhǔn),而你就是要將這個產(chǎn)品標(biāo)準(zhǔn)深刻理解且轉(zhuǎn)變成眾包平臺人員也能輕松看懂的標(biāo)注標(biāo)準(zhǔn)。
一旦標(biāo)注標(biāo)準(zhǔn)導(dǎo)向錯了,坐擁百萬標(biāo)注數(shù)據(jù)和100層的預(yù)訓(xùn)練模型也可能原地踏步。相反地說,如果標(biāo)準(zhǔn)做得好,那將大大提升標(biāo)注數(shù)據(jù)的有效性,每周新返回的標(biāo)注數(shù)據(jù)帶來的增益可能比你花式煉丹一個月都來的有效。
關(guān)于采樣策略,這個則同時跟業(yè)務(wù)目標(biāo)、技術(shù)選型與模型水平相關(guān),在不同的場景有不同的策略。
比如你到了要端到端解決問題的階段,又能做到大規(guī)模標(biāo)注,那可以考慮直接對齊線上真實分布做同分布采樣+端到端標(biāo)注。但是大部分復(fù)雜業(yè)務(wù),往往是pipeline的方式,則要考慮對齊上一級分布。涉及到具體場景和階段時,又會根據(jù)這個大原則去微調(diào)采樣策略,比如精排問題中如何mining負(fù)例,多路召回時如何采樣來優(yōu)化下游粗排等,在真實分布的基礎(chǔ)上做些微調(diào)同樣可能帶來肉眼可見的提升。
除了標(biāo)準(zhǔn)和采樣問題外,數(shù)據(jù)問題上還可以組合大量預(yù)處理策略和訓(xùn)練策略,耦合上模型的特點和輸入分布偏好,又是一波空間。總之,在當(dāng)前的大框架下,數(shù)據(jù)空間往往比模型空間大得多,這也是當(dāng)下算法工程師煉丹水平高低的一個重要分水嶺。
更進(jìn)一步
說完了倒金字塔最重要的一層,我們繼續(xù)往下深入。
3到4的過程相對來說不是很難。如果你有刷paper的習(xí)慣,配合著高手速,腦子別太笨,那剩下的20%的疑難問題你也能解的七七八八了。即使不怎么刷paper,在靠譜的算法團(tuán)隊里茍著,通過耳濡目染也能get到不少求解疑難算法問題的高端姿勢(誤)。能做到這一步的,在大廠核心團(tuán)隊里也稱得上不錯了。如果再有一些軟實力加成,至少不會擔(dān)心沒人要。
而4到5的過程,則需要一些頂層設(shè)計能力和工作年限積累。首先要做有挑戰(zhàn)性的大業(yè)務(wù),那些挖個字典、跑跑textcnn、finetune下BERT就完成目標(biāo)的業(yè)務(wù),說難聽點都是demo,至少算法肯定不是這個業(yè)務(wù)的核心競爭力。當(dāng)然了,這種挑戰(zhàn)大的場景主要集中在搜索、推薦、廣告等核心賽道上,頂層設(shè)計能力純靠聰明、看paper和小打小鬧的業(yè)務(wù)是學(xué)不來的。怎樣的策略方案會預(yù)期達(dá)到怎樣的業(yè)務(wù)效果,消耗多少成本,有哪些風(fēng)險,甚至這個事情當(dāng)下能不能做,應(yīng)不應(yīng)該做,前置環(huán)節(jié)是什么,下個階段要做什么等,這些問題都要有足夠的判斷力。畢竟,哪個老板愿意拿著幾百上千萬的年薪讓你去他的命根子業(yè)務(wù)上成長試錯呢?
而5到6的過程,多拍腦袋吧,也需要環(huán)境、機遇。如果你做到了,記得回來留個言,給小夕留個好友位。。。
往期精彩回顧適合初學(xué)者入門人工智能的路線及資料下載機器學(xué)習(xí)及深度學(xué)習(xí)筆記等資料打印機器學(xué)習(xí)在線手冊深度學(xué)習(xí)筆記專輯《統(tǒng)計學(xué)習(xí)方法》的代碼復(fù)現(xiàn)專輯 AI基礎(chǔ)下載機器學(xué)習(xí)的數(shù)學(xué)基礎(chǔ)專輯 本站qq群851320808,加入微信群請掃碼:總結(jié)
以上是生活随笔為你收集整理的算法工程师掌握了这个炼丹技巧的我开始突飞猛进的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: qq浏览器如何进入私密 qq浏览器怎样进
- 下一篇: 【学术相关】研究生哪些行为可以在导师那超