算法和算法框架,誰會代表未來?

比特到商業智能 發佈 2020-02-07T18:41:20+00:00

算法框架指的是計算框架,計算框架可以讓算法執行更高效,比如最早玩深度學習的人都用過Theano,基於Theano去開發算法很困難,後來有了PyTorch和TensorFlow,讓基於深度學習的算法開發更方便。


算法和算法框架是機器學習非常重要的兩個因素,算法就是諸如LR、GBDT、DNN、DeepFM這樣的實際解決某個數學問題的公示實現。算法框架指的是計算框架,計算框架可以讓算法執行更高效,比如最早玩深度學習的人都用過Theano,基於Theano去開發算法很困難,後來有了PyTorch和TensorFlow,讓基於深度學習的算法開發更方便。

最近看了很多文章也參加了很多討論,分享下我的看法。目前看上來,業內做框架的看上去更吃香,特別是在大公司。但是這個現狀跟我自己的看法有些出入。

算法代表著業務,更具生命力

首先我們回顧下算法的發展,其實無論是淺層的以LR為代表的算法,還是深度學習中以DNN為代表的算法。本質上都是計算梯度,然後反向傳播去更新每一層級網絡的參數,區別就是網絡層數不同。可以說這種算法誕生於上世紀60年代,在這麼多年的發展中,這些算法並沒有被時代淘汰。即使是今天,LR依然在大部分業內的推薦系統中發光發熱。

算法之所以有生命力,是因為算法跟業務結合的更緊密,無論是上世紀還是下世紀,我覺得業務的本質不會變,這也意味著算法的邏輯本質上不會變,只會不斷演進。

框架代表計算力,更迭更快

而框架往往是不感知業務邏輯的,今天的TF框架跟10年前的框架不同,而10年前的框架跟20年前的框架又不同。我的一個觀點是框架軟體層面的優化永遠追不上硬體的發展。

舉個例子,10年前做機器學習都用CPU為計算資源,當時很多人做CPU計算框架的編譯優化。但是後來Hilton的學生髮表了如何用GPU做深度學習,一下子將計算效率提升了幾十倍,這種情況下過去CPU級別的框架優化變的沒有那麼有意義。未來可能有TPU,有量子計算等計算硬體不斷推出。今天的框架優化,一定會在未來成為泡影。

框架和算法誰是未來

既然算法更有生命力,框架是暫時的,那是不是就不做框架優化了?這個要站在不同的角度去看,如果今天對一個開發同學來說,我覺得做框架更有意義,因為框架會涉及到更多地底層,門檻更高。雖然今天框架會逐漸被未來的框架替代,但是其中的一些優化邏輯是相同的。所以,對於技術同學來說,做框架更有前途。

那如果是站在產品經理的角度呢?產品經理會更多地去接觸業務,我覺得去更多了解算法更有前途。

所以框架和算法誰是未來,對於產品經理來說,更多地了解算法更好。對於技術同學來說,優化框架更有利於技術發展。自己的一點看法~歡迎拋轉。

關鍵字: