IBM蘇黎世實驗室(IBM Zurich)的研究人員開發出通用的人工智慧(AI)預處理建構模組,據稱可較現有方法加速大數據(Big Data)機器學習演算法至少10倍以上。

在日前於美國加州長灘舉行的神經資訊處理系統大會(NIPS 2017)上,IBM在發表這種新途徑時解釋,它採用了數學對偶性(duality),在Big Data串流中精心挑選能發揮效用的項目,並略過其餘無效的選項。

IBM Zurich研究人員Celestine Dünner說:「我們的動機在於,當缺少足夠的記憶體來為Big Data機器學習保存所有的資料時,如何使用硬體加速器,如繪圖處理器(GPU)和現場可編程陣列(FPGA)。」Celestine Dünner同時也是這一演算法的共同發明人。

IBM Zurich數學家Thomas Parnell則表示:「我們應該算是最先提供了可加速10倍的通用解決方案。特別是針對傳統的線性機器學習模型(目前廣泛用於規模太大而無法用於神經網路進行訓練的資料集),我們在最佳參考方案的基礎上建置相關技術,並展示了至少10倍的加速方案。

20171205_IBM_NT01P1 IBM蘇黎世研究人員Thomas Parnell和Celestine Dünner討論在NIPS 2017發表的預處理演算法。(來源:IBM)

在一開始的展示中,研究人員使用Nvidia Quadro M4000 GPU搭配8GB記憶體,在容量約30GB的4萬張照片資料集上進行訓練——該照片資料集採用支援向量機器(SVM)的演算法,先將影像解析為各種類別以進行辨識。SVM演算法還可為所學習的模型建立幾何式解讀,這和無法證實其結論的神經網路是不一樣的。IBM的資料預處理方法讓該演算法可在不到1分鐘的時間完成執行,比目前採用有限記憶體訓練的方法更快10倍。

該技術的關鍵在於對每個數據點進行預處理,查看它是不是已經處理資料點的數學對偶。如果是的話,那麼演算法就會自動略過,這個過程在資料集進行處理時變得越來越頻繁出現。Dünner說:「我們先計算每個資料點的重要性,再以測量對偶差距大小的方式進行處理。」 我們在每個資料點以進行處理以前

Parnell說,「如果你的問題適於放在加速器的記憶體空間,那麼在記憶體內部執行將會獲得更好的結果。因此,我們的結果只適用於Big Data的問題。它不僅能讓執行時間加快10倍以上,而且如果在雲端執行時,也不必付出太多的成本。」

隨著Big Data資料集越滾越大,這種節省時間和成本的預處理演算法將會變得越來越重要。IBM指出,為了顯示其基於對偶性的演算法能夠處理任意大小的資料集,該公司在NIPS上展示了8GPU的版本,它能處理網頁廣告的十億次點擊資料。

研究人員正進一步開發該演算法,期望在不久部署於IBM BlueMix Cloud——稱為基於對偶差距(duality-gap)的異質學習,適用於包括社群媒體、線上行銷、目標式廣告、查找電信資料模式以及欺詐檢測等Big Data資料集。

編譯:Susan Hong

(參考原文:Algorithm Speeds GPU-based AI Training 10x on Big Data Sets,by R. Colin Johnson)