在過去十年中,企業已開始使用機器學習(ML)來收集和分析大量數據以獲得競爭優勢。現在有些人正在尋求更深入的研究。使用稱為深度學習(DL)的機器學習技術的子集,他們正在尋求深入到隱藏在數據中更深奧的屬性。目標是為欺詐檢測,需求預測,點擊預測和其他數據密集型分析等領域創建預測應用程序。
使用DL技術開發的計算機視覺,語音識別,自然語言處理和音頻識別應用需要大量的計算能力來處理大量的數據。為了獲得企業正在尋找的DL解決方案,底層IT基礎設施需要作為企業級部署和管理。正在開發新的解決方案,使企業能夠更快,更容易地從豐富,復雜的數據中獲得可行的洞察。
機器學習包括開發算法,通過從示例輸入構建模型來進行數據驅動的預測或決策。諸如谷歌,Facebook,亞馬遜,百度,雅虎,特斯拉汽車和沃爾瑪實驗室等領先的技術公司已經使用這些機器學習工具來改進圖像識別,程序化廣告以及產品和內容推薦的分析應用程序。
有三種類型的機器學習:監督機器學習,無監督機器學習和強化學習。
通過有監督的機器學習,程序在預定義的一組標準上被“訓練”。例如,可以基于鄰居,臥室數量和總平方英尺來饋送關于先前房屋銷售價格的節目信息,然后要求它預測新銷售的銷售價格。雖然一個好的房地產代理知道如何基于面積,鄰域和類似因素來定價房子,但是使用標準技術來編程計算機來做這件事將是非常麻煩的。另一個例子是顯示計算機預定義的數據集(像貓和狗的圖像的集合),以訓練它正確地識別其他類似的圖像。
無監督的機器學習意味著程序被給予大量的數據,并且必須在所提供的數據內找到非線性關系。這方面的一個例子可能是查看房地產數據,并確定哪些因素導致城市某些地方的價格上漲。一個主要制造商使用這種類型的無監督機器學習來預測各種零件的未來需求。這樣,在設備必須接地之前,部件將可用于安裝。人類專家可能知道什么因素影響對零件的需求,但機器學習提供了自動化該決定所需的附加數據。
加強學習是指計算機程序與動態環境交互,其中動態環境必須執行某個任務。示例包括與社交媒體動態交互以收集關于問題的公眾情緒的數據。計算機可以從數據獲得信息并預測未來的實時貢獻。
這些機器學習方法僅在問題可用數據解決時才起作用。例如,人們不能使用機器學習技術基于客戶是否帶寵物來估計機票的價格。如果數據不會幫助人類專家解決問題,它也不會幫助機器。
機器學習使企業不僅能夠從越來越大且多樣化的數據集中發現模式和趨勢,而且還能夠使傳統上由人類完成的分析自動化,從業務相關交互中學習,并提供基于證據的響應。它還提供了可能成功的建議行動的可信水平。它使企業能夠提供新的差異化或個性化的產品和服務,以及提高現有產品和服務的有效性和/或降低其成本。
然而,機器學習是不精確的計算,因為沒有確定性的建模特征的方法。特征通常被建模為神經網絡,并且參數取決于輸入數據集的質量。
深度學習是機器學習的一個子集,是一個模擬人類大腦的動態系統,特別是神經元如何在大腦中相互作用,以及大腦的不同層如何協同工作。與ML不同,在DL特征被建模為具有幾個內部/隱藏層的深度神經網絡,其捕獲關于數據的微妙信息并且指定物理意義。DL能夠將數字圖像分割成更易于分析的片段;這意味著可以提取高級信息并對其進行編碼以供計算機使用。
例如,對于人類,臉部的眼睛。對于計算機,面部具有明暗的像素,構成一些類型的線的抽象。深層學習模型的每一層使計算機識別同一對象的另一級別的抽象。使用早期的動物類比,深層學習將讓用戶區分躺在地上的貓和那些跳躍的貓的圖片。
▲
以所示的例子,其中頂行是孩子的明顯圖像。 然而,對于計算機,包含兒童在自行車上,在海灘上或者側向翻轉的圖像的位圖是完全不同的數據集。一個人會有一個非常困難的時間教一個計算機來區分他們。 在某些情況下,這些圖像之間的差異可能就意味著生命的死亡。例如,底行包含道路標志的圖像。因為標志被雪覆蓋,無人駕駛車輛如果不能識別道路標志,就關乎生命安全。一個普通的駕駛員可以識別它,因為它的八邊形形狀。
DL在過去幾年中取得了巨大的進步。例如,下圖描繪了作為ImageNet大規模視覺識別挑戰(ILSVRC)的一部分進行的圖像識別研究的準確性,該技術評估大規模的對象檢測和圖像分類的算法。正在進行研究,以使研究人員能夠比較在更廣泛的各種對象的檢測進度,并測量計算機視覺的大規模圖像索引檢索和注釋的進展。
▲
圖中的藍色顯示了2010年和2011年的傳統計算機視覺方法,最近的紫色DL技術。紅色描繪了人的準確率,這是通過要求個體和個體組來描述和分類圖像來測量的。人們被允許考慮所示的圖像并達到共同的答案。一個人立即注意到一個非常穩定的改善。注意,使用DL技術的計算機在2015年的圖像識別中變得與人類一樣高效。
百度研究的深度語音項目最近通過使用單一的深度循環神經網絡,在英語和普通話的語音識別中實現了人類水平的準確性。這個結果表明DL在計算機視覺領域之外也是可用的。
另一個有趣的例子是谷歌DeepMind,它使用DL技術用于AlphaGo(阿爾法狗)。AlphaGo的算法基于先前通過人工神經網絡通過廣泛訓練(從人類和計算機游戲)“學習”的知識來找到它的下一步。
對DL技術越來越感興趣的最后一個例子是DeepMind和暴雪之間的合作,讓其人工智能學會玩星際爭霸2。該項目正在開發為一個研究環境,開放給世界各地的人工智能和機器學習研究人員。
機器學習帶來了巨大的計算挑戰
ML和DL技術的這些示例是令人印象深刻的,但它們提出了強大的計算任務。對DL的訓練通常需要幾十個五十億的浮點運算(FLOP),其在小群集上轉換為幾個星期至幾個月的時間。許多,即使不是大多數,企業不能等待這個時間量在迅速變化的環境中提取智能。
深度學習軟件模塊如果使用開源存儲庫,需要花費企業多天下載和安裝。找到規定深度學習框架或庫的所有相關性可能需要很多時間。由于這些工具仍然是新的,許多依賴需要用戶確保特定庫的特定版本可用。一旦發現,用戶可能需要執行耗時的手動安裝所有庫和相關關系。在某些情況下,它們必須滿足60多個相關性性。許多這些庫不能從標準企業Linux發行版的開放源代碼庫安裝,這意味著用戶需要尋找它們并手動安裝它們,以確保他們使用的版本一起工作。
用戶沒有從具有出色的標稱性能特性但缺乏優化庫的新硬件中獲益,因為創建這些庫可能需要幾個月或幾年時間。特別地,DL需要有效的接口到BLAS,FFT,卷積,malloc和memcopy。 NVIDIA已經提供了這些需要的接口cuBLAS和cuFFT,但這樣優化的庫從其他密集的硬件平臺丟失。通常需要幾年時間才能在新架構上優化這些庫。
對于那些尋找可用的機器學習包的人,Knowm Inc.提供的一個機器學習工具Plethora,提供了超過40個機器學習包和庫的詳細比較。
構建深度學習的框架
新的工具和框架正在出現,使深入學習更容易,企業必須選擇正確的軟件,硬件,網絡,工具和庫的組合,以有效地開發和運行應用程序。
第一個業務流程是簡化深度學習環境的部署,管理,操作和擴展。企業必須首先啟用分析師和開發人員。深度學習工具不能孤立工作。為了有效,企業需要向開發人員和分析師提供正確的工具和支持硬件和軟件框架集合。
雖然人工智能和機器學習已經發展幾十年了,但深度學習仍是新的,并在不斷變化。企業需要靈活地采用新的工具和做法,以便以敏捷的方式響應市場需求。
現代化的深度學習環境
為了響應這些需求,Bright Computing開發了Bright for Deep Learning解決方案,可在Bright Cluster Manager V7.3上使用。新方法提供了機器學習框架的選擇,以簡化深度學習項目,包括Caffe,Torch,TensorFlow和Theano和CNTK。它包括幾個最受歡迎的機器學習庫,以幫助訪問數據集,包括MLPython,NVIDIA CUDA深度神經網絡庫(cuDNN),深度學習GPU培訓系統(DIGITS)和CaffeOnSpark,開源的分布式深度學習解決方案數據集群。
為DL處理大量數據需要大量的計算能力。隨著專為DL設計的新工具變得可用,開發人員正在使用它們在利用加速器(如NVIDIA GPU)的高級高性能(HPC)集群上構建應用程序。
GPU使得機器學習中所需的計算密集程序的執行速度比僅使用CPU的解決方案快得多。 Bright for Deep Learning解決方案提供了GPU加速版本的通用ML庫,以便更輕松地部署和管理硬件及相關軟件,API和機器學習庫。這意味著研究人員和開發人員可以專注于他們的工作,而不是管理工具。
這也意味著用戶不必擔心查找,配置和部署運行這些深度學習庫和框架所需的所有依賴項。包括超過400MB的Python模塊,支持機器學習包,加上NVIDIA硬件驅動程序,CUDA(并行計算平臺API)驅動程序,CUB(CUDA構建塊)和NCCL(標準集體通信程序庫)。未來將會增加更多,例如,CNTK,Bidmach,Keras,MXNet和其他。
如果用戶需要更多容量,他們可以使用DL功能使用Bright的云功能將支持GPU的實例擴展到云中。他們還可以輕松地集成深度學習應用程序,或者在私有OpenStack云中運行它們。用戶甚至可以通過使用CaffeOnSpark運行深度學習應用程序來利用現代集群提供的性能。
企業將最先進的HPC集群與深度學習相結合
企業已經使用該解決方案將最先進的HPC集群與深度學習相結合。例如,斯坦福大學正在從事計算機視覺,自然語言處理和信用卡欺詐檢測研究。喬治梅森大學正在對科學模擬數據進行分析。
Illumina開發了用于生命科學研究,翻譯和消費者基因組學和分子診斷的測序和陣列技術,正在進行基因預測研究,以鑒定編碼某些功能的基因組部分。三星正在致力于將Caffe DL網絡用于醫療保健應用的計算機視覺工作。RICOH正在研究圖像識別的DL方法,并且NYU Medical Center正在測試HPC集群上的DL任務。
深度學習與傳統的HPC工作負載(如大型,密集線性代數問題)一致。然而,目前最快的DL群集和當今最快的超級計算機之間存在巨大的差距。雖然仍然存在許多挑戰,但仍有很大的機會進一步推動DL的性能,并允許使用更大的數據集。
作者:Panos Labropoulos,PhD是Bright Computing的高級支持工程師。