AI在碎片化中難突圍 批量商品化無時間表
2019-08-29 10:08:19 中關村在線AI在碎片化中難突圍 批量商品化無時間表
人工智能繁榮的背后是各大廠商暗戰的開始,大家都在為了爭搶開發者推出各自的深度學習開發框架,應用在不同場景下的關聯性越來越強。為此,微軟、谷歌、亞馬遜等IT巨頭都在圍繞深度學習投資項目、開發框架工具,CNTK、TensorFlow、MXNet背后均有著這些企業的力挺。除此之外,Caffe、Torch、Theano也是比較流行的開發框架。
對于算法工程師來說,在進行AI訓練時會有很多調節參數的工作,考慮到不同的調參會影響最后模型的收斂速度和精度,這一部分通常會給算法工程師制造大量的工作量。此時,算法疊在碎片框架上。如果有一個可以自動化調參的服務,就能把各個模型收斂所需的目標量降到降低的值,不僅減輕了工程師的調參工作量,還能讓其快速找到最優參數。
除此之外,開發人員在使用這些框架時,所要用到的特性和功能也各有不同,應用場景也可能是算機視覺、語音識別、自然語言處理與生物信息學等等。以TensorFlow來說,使用者不再需要通過反向傳播求解梯度,這點和Theano類似,而且在設計神經網絡結構時,也不用耗費過多精力去寫C++或者CUDA代碼。
使用過程中,C++在線上部署的復雜度方面有所降低,而且讓手機、平板、穿戴設備等對處理資源占用密集的終端可以運行復雜的模型,要知道相比之下Python的資源損耗還處在相對較高的水平。借此,開發者就能在硬件性能相對足夠的機器中,即使是用Python也可以獲得在低延遲狀態下、嵌入式環境中使用C++的能力。當然TensorFlow也有其問題,比如異類設備之間的通信優化仍需完善。
還是拿TensorFlow來說,盡管當前其是主流的AI開發框架,但在前后端并沒有提供豐富的工具集成,而實際開發過程中需要不斷的迭代測試,要在大規模數據量的情況下完成快速開發上線,傳統的辦法耗時耗力。要是趕上數據集非常大的情況,單機訓練下可能要跑十幾個小時,這還要考慮到期間的開發過程。
對于開發者的痛苦遠不止這些、老牌選手Theano雖然在單GPU方面執行效率方面有不錯的表現,但其缺乏底層C++的接口,導致部署起來并不方便,在工業生產環境的應用幾乎鮮有。因此,很多人都是將其視為研究工具,而不是最終的產品,在CPU上的低性能也有這方面的阻礙。這種框架更像是一個原始語言,如果直接用其設計神經網絡,或者去讀它的輸出信息,對開發者是畢竟痛苦的事情。
此外,Caffe、Deeplearning4J等也有著各自的問題,由此也引申出了開發者到底該如何選擇深度學習的開發平臺?這里列出了幾個考察點:首先,多數公司的AI架構不是從0起步,對既有編程平臺的整合難度不能忽視;其次,對機器學習軟件包和數據處理的難度也要尋求兼容;再有,二次開發能力同樣關鍵,有了分布式、多GPU的優化能力,如何在其他平臺上發揮作用,這是要思考的事情。
從生態的角度來看,各家的框架多少還存在著分戰隊的情況。開發者需要在各自的平臺上做各自的開發,而且這些框架在更新時并不是統一的,也就是說開發者在一個框架上開發的神經網絡模型,并不能直接在另一個框架上用。要想讓二者實現兼容,開發者需要花費很大的精力去自行解決。
只有解決了開發碎片化的問題,AI才可能批量商品化,價格才可能降低為小微企業都能用的起。
免責聲明:本文由作者原創。文章內容系作者個人觀點,轉載目的在于傳遞更多信息,并不代表EETOP贊同其觀點和對其真實性負責。如涉及作品內容、版權和其它問題,請及時聯系我們,我們將在第一時間刪除!