為什么深度學習會是計算機的“殺手級應用”? IBM是怎么找到分布式計算來加快大數據人工智能工作負載處理速度的?
總的來說,這聽起來足夠簡單:你有一臺大型快速服務器在處理人工智能相關的大數據工作負載。然后需求變了,更多數據需要添加進來才能在一定時限內完成任務。邏輯上講,你需要做的,就是添加更多的處理能力而已。
然而,就像流行表情包里說的一樣:“臣妾做不到啊!”
沒錯,直到今天,添加更多的服務器是解決不了這個問題的。迄今為止的深度學習分析系統,都只能運行在單臺服務器上;用例僅僅是不能通過添加更多服務器來擴展而已,這背后有些深層次的原因。
但是,現在,這一切都成為了歷史。8月8日,IBM宣稱,已找到新的分布式深度學習軟件開發路線,不久之后深度學習負載分布式處理不再是夢。這很有可能是至少最近10年來,人工智能計算領域里跨越最大的一步。
聯網服務器搞定AI任務聽起來簡單,但事實并非如此
僅僅能夠聯網一組服務器使之協調工作解決單個問題,IBM Research 就已然發現了讓大規模深度學習更為實際的里程碑:如IBM最初的結果中證明的,用數百萬張照片、圖片甚至醫學影像,以及通過增加速度和大幅提升圖像識別準確率,來訓練AI模型。
同樣是在8月8號,IBM發布了其 Power AI 軟件貝塔版,供認知和AI開發者打造更準確的AI模型,發展更好的預測。該軟件將有助于縮短AI模型訓練時間,可從數天乃至數周,縮短至數小時。
到底是什么讓深度學習處理如此耗時?首先,數據量非常龐大,往往涉及很多GB或TB數據。其次,能夠梳理這些信息的軟件現在才針對這類工作負載進行了優化。
很多人現在都沒搞清楚的一件事是,深度學習與機器學習、人工智能和認知智能到底哪里不一樣?
深度學習是機器學習的一個子集
IBM高性能計算與數據分析認知系統副總裁薩米特·古普塔稱:“深度學習被認為是機器學習的一個子集,或者說一種特別的方法。”
我常舉的一個深度學習的例子是:我們在教小孩認貓貓狗狗時,會給他們展示很多狗狗的圖片,然后有一天小孩子就會說“狗”了。但是小孩子并沒有認清狗狗有4條腿和一條尾巴的事實,其他一些細節也沒認識到;小孩子就是在實際整體感知一條狗狗。這與傳統計算機模型那種“如果……否則……”的條件邏輯迥然不同。深度學習試圖模仿這種整體認知,所用方法就是所謂的神經網絡。
深度學習的問題在于,計算量太過龐大,高通信開銷一直是其最大的挑戰。
這就是計算機終結者,實實在在的“殺手App”。我們已經在用GPU(圖形處理單元)加速器來加快深度學習訓練了。我們所做的,就是向這些計算機模型饋送數百萬的圖片,但之后我們需要在帶強力GPU的計算機上訓練它們,為記錄和理解這些圖像涉及的東西。
大多數深度學習框架可擴展到一臺服務器上的多個GPU,但不能延伸至多臺帶GPU的服務器。于是,我們的團隊編寫了軟件和算法,自動化并優化了該超大復雜計算任務的并行計算,使之能跨數十臺服務器上的數百個GPU加速器并行執行。這很難!
IBM發現“理想擴展”
IBM Research 提交了近乎理想的擴展方式。在64臺 IBM Power 系統的256個GPU上部署的開源Caffe深度學習框架中,其新分布式深度學習軟件,達到了歷史新低的通信量,以及95%的擴展效率。
IBM研究員Hillery Hunter開發的可驅動多個GPU的新軟件
上一個最佳擴展,是 Facebook AI Research 在Caffe2上執行的訓練中展現出來的89%,且其通信量更高。采用該軟件,IBM Research 在超大數據集(750萬張圖像)上訓練的神經網絡,達到了33.8%的圖像識別準確率新高。之前的記錄是微軟的29.8%。
IBM Research 分布式深度學習代碼的技術預覽,可從 IBM PowerAI 4.0 的TensorFlow版和Caffe版獲取。
在ResNet-101深度學習模型上,IBM用來自ImageNet-22K數據集的750萬圖片,美國網站空間 香港網頁寄存,以批處理大小5120的規模,證明了其分布式深度學習軟件的擴展能力。該團隊采用64臺 IBM Power 服務器集群,以總共256塊 NVIDIA P100 GPU 加速器,達到了88%的擴展效率,且只有非常低的通信開銷。
分布式深度學習前景廣大,可在很多領域形成突破,從消費者移動App體驗到醫療影像診斷。但大規模部署深度學習的準確性和實用性上的進展,卻受阻于大規模深度學習AI模型運行上的技術難題——訓練時間以天計,甚至以周計。
分析師怎么說