自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

人到中年,成功轉(zhuǎn)行機器學習工程師?國外小哥狂刷吳恩達LeCun,教你18個月轉(zhuǎn)行

人工智能 新聞
人到中年,想半路出家轉(zhuǎn)行成機器學習工程師,可行嗎?最近,這位成功轉(zhuǎn)行的國外小哥用一篇干貨滿滿的硬核博客告訴我們:完全可以!

轉(zhuǎn)行成為一名機器學習工程師,可行嗎?

國外一位成功轉(zhuǎn)行的Max Mynter告訴我們——完全可以!

圖片

收到了多條X私信后,他決定把自己的成功經(jīng)驗寫下來。

他強調(diào)說:我不是Karpathy,但我可以算一名扎實的中級機器學習工程師。

他是通過刻意的努力,才成為一名工程師的。而且,就是在最近,他剛剛從業(yè)余愛好者轉(zhuǎn)成了一名專業(yè)人士。

圖片以前,Mynter從事的是社會學和物理學

因此,他寫下來這篇博文,希望為有類似愿望的人們提供可行的路線圖和資源,從而為職業(yè)生涯奠定基礎。

什么是機器學習工程師?

在開始,Mynter給我們提了一個問題:什么是機器學習工程師?

因為機器學習以及相關(guān)職位名稱及其混亂,Mynter特意和人合寫了一份34頁的白皮書。

圖片

圖片

在指南中,機器學習工程師指的是在組織中工作,并使用機器學習來解決業(yè)務案例的人,這就意味著創(chuàng)建、改進產(chǎn)品,或讓組織更高效地工作。

注意,機器學習研究人員與之不同。他們強調(diào)的是在科研中開發(fā)新穎的方法,但并不需要解決眼前的業(yè)務需求。

機器學習工程師的必備技能

機器學習工程是一個跨學科的職業(yè),我們需要掌握軟件工程、數(shù)據(jù)科學和數(shù)學等不同領(lǐng)域的技能,以及應用領(lǐng)域的一些知識。

軟件工程

當然,一個合格的機器學習工程師必須會寫代碼,但最重要的是,你需要是一位有能力的軟件工程師。原因如下——

首先,由于機器學習是在數(shù)據(jù)中發(fā)現(xiàn)模式,因此機器學習工程師必須能夠處理足夠數(shù)量的數(shù)據(jù)。通常這意味著數(shù)據(jù)量超出了手動處理的量。

其次,由于機器學習工程師的績效是通過業(yè)務反映的,因此這個崗位就需要能部署模型,并且將其集成到更大的產(chǎn)品環(huán)境中。

可以說,如果沒有為用戶提供任服務,那一個工程師的工作就是失敗的。

最后,如果了解計算機的內(nèi)部工作原理,以及構(gòu)建定制工具的能力,你的開發(fā)速度就會大大提高。

直覺和專業(yè)知識確實可以極大地幫助你設計模型,但在實驗過程中構(gòu)建機器學習模型,始終是必要的。

在這個過程中,機器學習工程師需要嘗試大量有根據(jù)的猜測,并且探究怎樣會讓效果更好。

這個過程迭代得越快,最終的輸出就越好。而軟件工程技能有助于更快地自動化和迭代,并且使得各個實驗更加高效。

作者還援引了OpenAI聯(lián)創(chuàng)Greg Brockman的觀點。

圖片

Brockman曾表示:學習機器學習其實比學習軟件快得多,優(yōu)秀的軟件工程師潛力巨大

可以說,機器學習最終是一門計算機科學的學科,而軟件工程,就是讓計算機科學成為有效應用的方式。

數(shù)據(jù)科學

由于ML是從數(shù)據(jù)中學習模式,因此ML工程師需要具備處理數(shù)據(jù)的能力。

他們需要能夠處理混亂的現(xiàn)實世界數(shù)據(jù)記錄,知道如何收集、理解這些數(shù)據(jù),還要能設計出有用的特征,并且解釋模型輸出的敏感性。

圖片

最棘手的錯誤并不是內(nèi)存不足,而是當訓練循環(huán)運行后,模型輸出了看似正確但其實是錯誤的結(jié)果時。

數(shù)據(jù)科學家一次又一次地嘗到慘痛的教訓:想要構(gòu)建一個優(yōu)秀的模型,最優(yōu)秀的方法就是花大量時間處理數(shù)據(jù)。

