DeepRec is a high-performance recommendation deep learning framework based on TensorFlow 1.15, Intel-TensorFlow and NVIDIA-TensorFlow. It is hosted in incubation in LF AI & Data Foundation.
Recommendation models have huge commercial values for areas such as retailing, media, advertisements, social networks and search engines. Unlike other kinds of models, recommendation models have large amount of non-numeric features such as id, tag, text and so on which lead to huge parameters.
DeepRec has been developed since 2016, which supports core businesses such as Taobao Search, recommendation and advertising. It precipitates a list of features on basic frameworks and has excellent performance in recommendation models training and inference. So far, in addition to Alibaba Group, dozens of companies have used DeepRec in their business scenarios.
DeepRec has super large-scale distributed training capability, supporting recommendation model training of trillion samples and over ten trillion parameters. For recommendation models, in-depth performance optimization has been conducted across CPU and GPU platform. It contains list of features to improve usability and performance for super-scale scenarios.
CPU Platform
alideeprec/deeprec-build:deeprec-dev-cpu-py38-ubuntu20.04
GPU Platform
alideeprec/deeprec-build:deeprec-dev-gpu-py38-cu116-ubuntu20.04
Configure
$ ./configure
Compile for CPU and GPU defaultly
$ bazel build -c opt --config=opt //tensorflow/tools/pip_package:build_pip_package
Compile for CPU and GPU: ABI=0
$ bazel build --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0" --host_cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0" -c opt --config=opt //tensorflow/tools/pip_package:build_pip_package
Compile for CPU optimization: oneDNN + Unified Eigen Thread pool
$ bazel build -c opt --config=opt --config=mkl_threadpool //tensorflow/tools/pip_package:build_pip_package
Compile for CPU optimization and ABI=0
$ bazel build --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0" --host_cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0" -c opt --config=opt --config=mkl_threadpool //tensorflow/tools/pip_package:build_pip_package
$ ./bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
$ pip3 install /tmp/tensorflow_pkg/tensorflow-1.15.5+${version}-cp38-cp38m-linux_x86_64.whl
alideeprec/deeprec-release:deeprec2402-cpu-py38-ubuntu20.04
alideeprec/deeprec-release:deeprec2402-gpu-py38-cu116-ubuntu20.04
Build Type | Status |
---|---|
Linux CPU | |
Linux GPU | |
Linux CPU Serving | |
Linux GPU Serving |
Unit Test Type | Status |
---|---|
Linux CPU C | |
Linux CPU CC | |
Linux CPU Contrib | |
Linux CPU Core | |
Linux CPU Examples | |
Linux CPU Java | |
Linux CPU JS | |
Linux CPU Python | |
Linux CPU Stream Executor | |
Linux GPU C | |
Linux GPU CC | |
Linux GPU Contrib | |
Linux GPU Core | |
Linux GPU Examples | |
Linux GPU Java | |
Linux GPU JS | |
Linux GPU Python | |
Linux GPU Stream Executor | |
Linux CPU Serving UT | |
Linux GPU Serving UT |
Chinese: https://deeprec.readthedocs.io/zh/latest/
English: https://deeprec.readthedocs.io/en/latest/
Join the Official Discussion Group on DingTalk
Join the Official Discussion Group on WeChat