本系列文章原文發布于Github,感謝Star,歡迎Fork與PR。
GitBook提供了更好的閱讀體驗。
在知乎專欄會首先更新。
同志們可以不點贊不關注,但是有好工作機會可以推薦的嘛,歡迎私信,不要矜持、不要害羞啊,哈哈哈。
前言
離開老東家快一年了,在半休息半工作的輕量負荷下,終于可以系統的做一點事情:1、把快給管理荒廢了的擼碼撿起來;2、補補DeVOps這條Pipeline各種工具生態發展;3、看看React,VUE,Flutter這些之前根本沒有精力去看的東西;4、從數學到理論系統性的看看DL的東西;5、看心情,瞎琢磨。
同時,在各路獵頭的熱情對接下,和一些國內AI領域的公司有過工作崗位的溝通與面試,基本上分為以下幾類:
- 頭部獨角獸AI公司
- 中小AI公司
- 國外AI創業,準備回國內落地
- 準備進入AI領域(畢竟是風口)的IT領域公司
也算聊了不少家,皆無果。究其因,無非就是人家看不上我
,我看不上人家
這兩種。
一方面年齡40+,在當下這個環境,這是最大的競爭劣勢;另一方面多年的工作重心在產品、架構、項目以及技術管理上,寫代碼這件事基本給廢了;再一方面,雖然16年開始上手AI,Demo也一手做出來了,項目也交付了,但不是科班,顯然沒有扎實的DL基礎;最后,怎么說呢,也許就是個靠嘴干活的渣渣。
所以我關注的機會,更多的是需要技術支撐的高綜合技能要求的方向,而不是“計算機視覺研究員”、“高級程序員”這種明顯力不從心的崗位。實際的無果原因基本是:大多數溝通或者面試,聊著聊著要么“跑偏了”,要么實在是無法繼續下去了,繼續下去只能是互相浪費時間,只能想辦法快速結束
,具體有以下幾種情形:
- JD方向是諸如“工程化落地與交付”、“AI應用示范”、“產品技術經理”等的,基本都是聊1到2個小時,但真正與JD關鍵詞相關的問題好像沒有超過10分鐘的,實在不知道JD的要求面試官是否清楚;
- 最奇葩的一家,目標是找“有B/G領域項目交付經驗的CTO”,技術面第一個問題:
Python的 tuple 和 list 什么區別
;然后是 React、MongoDB、Redis、Docker 等;近一個小時,沒有一個 DL 問題,沒有一個產品、交付的問題;問到Flask如何在生產環境部署,真的抓狂了,這是面3年以內 Python 開發還是拿我鬧著玩呢?答:Python Web就是寫 Demo,生產都是 Java, C#, .NET Core這些,演示就是 laptop 開發環境把 http 拉起來,沒部署過生產環境。只求趕快能讓人家判斷我不行,面試結束。 - 遇到過很有“追求”的問題:
你來規劃我們的AI產品,如何能確保在2年后落地還是屬于領先的技術水平
,我的天,在2個月不看新聞,不讀Paper的就要落伍的AI時代,要做到2年后落地還要技術領先,我不知道誰能做到,反正我肯定做不到。 - 遇到過極其“好學”的CTO來面試,3個多小時,簡直就是一場AI基本概念講座,我問了一個問題,就后悔前面3個多小時的“科普”了:“貴公司的‘人工智能應用總監’目標是解決哪些場景的DL問題?”。答案基本是:還沒想好,有做AI的需求,但是具體做什么需要入職后再討論。
- 某團隊有個細分的算法,產品化的程度基本比Demo強不了多少,準備做B/G市場項目,聽了好多人家的設想,拋出去靈魂三連問:
1、一個算法其實就是看起來能解決某個領域問題的一個功能點,但是對于B/G市場,用戶需要的解決方案和完整的產品,咱們這方面有什么規劃?2、以我的理解(非常巧,一個以前帶過的產品經理在做的產品和他們的方向很相似,正好這哥們兒之前找我聊過不少,要我給點建議)要做這方面的項目,還需要有……,這些算法和產品規劃,有沒有時間和成本的考慮?3、B/G項目是一個長周期的事情,尤其是這種新興事物,用戶教育和市場培育需要投入和耐心,這方面公司有沒有做好長期作戰的儲備?
。人家思考后,沒有回答,給我了一個問題:“那你覺得我們的商業模式應該是什么呢?
”。面試互懟,好歡樂。 - 頭部AI公司CTO,分管的研發中心是要做工程、產品化落地的,終面算是撈到一次和大佬對話的機會,但沒有問一個工程、產品與交付的問題。
其實,所有的面試,我都是做好準備“掛”在DL的算法、框架、超參和手寫代碼的問題上。但,很不幸,這些問題真不多,只有一次,Caffe大概看了看,沒實際用過,問題確實不知怎么回答;沒有一家對我之前落地的項目感興趣,詳細追問一些工程、產品和算法實現(調參、backbone network的選擇依據,這些還是有人問到的)以及對項目的復盤與反思等。對此,略感驚訝。
五年前,不提Big Data、Hadoop出門都不好意思跟人打招呼,這兩年公司不想辦法往AI、Block Chain方向靠,都不好意思更新網站,在這個熱鬧非凡,熱點輪轉的時代,以上種種意想不到的情況,在一定程度上來說,也是必然。
之前2、3年基本少有人對 AI 落地非常關心,“豪華團隊 + Paper + 比賽刷榜”就是一個團隊最好對背書,不管是誰的錢,投資總是需要考慮回報這件事的,在大方向都轉向比拼落地能力的2019年,為什么沒有感覺到這個行業對于落地的急迫,依然有對豪華團隊的迷之自信,可看看知乎的這個問題:清華AI四大公司PonyAI、RealAI、Face++、商湯未來能否達到Google、微軟的高度?。必須要說,對于這些橫跨學術與產業的頂尖人才的貢獻,我是無比敬佩,IT領域也算混了二十年,從來沒見過哪個方向有如此強大的開源與分享動力,框架、論文、實現代碼、權重與參數(預訓練模型)大家你爭我搶,毫無保留的都給社區隨便用,Google的推動更是不可忽視(從開源協議來說,大多都是沒法商用的,比如ImageNet下載申請協議的第一條就是Researcher shall use the Database only for non-commercial research and educational purposes
,做CV的有幾家能全部避免使用ImageNet的相關產物?為了下數據集,找在學校任教的同學、朋友借edu郵箱,前幾年估計很多產業界的人都干過這樣的事情)。用半年業余加班時間就能從0開始做出檢測算法,跑出來Demo,活著爬出銷售挖的坑,沒有這些開源分享,就算有“飄柔”般的自信和“梁靜茹”給的勇氣,這事情也是想都不敢想的。
其實,對于非AI領域的公司積極擁抱AI,出現的各種理解與認識偏差,是能理解的(畢竟,我就是摸著石頭一步一步往前走的),但是對于Scientists坐鎮的AI公司,現階段也不缺錢,工程化、產品化落地情況依然不樂觀,這件事我是有點困惑的。
對于AI的落地,我相信,一定會有:“訓練幾個 model 搭幾個 inference 的 APIs,業務去調用不就好了么?”這樣的簡單想法存在。我的理解是:對于AI這個“邊緣”技術領域,如何從解決一個特定問題的構想到最終的工程化落地的產品、項目,雖然看起來都是寫代碼,但是和我們傳統的軟件開發過程、產品思考、交付能力要求相比,還是有較大差異的。
基于自己的理解,結合近期與微信群、知乎上的一些“陌生人”聊天過程中的收獲,以及工作以來對售前、產品、研發、咨詢、交付與技術管理的認識與實踐,入門DL后的學習探索與項目落地交付實戰,還有近一年來較為深入的閱讀、學習與思考,把我對于如何實現Shift AI models to real world products
的一孔之見與相關實踐經驗組織為一個較為系統的知識體系回饋給社區,同時,我相信寫作過程也是對相關知識領域的認知程度的梳理與再學習過程。
考慮到我的知識背景局限性(熟悉B/G項目和產品,略懂CV和監督學習),所以內容和其中的一些建議與案例,更傾向監督學習、CV在B/G端的產品與項目落地,對于機器學習的NLP、RL等領域以及像推薦算法這些在線學習的互聯網方向的應用,爭取也能做一些建議。
最后,筆者才疏學淺,文中難免有錯誤、偏差與疏漏之處,望不吝指正與補充。