ML工程師還需要的一個技能就是做研究。

你需要識別與你手頭問題相關(guān)的論文,并且能夠復刻這些方法,應用到自己的領(lǐng)域。

數(shù)學與統(tǒng)計學

機器學習工程師需要掌握什么樣的數(shù)學技能?這個問題很難量化。

在大多數(shù)情況下,你在日常中不會明確地需要用到它們。

然而它總是隱性地被需要。

圖片

因為了解正確的數(shù)學知識,對于理解當前問題的數(shù)據(jù)、選擇合適的算法來說至關(guān)重要。

為此,機器學習工程師需要具備實數(shù)微積分、線性代數(shù)和概率論的基礎。這些是用于構(gòu)建和訓練許多機器學習模型的核心數(shù)學理論。

而在訓練LLM或處理大型數(shù)據(jù)集時,你會從數(shù)值方法和優(yōu)化理論的知識中受益。

最后,為了理解特定問題的數(shù)據(jù),你還需要掌握統(tǒng)計知識。

應用領(lǐng)域

雖然ML更像是一個通用工具箱,但ML工程師卻可以從特定領(lǐng)域知識中受益匪淺。

一方面,它們會幫你更了解你的用例、用戶和可用數(shù)據(jù)。

另一方面,他們發(fā)展了處理特定類型數(shù)據(jù)和合適模型的專業(yè)知識。

例如,用于文本的語言模型、用于視覺的CNN或用于時間序列的RNN。

成為機器學習工程師,有哪些途徑

通常,進入機器學習工程有兩種途徑——

  1. 數(shù)據(jù)科學路線。首先,你需要精通數(shù)學和數(shù)據(jù)工作,開始使用機器學習,然后學習必要的軟件工程技能。

圖片

  1. 軟件工程路線。當你成為一名有能力的軟件工程師,可以在職業(yè)生涯的某個時候轉(zhuǎn)向?qū)W習數(shù)學、數(shù)據(jù)和機器學習技能。

圖片

在作者看來,對于自學者來說,2是更好的路線。

這是因為,即使擁有基本的數(shù)據(jù)和機器學習技能,你對公司也是有用的。

許多業(yè)務問題相對簡單,只要部署簡單模型,就已經(jīng)可以產(chǎn)生價值,而困在Jupyter筆記本中的出色模型,只是一個玩具而已(盡管非常有趣)。

當然,這并不意味著你可以放棄數(shù)學了——永遠不要保平庸!

如果你碰巧在大學攻讀定量學位,那在默認情況下,你上的課會或多或少遵循路線1。

在這種情況下,請在上學期間或?qū)W期結(jié)束后,花一些時間來學習軟件工程知識。

學習計算機科學并專門研究機器學習,同時進行大量實習,以學習行業(yè)級的協(xié)作開發(fā),這兩條路可以同時進行。

對于路線1,這可能是最佳選擇。

實用資源

以下是一系列幫助你進入ML工程的結(jié)構(gòu)化課程。

它們更多是為你提供相關(guān)技能的建議,而不是明確的課程。

你可以隨時進行切換,使用你更喜歡的資源,或者通過直接做項目來掌握所需技能。

你肯定最清楚如何最有效地學習。涵蓋本路線圖的內(nèi)容,比如何涵蓋它更重要。

學習編碼

上述兩條路線的基礎,都是學習編程,使用計算機。

由于Python的機器學習和數(shù)據(jù)科學生態(tài)系統(tǒng)最為強大,且擁有最多的可用資源,因此是一個安全的選擇。

哈佛的CS50課程,涵蓋了Python的基礎知識,對編程和軟件工程做了精彩的介紹。

圖片

如果想更深入了解一下,可以去看赫爾辛基大學的《編程基礎》。對于已經(jīng)學過CS50的人,可以瀏覽一下前幾章。

圖片

雖然你并不需要了解Python的內(nèi)部工作原理,就可以將其用于數(shù)據(jù)科學和機器學習,但這些東西在以后會非常有用。

請將《Dead Simple Python》之類的書放在床頭柜上,并時不時地閱讀一章。

圖片

學習淺層機器學習

學會了編碼,你就可以開始學習機器學習了。

你應該從淺層的學習算法開始。它們比神經(jīng)網(wǎng)絡更直觀,你可以藉此培養(yǎng)處理數(shù)據(jù)的技能,無需增加復雜性。

