Documentos de Académico
Documentos de Profesional
Documentos de Cultura
AbstractNeighborhood-based Collaborative Filtering (CF) is using Xilinx ZYNQ SOC and take several experiments on it.
a kind of techniques in the field of recommendation algorithms Experimental results demonstrate the accelerator could im-
and has been widely used in lots of personalized recommender prove the speedup and acceleration efficiency with the af-
systems. In the big data era, the increasing data amounts make fordable hardware cost and less energy consumption.
these CF recommendation algorithms become time-consuming
and energy-wasted. At present, Cloud computing and Graphic II. NEIGHBORHOOD-BASED COLLABORATIVE FILTERING
Processing Unit (GPU) are the two major platforms to accele-
rate CF algorithms. However, both platforms exist some re- User-based CF, Item-based CF and SlopeOne are three
markable shortcomings such as efficiency and power. To solve representative NCF recommendation algorithms and all
these problems, in our work, we investigate three neighbor- could be divided into the training and prediction phases. For
hood-based CF algorithms and design a general and flexible training phase, user CF accepts user vectors to calculate all
accelerator for them based on Field Programmable Gate Array similarities for each two users; item CF/slopeone accepts
(FPGA). This accelerator cooperates with host CPU and could
item vectors to calculate similarities/differences for each two
accelerates primary time-consuming parts that these algo-
rithms share. Experimental results show that our accelerator items. As to prediction phase, given an active user vector, all
could significantly improve the acceleration efficiency with the algorithms use the information from training phase to predict
affordable hardware cost and less energy consumption. those items ratings which the user have not rated. User vec-
tor contains all the items IDs and ratings that the user has
Keywords-accelerator; FPGA; recommendation algorithm; rated and item vector contains all the users IDs and ratings
neighborhood-based collaborative filtering; heterogeneous who has rated this item.
There are many similarity metrics such as Jaccard Coef-
I. INTRODUCTION ficient, Cosine Similarity and Pearson Correlation. Most
metrics do calculations on all the IDs and ratings that both
Neighborhood-based Collaborative Filtering (NCF) [1] is two vectors share, same with SlopeOne. These calculations
a primary kind of techniques in the field of recommendation mainly involve operations such as multiplication or subtrac-
algorithms and has been widely used in a wide range of per- tion on two vectors followed by an accumulation operation.
sonalized recommender systems. However, due to the prop- It could be seen that the three algorithms have large in
erties of data-intensive and compute-intensive, NCF become common and slight differences on calculation. Thus we
time-consuming when dealing with vast amounts of data. could build a general and flexible accelerator with all needed
Thus, In order to guarantee the real-time interaction require- function modules and using instructions to compose these
ment between users and recommender systems, it is very fine-grained functions into different algorithms.
necessary to accelerate the process of NCF algorithms.
Currently, cloud computing and GPU are the two major III. ACCELERATOR ARCHITECTURE
platforms that used to accelerate NCF algorithms. However,
both platforms exist some remarkable shortcomings to be A. Overall architecture of CF accelerator
overcome: regarding cloud platform, the build and mainten-
ance cost are relatively high, and actually the efficiency of Accelerator and Peripherals
each common CPU-based computing node may not satisfy- CF Accelerator
ing; as for GPU, although the efficiency is usually much Instruction Buffer
Central Storage
Temp: Vector Y
Temp: Vector Z
Input: Vector X
Input: Vector Y
Output: Vector
Operation-
Adder Tree
... Operation-
Adder Tree
PE PE ... PE [4] D. Lemire and A. Maclachlan, "Slope One Predictors for Online
Rating-Based Collaborative Filtering," in SDM, 2005, pp. 1-5.
[5] http://grouplens.org/datasets/movielens/.
Figure 2. The architecture of Execution Unit.
495