使網路閱讀成為最高樂趣。

美媒:研究人員開發新軟體令大資料分析速度快百倍


參考訊息網月日報道美媒稱,在美國電子計算機協會的系統、程式、語言和應用程式大會上,來自美國麻省理工學院、法國替代能源與原子能委員會、奧多比系統軟體公司的研究人員展示了一種能針對稀疏...

- 2017年12月23日07時00分
- 科學文摘 / 參考訊息網

參考訊息網11月2日報道美媒稱,在美國電子計算機協會的系統、程式、語言和應用程式大會上,來自美國麻省理工學院、法國替代能源與原子能委員會、奧多比系統軟體公司的研究人員展示了一種能針對稀疏資料編寫出優化程式碼的新系統。與現有的非優化軟體包相比,這種程式碼能將資料分析速度提高100倍。

據美國每日科學網站10月31日報道,人們生活在大資料時代,但大多數資料卻是“稀疏”的。比如,想象一下,一張巨大的圖表繪製出了亞馬遜網站的所有顧客與所有產品之間的關係,如果用1來表示某個特定顧客購買的每件產品,用0來表示沒有購買的產品。那麼這張圖表上的絕大部分是0。

對於稀疏資料,分析演算法會做大量0的相加和相乘,而這種計算是無用的。為了避免這種情況,程式員會通過編寫定製程式碼來避開0項,但這種程式碼十分複雜,通常只適用於少量問題。

在美國電子計算機協會的系統、程式、語言和應用程式大會上,來自美國麻省理工學院、法國替代能源與原子能委員會、奧多比系統軟體公司的研究人員展示了一種能針對稀疏資料編寫出優化程式碼的新系統。


報道稱,與現有的非優化軟體包相比,這種程式碼能將資料分析速度提高100倍。它的效能可與針對特定稀疏資料精心手動優化的程式碼相媲美,而程式員要做的工作卻少得多。

該系統名為Taco,即“張量代數編譯器”的英文縮寫。在計算機學術語中,像之前所說的亞馬遜網站圖表那樣的資料結構被稱為“矩陣”,而“張量”就像是一種更多緯度的矩陣。

近年來,張量的數學運算——張量代數——對於大資料分析和機器學習都變得至關重要。自愛因斯坦時代以來,它也一直是科學研究的一個主題。

以往,在處理張量代數時,數學軟體會先把張量運算分解成各個組成部分。例如,如果某個運算過程需先把兩個張量相乘,然後再與第三個張量相加,那麼軟體會對前兩個張量執行標準的張量乘法程式,儲存結果,然後再執行標準的張量加法程式。

但在大資料時代,這麼做卻太耗費時間。研究論文第一作者、來自麻省理工學院的弗雷德裡克·舍爾斯塔德解釋說,要完成對大型資料集的高效運算,那麼每一組張量運算都需要自己的“核心”,即計算模板。

計算機學研究人員此前已為機器學習和大資料分析中最常用的一些張量運算編寫了核心。但可能用到的核心數量是無限的:例如,用於三個張量相加的核心與用於四個張量相加的核心是不同的。


許多張量運算需將某個張量中的一項與另一個張量中的一項相乘。如果其中一項是0,那麼結果也會是0,而計算大型稀疏矩陣的程式會浪費大量時間來對0進行相加和相乘。

針對稀疏張量的人工優化程式碼能識別0項並精簡涉及0項的運算。這能大大提高張量運算的速度,但需要程式員完成大量工作。

例如,針對兩個矩陣相乘(矩陣是形式較簡單的張量,像圖表一樣只有兩個維度),如果是完全矩陣的話(即其中沒有一個項能被省略),可能需要12行程式碼。但如果是稀疏矩陣的話,同樣的運算可能需要100行甚至更多的程式碼以跟蹤被省略的部分。


報道稱,Taco系統能將多出來的所有程式碼自動合在一起。程式員只需指定一個張量的大小、是完全張量還是稀疏張量以及用於匯入數值的檔案位置即可。對於任何特定的兩個張量的運算,Taco系統都能繪製出一張分級圖,首先表明來自兩個張量的哪些配對項是非0項,然後表明來自每個張量的哪些項是與0配對的。它會把所有的0項對剔除出去。

針對稀疏資料編寫出優化程式碼的新系統Taco能將資料分析速度提高100倍(美國麻省理工學院網站)

科技

立刻分享


熱門內容

友善連結



八方快聞是一個網路文摘網站,在浩瀚的網海中摘選即時的、優質的、知識的及趣味性的網路文章給大家欣賞,八方快聞努力做到讓每一個人,能夠使用所有裝置在不同時間地點,都能夠輕鬆享受數位時代的閱讀樂趣。