Yandex 常駐計劃,或經驗豐富的後端人員如何成為機器學習工程師

Yandex 常駐計劃,或經驗豐富的後端人員如何成為機器學習工程師

Yandex 正在為經驗豐富的後端開發人員開設機器學習駐場計劃。 如果您已經用 C++/Python 編寫了大量內容並希望將這些知識應用到 ML 中,那麼我們將教您如何進行實際研究並提供經驗豐富的導師。 您將從事關鍵的 Yandex 服務工作,並獲得線性模型和梯度提升、推薦系統、用於分析圖像、文字和聲音的神經網路等領域的技能。 您還將學習如何使用離線和線上指標正確評估您的模型。

該計畫為期一年,期間參與者將在Yandex的機器智慧和研究部門工作,並參加講座和研討會。 參與是有償的,並且涉及全職工作:從今年 40 月 1 日開始,每週 XNUMX 小時。 申請現已開放 並將持續至1月XNUMX日。 

現在更詳細地介紹一下 - 我們正在等待什麼樣的受眾、工作流程是什麼,以及後端專家如何轉向 ML 職業。

重點

許多公司都有駐留計劃,包括Google和 Facebook。 它們主要針對試圖邁向機器學習研究的初級和中級專家。 我們的節目是針對不同的觀眾的。 我們邀請已經獲得足夠經驗並確信自己的能力需要轉向機器學習的後端開發人員,以獲得解決工業機器學習問題的實用技能(而不是科學家的技能)。 這並不意味著我們不支持年輕的研究人員。 我們為他們組織了一個單獨的計劃— 以 Ilya Segalovich 命名,也允許您在 Yandex 中工作。

居民將在哪裡工作?

在機器智能與研究系,我們自己開發專案想法。 靈感的主要來源是科學文獻、文章和研究界的趨勢。 我和我的同事分析了我們所讀到的內容,研究如何改進或擴展科學家提出的方法。 同時,我們每個人都會考慮到他的知識和興趣領域,根據他認為重要的領域制定任務。 計畫的想法通常誕生於外部研究結果和自身能力的交叉點。

這個系統很好,因為它在很大程度上解決了 Yandex 服務出現之前的技術問題。 當一項服務遇到問題時,它的代表會來找我們,很可能會採用我們已經準備好的技術,剩下的就是將其正確應用到產品中。 如果有些事情還沒有準備好,我們至少會很快記住我們可以在哪裡「開始挖掘」以及在哪些文章中尋找解決方案。 眾所周知,科學方法就是站在巨人的肩膀上。

該怎麼辦

在 Yandex,甚至在我們的管理階層中,機器學習的所有相關領域都在開發中。 我們的目標是提高各種產品的質量,這可以激勵我們測試一切新產品。 此外,新服務也會定期出現。 因此,講座計劃包含了工業發展中機器學習的所有關鍵(經過充分驗證的)領域。 在編寫我的課程部分時,我利用了我在數據分析學院的教學經驗,以及其他 SHAD 教師的材料和工作。 我知道我的同事也這麼做了。

在最初的幾個月裡,根據課程計畫進行的培訓將占到你工作時間的約 30%,然後是 10% 左右。 然而,重要的是要了解,使用 ML 模型本身所需的時間將比所有相關流程少約四倍。 其中包括準備後端、接收資料、編寫預處理管道、最佳化程式碼、適應特定硬體等。如果您願意,ML 工程師可以是全端開發人員(只是更注重機器學習) ,有能力從頭到尾解決問題。 即使使用現成的模型,您可能需要執行更多操作:在多台機器上並行執行,以句柄、程式庫或服務本身元件的形式準備實作。

學生選擇
如果您認為最好先擔任後端開發人員才能成為機器學習工程師,但事實並非如此。 在沒有開發服務、學習和成為市場極度需求的實際經驗的情況下參加同一 ShaD 是一個很好的選擇。 許多 Yandex 專家都是透過這種方式獲得了目前的職位。 如果有任何公司準備在你畢業後立即為你提供機器學習領域的工作,你也應該接受這份工作。 試著加入一個擁有經驗豐富導師的優秀團隊,並準備好學習很多東西。

通常是什麼阻止您進行機器學習?

如果後端人員渴望成為機器學習工程師,他可以從兩個發展領域中進行選擇 - 無需考慮駐留計劃。

首先,將學習作為某些教育課程的一部分。 Уроки Coursera 將使您更接近了解基本技術,但要充分沉浸在該專業中,您需要投入更多時間。 例如,從ShAD畢業。 多年來,ShAD 開設了不同數量的直接相關機器學習的課程 - 平均約為八門。 它們中的每一個都非常重要且有用,包括在畢業生看來。 

其次,您可以參加需要實現一種或另一種機器學習演算法的實戰項目。 然而,IT開發市場上這樣的項目很少:大多數任務中都沒有使用機器學習。 即使在積極探索機器學習相關機會的銀行中,也只有少數從事數據分析。 如果您無法加入這些團隊之一,您唯一的選擇就是開始自己的專案(最有可能的是,您將設定自己的截止日期,這與戰鬥生產任務無關),或者開始競爭卡格爾。

事實上,與其他社區成員合作並在比賽中嘗試自己 相對容易 - 特別是如果您透過培訓和 Coursera 上提到的課程來支持您的技能。 每個競賽都有一個截止日期 - 它將作為對您的激勵,並為您在 IT 公司中使用類似的系統做好準備。 這是一個很好的方法 - 然而,它也有點脫離實際的流程。 在 Kaggle 上,您會獲得經過預處理的數據,儘管並不總是完美的; 不主動考慮對產品的貢獻; 最重要的是,它們不需要適合生產的解決方案。 你的演算法可能會工作並且非常準確,但是你的模型和程式碼將像弗蘭肯斯坦一樣由不同部分縫合在一起 - 在生產專案中,整個結構將運行太慢,很難更新和擴展(例如,隨著語言的發展,語言和語音演算法總是會部分重寫)。 公司感興趣的是,所列出的工作不僅可以由您自己完成(很明顯,您作為解決方案的作者也可以完成這項工作),也可以由您的任何同事完成。 討論體育規劃和工業規劃之間的區別 很多,而 Kaggle 則精確地教育「運動員」——即使它做得很好,讓他們獲得一些經驗。

我描述了兩種可能的發展方向——透過教育計畫進行培訓和「戰鬥」培訓,例如在 Kaggle 上進行培訓。 住院醫師培訓計畫是這兩種方法的結合。 ShaAD 級別的講座和研討會以及真正的戰鬥項目等著您。

來源: www.habr.com

添加評論