歐洲核子研究組織如何預測新的流行資料集

OReillyData發表於2016-07-01

640?wx_fmt=jpeg

去年夏天,我曾在日內瓦的歐洲核子研究組織(CERN)暑期開放實驗室實習。我工作的重點是為CERN的大資料分析來探索Apache Spark的MLlib框架。

在CERN,一個主要的實驗專案是CMS(世界上最大的粒子物理探測器之一),通過它可以幫助我們對亞原子有更好的理解。實驗是在CERN的大型強子對撞擊(LHC)上進行的。LHC是一個粒子加速器,可以把亞原子粒子推送到極高的速度並通過CMS探測器視覺化。CMS探測器是一個巨大的多層數碼相機,記錄了每秒LHC的粒子碰撞產生的碎片的影象。CMS實驗每一年要收集O(10)拍位元組的資料。隨著時間的推移,每一次碰撞都會帶來巨大的資料量。最大資料的生產速率可以達到約600兆/秒,由此帶來了一個相當大的資料處理的挑戰。這些資料在全球LHC計算網格的多層計算基礎設施儲存並處理。

由於資料安排是CERN實驗中必要的一個元件,我們正在尋找不一樣的方法來改進這個任務,並開發了一個原型試驗專案-評估Apache Spark作為CERN的大資料分析基礎設施。這一專案的目的是從CMS的資料中得出合適的預測,改進資源利用,並對框架和指標有深層的理解。

理解流行的CMD資料集

此原型專案的第一個階段是預測新的和流行的CMS資料集。流行度被定義為資料集被用作研究的頻繁性。這些被認為是流行的資料集是因為它們日常被物理學家訪問,因而需要在全世界各個資料中心複製備份。識別流行的資料集改進了分析的效率並幫助識別可能成為高能物理學的熱點話題的資料集,比如Higgs粒子和超對稱粒子。

圖一展示了隨機資料集在2014年每週的流行度,Y軸使用的是對數刻度。每一條線代表了不同的資料集。由黑線代表的資料集在第1到20周比其他多20%-30%的訪問,表明該資料集的流行和普及。相較而言,黃線代表的資料集根本沒有被訪問,表明該資料集是不流行的。

640?wx_fmt=jpeg

圖一 星期為單位的隨機CMS資料集的流行度。本圖由瓦倫丁·庫茲涅佐夫提供,經許可使用

相對流行的資料集也可以通過製作基於單一流行度指標的雲圖,比如基於Naccess(單一使用者訪問資料集的總量)、totcpu(cpu分析資料集總花費的小時數,見圖二)、nusers(資料集的總訪問使用者數,見圖三)等。這些使用者可以是物理學家、學生或者是研究人員。你在圖中看到的數字代表了資料集的名字。資料集的命名法包括日期、軟體版本和格式,由三個不同的部分定義:程式、軟體和層。這三個部分非常重要,因為它們可以幫助複製過程。

640?wx_fmt=jpeg

圖二 使用totcpu指標的CMS資料集的流行度在雲圖中的表示。本圖由瓦倫丁·庫茲涅佐夫提供,經許可使用

640?wx_fmt=jpeg

圖三 使用Nusers指標的CMS資料集的流行度在雲圖中的表示。本圖由瓦倫丁·庫茲涅佐夫提供,經許可使用

2014年中最頻繁被訪問的CMS資料集在圖四中展示。

640?wx_fmt=jpeg

圖四 2014年100個最頻繁訪問的CMS資料集在雲圖中的表示。本圖由瓦倫丁·庫茲涅佐夫提供,經許可使用

使用Apache Spark來預測新的和流行的CMS資料集

機器學習演算法能夠執行預測模型並推測隨著時間改變的流行的資料集。我將Apache Spark評估為一個將不同的從CMS資料服務收集資訊的預測模型流式組合起來的工具。當與更早的通過動態資料安排方法獲得的結果比較時,Spark提供的準確度是相近的。一個較大的不同是,其結果是實時獲取的。因為Spark可以實時的分析流式資料,在資料產生時滾動預測流行度結果。預測流行的資料集是通過用Spark源生的機器學習庫(MLlib)和Python的機器學習演算法來完成的。這些演算法主要包括樸素貝葉斯統計隨機梯度下降隨機森林

每一週的資料都會被新增到已有的資料之中,並建立一個新的模型,從而得到更好的資料分析結果。這些模型稍後會被整合進來,並通過真陽性,真陰性,假陽性或假陰性的值進行評估。我也使用了Python的機器學習庫(scikit-learn)並比較了從不同框架得到的值。在這一過程中,我能夠判斷每一個模型的質量。MLlib有幾乎所有的機器學習演算法的的實現,在CPU開銷和記憶體使用上與Python框架相比有更好的結果。

結論

Spark和scikit-learn的模型原型的準確度幾乎相同。通過運用主成分分析法,我可以互動式地為新的資料集選擇最佳的預測模型。其他一些對CMS資料分析重要的因素是並行度和快速的分散式資料處理。Spark框架提供了一個簡單的程式設計抽象,提供了強有力的快取和持久化能力,同時還有很快的速度。結論就是,我們發現Spark的元件(Spark Steaming和MLlib)極大地簡化了CMS資料的分析,並可以成功地應用到CMS資料集上。

作者:Siddha Ganju

Siddha Ganju是卡內基梅隆大學計算機資料科學專業的碩士生,2015年夏天在CERN的開放實驗室實習。她的研究主要在於機器學習、自然語言處理、資訊檢索和深度學習的結合之處。Siddha從印度米爾布林國家科技學院獲得學士學位。可以從http://sidgan.me訪問Siddha的網站。


長按二維碼識別關注

640?wx_fmt=jpeg



閱讀原文( read more ) 瀏覽更多資料文章

相關文章