Facebook發(fā)布Faiss開源資源庫 精度換取效率將成機器學習發(fā)展方向 ?
譯文【51CTO.com快譯】在機器學習領域,聚類與相似性搜索等用于實現(xiàn)數(shù)據(jù)集內親和性的方法通常較難實現(xiàn)。如果大家希望對多達1億張圖片進行內容比較并找出其中哪些內容相似,這無疑將成為一項極為復雜的任務。事實上,其中最困難的部分在于如何跨多處理器實現(xiàn)規(guī)模擴展。
Facebook旗下的AI研究事業(yè)部(簡稱FAIR)最近發(fā)布了一套名為Faiss的揭底性解決方案。這是一套開源資源庫,通過C++編寫并與Python綁定,可用于對海量數(shù)據(jù)集——例如靜態(tài)圖像或者視頻——進行相似內容搜索。
其同時亦代表著一類不斷增長的機器學習解決方案,即探索利用更好的方法將算法并發(fā)運行在大規(guī)模多GPU環(huán)境之下。
用于大海撈針的磁石
在2月底發(fā)布的論文當中,F(xiàn)AIR對這一項目的內容與目標進行了描述。其研發(fā)難題并不僅僅在于如何在GPU之上運行相似性搜索或者“k-選定”算法,而是如何在多個GPU之間高效實現(xiàn)并發(fā)運行,同時處理體積遠超內存容量的數(shù)據(jù)集(例如TB級別視頻)。
Faiss的優(yōu)勢并非搜索數(shù)據(jù)本身,而是采取壓縮性質的表達形式,即通過犧牲有限的一部分精度水平實現(xiàn)數(shù)量級甚至更為可觀的存儲效率提升。大家可以將其與MP3進行類比:MP3雖然屬于“有損”壓縮格式,但對于大多數(shù)聽眾而言,其效果已經完全可以接受。同樣的,F(xiàn)aiss采用所謂PQ(即產物量化)編碼機制以在多個GPU之間對工作負載進行高效拆分。
論文中提到的一項示例涉及對雅虎Flickr Creative Commons的1億套數(shù)據(jù)集進行搜索,其中包含1億張圖片。Faiss提取了兩幅圖像——一朵紅花與一朵黃花——并以此為依據(jù)在其之間找到一系列類似的圖像。在一組包含四塊英偉達Titan X GPU的硬件支持之下,1億張圖片的相似度搜索過程共耗時35分鐘。
FAIR宣稱Faiss的速度“達到此前業(yè)界***進GPU的8.5倍”,且提供了數(shù)項基準測試以支持其結論。FAIR指出,在與兩塊原有GPU進行k-選定算法速度比較時,F(xiàn)aiss算法不僅速度更快而且能夠更充分地發(fā)揮GPU的***可用存儲器帶寬。
FAIR同時介紹稱,F(xiàn)aiss的另一大優(yōu)勢在于搜索的端到端時間——即構建數(shù)據(jù)PQ版本所需要的時間加上實際運行搜索所需要的時間。競爭性解決方案需要數(shù)天時間才能構建起一套測試用PQ圖像數(shù)據(jù),而Faiss在“大約半天”時間內即可建立起“高質量”圖像。
加快腳步
FAIR所采取的略微犧牲精度以提升效率的策略已經為***一代機器學習所廣泛接受。
相當一部分此類加速方案不僅適用于英偉達Titan這樣的高端硬件,同時亦可支持低端硬件——例如智能手機中的GPU。谷歌的TensorFlow深度學習系統(tǒng)最近即經過升級,旨在利用智能手機級別的GPU執(zhí)行圖像認知處理。
以精度換取效率這一算法實踐的另一大長期優(yōu)勢在于能夠將工作負載分配給本地設備(快速但不精確)與遠程后端(更準確但對處理能力要求更高)。如果擁有網絡連接,則本地設備負責進行分類,而后端則憑借更強大的處理資源進行深入識別。
Faiss項目帶來的重要啟示在于:在探索如何利用高并發(fā)硬件充分實現(xiàn)機器學習功能方面,我們仍有大量工作需要守恒。
原文標題:Facebook's new machine learning framework emphasizes efficiency over accuracy
原文作者:Serdar Yegulalp
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】
了解更多熱點新聞,請關注51CTO《科技新聞早報》欄目!