吳恩達的《機器學習專業(yè)化》是一個很好的資源,它一直是許多人進入AI的門戶。

圖片

學習深度學習

了解了ML的基礎知識后,接下來你就可以轉(zhuǎn)向深度學習、當前的行業(yè)標準和強大的工具箱。

如果你喜歡吳恩達的教學風格,就可以繼續(xù)學習深度學習專業(yè)課程。

如果你喜歡更具大學風格的課程,我推薦Yann LeCun在紐約大學的深度學習講座。

圖片

如果你需要更實用的方法,fast.ai和隨附的《程序員實用深度學習》一書可以幫你。

圖片

這些資源還涵蓋了一些必要的數(shù)學知識。如果你發(fā)現(xiàn)自己的知識缺乏,deeplearning.ai有深度學習數(shù)學課程。

圖片

這本書讓我受益匪淺。它的章節(jié)和實際示例既可以用作教學,也可以作為參考。

圖片

建立領(lǐng)域?qū)I(yè)知識

一旦掌握了深度學習的基礎,就該選擇一個領(lǐng)域進行深入研究了。

如果你還不確定選擇哪個領(lǐng)域,Huggingface上就有大量課程。

圖片

這些課程本身當然不夠,但它們是很好的入門讀物,可以為您提供研究出論文的基礎、背景和詞匯,并為你可以構(gòu)建的項目提出想法。

如果想要開始做項目呢?

軟件、編碼、機器學習——對于所有這些項目,一些理論知識都是必要的,但工程其實是一種實踐,你可以通過實踐來學習。

如果你已經(jīng)完成了課程練習,構(gòu)建了一些項目,就可以做一些更具野心的事情。

通過建立作品集,你可以更自由地探索自己的興趣,由新手升級為專家。

圖片

一般來說,擁有一個或幾個令人印象深刻、架構(gòu)良好、值得花費一個月時間的創(chuàng)新性項目,比擁有許多基本項目要更好。

而且,它會讓你學到更多。

想要申請成功,讓這些項目變得切實可行就變得非常重要。

你可能需要寫一篇博客或推文,來介紹自己的學習成果。

但你能做的最令人印象深刻的事,就是構(gòu)建一個前端,以便其他人可以嘗試。

學習軟件工程

Fullstackopen課程是Web開發(fā)和分布式系統(tǒng)的很好的切入點。

圖片

它不涉及機器學習,但涵蓋了許多工具和實踐,它們對于機器學習工程師來說非常有價值,例如構(gòu)建分布式系統(tǒng)、數(shù)據(jù)庫和容器化。

通過這些知識,你就可以部署模型,為用戶提供界面。

本課程使用的是JavaScript,因為它是網(wǎng)絡語言。

雖然這一開始可能令人畏懼,但竟然你已經(jīng)走了這么長一段路,此時硬著頭皮給自己的工具包添加另一種語言,也是值得的。

學習MLOps

還有特定于ML的軟件工程和開發(fā)實踐 (MLOps)。

要了解如何在整個生命周期中管理和設計ML產(chǎn)品,fullstackdeeplearning 是一個很好的資源,可以讓你了解一個大概。

圖片

選擇讓你的ML工程師生活更輕松的實踐,應用到你的項目中,這些努力都是值得的。

結(jié)束語

作者表示,如果你遵循本指南,一定可以成為入門級ML工程職位有競爭力的候選人。

因為你既掌握了必要的理論知識,做過的項目也使你成為了幾個重點領(lǐng)域的專家。

然而,要成功找到工作,擁有技能只是做到了一半。

你還需要與人交流,展示你的技能。

你可以通過選擇實習獲得良好的推薦,或者留下來,另外還可以試著獲得投資。

FreeCodeCamp的創(chuàng)始人Quincy Larson,就寫了一本很棒的書,關(guān)于他成為軟件工程師的旅程。

圖片

盡管他的目標角色略有不同,但這些經(jīng)歷會非常適合你前半段的旅程。

FreeCodeCamp播客上有這本書前100集的有聲讀物,比如在Spotify上。

圖片

需要注意的是:路線圖看起來很簡單,但實踐起來并不容易。

學習機器學習和軟件工程很困難,但這不是巫術(shù)。

其他人在你之前就已經(jīng)做到了,如果你下決心,就可以做到(這里有另一篇文章,指導你如何有效地學習困難的東西)。

