為甚麼ML production很重要?2021年ML新趨勢

新系列簡介

倢愷 Oscar
9 min readFeb 12, 2021

在前不久我發布了一篇針對如何最佳化你的DL model performance的文章,其中大量參考Full Stack Deep Learning bootcamp的資料,而也有說這會是一個系列。

那為甚麼會想要開成一個系列?其實已經是累積一段時間的想法了,剛好最近比較有時間就盡量能寫多少算多少,先來分享一下為甚麼在這個階段我覺得ML Production很重要。

AI浪潮過了嗎?

在2021年2月5日孫民老師在我們實驗室的meeting分享了一個約50分鐘的talk,其中一開始就提到了這個問題?

而為了要解釋這個問題他介紹了Gartner的Hype Cycle

Gartner Hype Cycle

Gartner Hype Cycle methodology gives you a view of how a technology or application will evolve over time, providing a sound source of insight to manage its deployment within the context of your specific business goals. link

Hype Cycle指的是在每個科技或是應用發展時,建立一個時間觀念,了解這個科技的發展情況,裡面最主要分成4個stage

第一階段:Innocation Trigger,只要這個科技有它的價值(效果突破、大眾有興趣、成本下降),那在最早期技術不斷突破的時候,這個科技就會飛速吸引到大眾的目光。

第二階段:Peak of Inflated Expectations,在飛速成長後,我們會達到過高期望的一個峰值,而隨之而來的就是泡沫化。

第三階段:Trough of Disillusionment,泡沫化後的低谷,在這個階段科技面對前所未有的挑戰,必須要想辦法活過這個死亡谷,但是同時活過的就會是那些真正受的了考驗的公司,也就是那些真正能把科技用出其價值的公司,而接下來這個科技就會進入比較穩定的成長,大眾對這個科技也有一個客觀、理性的認識。

第四階段:Plateau of Productivity,市場已經實際接受了這個新科技,經過數輪的迭代,所有的方法論、工具都已經成熟。

上面只是概括的介紹,詳細還是需要大家自行上網對Hype Cycle做研究。

老師:「大家覺得目前CV在Hype Cycle的哪個階段?依照投資人的角度」

這裡其實我以為的是在D

但是老師公布正確答案是在B

每一年Gartner都會公布他們認為今年的Hype Cycle是如何,而在2020年他們特地做了一個AI的Hype Cycle link

這裡可以看到像是CV、ChatBots都在B附近的位置,這顯現的是在投資者的眼裡,如果是5年前大家講自己有一家CV的公司會很興奮,但是現在投資者知道這不代表甚麼,甚至更多人會質疑你的Business Model、你的Product、你的Revenue Model是甚麼?

補充:事實上在2020的State of AI report,裡面就花了不少篇幅談了自動駕駛的產業整合,包含Waymo’s in-house Honeycomb、Aurora acquired Blackmore、以及多家光達廠商進行SPAC(類似reverse merger)。

而大家熟悉的CV在B,那其實並不是壞事,的確在過去大家能夠靠著自己的學術publication拿到不錯的funding,但是現在已經過了那段時期了,但也正因為已經過了那段時期,大家更重視AI真正能成就的事情,尋找真正AI的價值。

從Hype Cycle裡面也可以看出來,其實並沒有所謂的AI’s Winter is coming,AI在過去的確有過度炒作的問題,但是度過了波谷,迎接的是AI緩慢但穩定的向上發展,而要支持這個發展,需要的就是更明確如何落地AI的應用、技術,找到AI在業界的可能性。

但是也因為AI/ML已經在Hype Cycle最後的緩慢成長期,所以任何一個ML的技術都必須要經過市場的考驗,只有真的能夠落地的那些,才是能夠在Hype Cycle裡面存活下來的技術、公司。

而在越來越重視落地AI的各大公司下,作為ML engineer跟data scientist的職能也慢慢往production level移轉,純粹的研究職位慢慢變少,更多的是在敏捷的產品團隊裡面把ML進行商品化。

目標差異:研究員的Curse of Knowledge

在stanford的新課程cs329 Machine Learning Systems Design裡面,第一堂課他們就著重談了目標差異這件事。以下我簡介他們的內容。

Research vs Production

  • Researcher的目標:Model Performance越高越好
  • Production的目標:不同stakeholder會有不同的目標

不同stakeholder,以餐廳推薦系統舉例而言

  • ML engineer: 希望推薦系統能夠推薦每個用戶真正想去的餐廳。
  • Sales team: 希望能夠推薦「那些支付較多廣告費的餐廳」給用戶,以便跟各家餐廳推薦自己的廣告收費系統,讓公司的收入能夠更高。
  • Product team: Product Team假設在過去發現推薦的latency越高會導致越多用戶直接放棄使用這個app,所以希望model能夠inference越快越好。
  • Manager team: 希望總利潤最大化,甚至是淨利、毛利最大化,所以如果收入無法提升的話,那一個optimize好的model就不需要ML工程師繼續優化了,所以就可以考慮裁掉ML engineer。(參考

所以這裡看出來在一個product team裡面每個人的目標不同,而ML engineer或是ML researcher如果再保持著錯誤的目標,一來可能無法讓公司有更多的利潤,而無法說明自身價值,進而可能危及到自己的工作。

這裡讓我想到之前聽Mr. PM大大介紹的北極星指標時也學過類似的概念

借用自Mr. PM的網站,如有侵權請告知,馬上下架

當一個團隊每個角色內在目標不同的時候就很難推進一個產品,所以Mr. PM老師推廣了北極星指標,而其他也有很多人推廣OKR等工作法,這裡我不是要講怎樣的團隊工作模式比較好,而是搞清楚自己對產品的價值,以及不同人的目標。

很多現代的ML方法,為了追求0.1 0.2%的performance improvement,可能多花了3~5倍的運算時間、運算資源,這在Manager或是公司的目標中就是牴觸的。

節省10%的運算資源對公司成本就是一個可觀的改進,但是ML 系統準個1~2%大概率是不會被感覺出來的。

所以ML engineer的價值不只在把performance最大化,而要從整個產品的角度想問題。每個產品的成本結構、利潤結構如何、商業模式如何都是要考慮的問題。

ML engineer的職能要求慢慢轉換

Google cloud的ML engineer的JD給出了比傳統想像中更多的要求。

總共分成6部分

  1. ML Problem Framing
  2. ML Solution Architecture
  3. Data Preparation and Processing
  4. ML Model Development
  5. ML Pipeline Automation & Orchestration
  6. ML Solution Monitoring, Optimization, and Maintenance

具體細節可以由我上面的link進去看,但是大家可能會發現,目前學校的教育基本上只cover 3跟4,甚至很多學校是不cover 3的,但是現在Google已經帶頭開出了高要求,把整個ML production需要的技能全部列出來,加上美國各大學都慢慢開始規劃各種相關課程。

所以現在ML production的知識已經變成每個ML engineer的必備技能了,而不再像是過去只要會XGboost跟調參就可以工作的時代了。

接下來我的medium會把其中一個重心放在Machine Learning Production這塊,也就是如何把ML的algorithm放到產品裡面,主要會包含幾個以下部分

  1. AI + Human Center Design:這部分會以Human Center Design的角度來討論AI要怎麼加入到以前的設計流程,並且討論Human AI interaction的最新研究與論文,這塊主要會以人機互動、STS(Science, Technology and Society)以及AI概念科普為主,讓大家更深入了解到目前學界、業界怎麼討論AI的產品論,以及AI產品對我們未來生活的影響。
  2. Real world ML production:包含初期怎麼設定ML project目標、baseline怎麼找、一個ML的team組成、如何收集資料,到後期infrastructure 、 deployment 、 CICD等知識,這塊我會大量參考FSDL跟全世界目前討論相關知識最新的文章,主要會以重新整理別人知識並且自行說明出來,結合一些kaggle跟ML實務的經驗。
  3. ML cloud service簡介:我會重點放在介紹AWS的sagemaker服務,並且夾雜一些AWS跟GCP的其他服務,這部分是我目前在使用的工具,所以比較是使用經驗的分享。

上面這三塊,我比較熟的是1,而2有一些過去的經驗也是最近想要深入的部分,所以會大量寫作內容放在1跟2,不過相較於sklearn 、 ML theory 、 kaggle 、 DL research進展等主題,我ML production這塊還是比較不熟,所以有錯非常歡迎大家一起來討論學習

如果喜歡這篇文章可以幫我多拍手幾次XD,或是對於哪個類型文章有興趣都可以在留言區跟我講~ 後續會以中難度的ML/DS/AI知識為主,以及AI/HCI研究相關知識

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

倢愷 Oscar
倢愷 Oscar

Written by 倢愷 Oscar

我是倢愷,CTO at TeraThinker an AI Adaptive Learning System Company。AI/HCI研究者,超過100場的ML、DL演講、workshop經驗。主要學習如何將AI落地於業界。 有家教、演講合作,可以email跟我聯絡:axk51013@gmail.com

Responses (1)

Write a response