隨著網際網路的普及,電子商務、線上購物這類IT服務,早已成為現代人不可或缺的部分,而在檢視與選擇商品的同時,許多這類網站或行動App,可能都會整合推薦系統(Recommender System)的功能,站方可透過消費者的互動與個人資料,分析他們的偏好、預測他們可能喜歡的品項。

除此之外,許多產業也有整合推薦系統的需求,將適合的各種品項與建議資訊提供出來。

近年來,隨著機器學習、深度學習等技術的普及,部分企業也開始將他們發展的推薦系統,結合大數據與人工智慧的分析能力,希望能夠提升預測顧客購物需求的準確度。不過,企業若要自行建置推薦系統,在資料處理流程上,仍是相當複雜,同時,由於所要分析的資料量越來越大,因此,在資料查詢與產生建議的速度上,也面臨極大挑戰。

而在今年5月的GTC Digital大會,Nvidia發表了一套專屬的應用程式框架Merlin,可用來開發基於深度學習技術的推薦系統,並且針對資料處理流程的每個階段,都提供了工具。而這些工具都經過調校,可支援數百TB的資料,並可經由易用的API讓外界能夠存取資料。

舉例來說,在資料的擷取、轉換與載入(ETL)階段,這裡提供的工具是NVTabular,可用於特徵工程(Feature Engineering,運用領域知識從原始資料來擷取特徵的作法),以及預先處理(preprocessing)。

在資料的訓練階段,提供的工具稱為HugeCTR,用於常用深度推薦模型的分散式訓練處理,Nvidia在開發者部落格文章中提到,它是一套使用C++語言的推薦系統專屬訓練框架,可支援多GPU與多節點的訓練,在處理規模的擴充上,也能支援模型平行處理(model-parallel)與資料平行處理(data-parallel)。而在推薦系統的架構上,HugeCTR可涵蓋幾種常見的配置方式,像是深寬結合模型(Wide and Deep,W&D)、深度與交叉網路模型(Deep Cross Network)、深度分解機模型(DeepFM),接下來,將搭配深度學習推薦模型(Deep Learning Recommender Model,DLRM)。

至於推論階段,Merlin使用的技術,則是Nvidia發展的軟體開發套件TensorRT,提供可程式化的深度學習推論加速處理機制,讓推論處理也成兼具低延遲與高吞吐量,以及Triton Inference Server(前身是TensorRT Inference Server),簡化生產環境當中的AI模型大規模部署作業,而且提供GPU最佳化的推論處理。

而在10月舉行的GTC秋季大會上,Nvidia宣布Merlin正式進入公開測試階段,並且不只是從推薦系統的應用需求來介紹,Nvidia創辦人暨執行長黃仁勳更用「AI for Every Company」來稱呼它,以此形容Merlin適用範圍相當廣泛,各行各業都用得到!

而在推薦系統的處理速度上,由於需要耗用整個資料中心的資源,同時,反覆進行的迴圈處理可能會長達數週之久,然而導入這項應用的公司會期望能夠縮減至幾個小時。對此,黃仁勳強調,Merlin將首創一套在各個環節均能加速處理的推薦系統,提供超快處理速度且具有絕佳的延展性,它能支援相關流程的作業,依序進行資料載入、訓練、推論,而在目前他們推出的Merlin 0.2版當中,可直接從AWS、GCP、Apache Hadoop File System等位置載入資料。

目前已經有企業開始導入Merlin嗎?Nvidia宣布騰訊(Tencent)已經採用,他們以此訓練視訊平臺的推薦機制,在每一輪作業的處理時間上,原本需要將近1天(20小時),如今可縮短至3小時,如此也可讓他們進行更多循環處理週期,增進模型的精準度。

就技術架構而言,Merlin的核心引擎是RAPIDS,這套GPU加速的大量資料處理軟體平臺是Nvidia在2018年10月發表,以快速處理與具有高延展性著稱。黃仁勳強調,RAPIDS是目前全球最快的ETL引擎,能支援多GPU與多節點,它提供的API,晚於Pandas、XGBoost、ScikitLearn等全球最常用的資料科學框架而成形,因此RAPIDS很容易上手。若於業界標準的資料處理效能測試當中,Nvidia公布了一項效能測試數據來印證RAPID的成效,他們以10TB的資料集來執行30種複雜的資料庫查詢,如果以運算速度最快的CPU架構伺服器為比較基準,16臺DGX組成的叢集搭配RAPIDS之後,可提供20倍的處理速度,而且,在成本上僅需純CPU架構伺服器的1/7,耗用電力則是1/3。

熱門新聞

Advertisement