圖片

為了給您一個粗略的了解,這是我預計需要多長時間,具體取決于您的起點。

從零開始學習

如果您全職致力于此路線圖,預計需要大約18月的時間,從0開始學習所有內(nèi)容。

如果你可以上大學,這是最簡單的途徑。大學可以為你提供所需的社區(qū)、指導、課程、實習資源。

如果你想從不相干的行業(yè)轉(zhuǎn)行,請一定要利用起之前的經(jīng)驗。即使想要離開,你的專業(yè)知識也會讓你與眾不同。

作為開發(fā)轉(zhuǎn)行

如果你已經(jīng)是一名開發(fā)人員,你將很快變得有價值。

下班后,你可以花大約六個月的時間,學習淺層和深層的機器學習,以及你缺乏的數(shù)學知識。

你此前的軟件工程經(jīng)驗非常有價值,會受到雇主的高度重視。

甚至你會更加幸運,不需要做出任何犧牲。

一旦轉(zhuǎn)行成功,你就可以在工作中學習,并獲得報酬。

作為數(shù)據(jù)科學家進入機器學習領(lǐng)域

如果你是一名數(shù)據(jù)科學家,你大概率遲早會因為缺乏軟件工程能力,而觸到職業(yè)天花板。

作者直言:自己就是如此。

對于數(shù)據(jù)科學領(lǐng)域的從業(yè)者來說,轉(zhuǎn)向機器學習或多或少是一種自然的職業(yè)發(fā)展軌道。

如果投入額外的時間來學習,就可以加速你的職業(yè)生涯。

你可以在當前的工作資源中尋找ML項目,花幾個月時間來完成它們,然后構(gòu)建一個組合,來讓自己轉(zhuǎn)型。

概括

總的來說,你需要做到以下這些事——

  1. 學習計算機科學基礎知識以及編程,通過CS50課程和專用Python資源

  2. 學習經(jīng)典(淺層)的機器學習,為數(shù)據(jù)工作奠定基礎,培養(yǎng)直覺

2.1) 建立微積分、線性代數(shù)和概率論的數(shù)學基礎(數(shù)值和優(yōu)化會更加分)

  1. 按照特定課程學習深度學習,例如Yann LeCun的NYU講座、fast.ai或deeplearning.ai的深度學習專業(yè)課程
  2. 從fullstackdeeplearning中學習MLOps

4.1) 如果有必要,可以通過fullstackopen來學習軟件工程,比如學習Web開發(fā)以及分布式系統(tǒng)、DevOps和關(guān)系數(shù)據(jù)庫的基礎知識

  1. 尋找您想要從事的領(lǐng)域,通過建立你的作品集來發(fā)展專業(yè)知識。你可以從Hugginface課程中找到一個起點,跟隨你感興趣的兔子洞,通過論文實現(xiàn)構(gòu)建一些有趣的項目。

做完這些,你就可以去投簡歷了。

祝你好運!

責任編輯:張燕妮 來源: 新智元
相關(guān)推薦

2022-06-06 12:53:17

吳恩達AI機器學習

2022-02-08 15:55:44

人工智能新冠吳恩達

2018-12-07 09:50:36

裁員失業(yè)中年人

2019-09-02 11:14:36

AI 數(shù)據(jù)人工智能

2020-10-23 15:57:54

機器學習技術(shù)人工智能

2020-07-23 08:07:22

人工智能機器學習技術(shù)

2020-05-29 10:16:45

數(shù)據(jù)科學數(shù)據(jù)科學家軟件工程師

2017-08-31 14:00:35

軟件工程師人工智能機器學習

2013-08-01 10:58:53

2024-09-30 13:30:00

2020-05-06 13:08:07

GitHub前端工程師

2021-04-23 10:55:52

人工智能深度學習

2021-04-13 09:25:21

機器學習人工智能計算機

2018-12-06 10:50:28

Android快應用

2013-06-14 13:10:00

周鵬轉(zhuǎn)行程序員轉(zhuǎn)行

2024-06-13 09:05:36

2019-02-21 14:21:07

CTO訓練營技術(shù)管理

2023-03-30 13:47:11

AI

2018-04-12 17:51:13

開發(fā)者故事

2010-03-08 09:56:14

女生DBA
點贊
收藏

51CTO技術(shù)棧公眾號