近日,588888纽约国际官方网站网络与信息系统研究所肖臻研究员课题组发布并开源了一款针对于海量数据处理任务的分布式机器学习系统xLearn,仅48小时之后即在全球最大开源社区Github收获近750颗星,并在Github趋势(Github trending)的排名超越了谷歌开发的开源软件库TensorFlow;其主要开发者、信息学院博士研究生马超在Github排行榜上跻身前五甲,与微软、脸书、谷歌、Apache 等行业翘楚比肩(见下图)。
在机器学习领域,除了深度学习和树模型之外,如何高效处理高维稀疏数据也是非常重要的问题。人们耳熟能详的“大数据”在绝大多数情况下都是高维稀疏数据。近年来,逻辑回归模型(logistic regression, LR)、因子分解机(factorization machine, FM)及其衍生(field-aware factorization machine, FEM)等主流算法被广泛运用于实际生产和竞赛,然而现有的开源软件(例如 liblinear、libfm、libffm等)都只能解决特定的机器学习算法问题,可扩展性、灵活性、易用性不够友好。与之相比,xLearn 系统的优势在于:一是具有通用性,即用统一的模块化系统架构囊括常用的大规模机器学习算法,用户不必在不同软件之间切换。二是性能好,即系统由高性能C++开发,提供缓存感知(cache-aware)和无锁(lock-free)加速训练,且经手工SSE/AVX指令优化;在单机苹果笔记本电脑(MacBook Pro)上测试,可比libFM快13倍,比LIBFFM和LIBLINEAR快5倍(libFM、LIBFFM和LIBLINEAR均为目前针对专有机器学习任务最快的系统)。三是易用且灵活,既为用户提供简单的Python接口,且集成了机器学习中许多有用的功能,还可使用户灵活选择随机梯度下降(Stochastic Gradient Descent, SGD)等优化算法。四是具有可扩展性,不仅提供基于外存(out-of-core)计算,可在单机上处理 1 TB (TB即太字节,1 TB=1024 GB==240字节)数据;也提供稀疏优化的分布式训练功能,此种设计可使用户处理海量数据的门槛进一步降低。
肖臻课题组长期致力于云计算的研究,他们表示xLearn系统的目标是成为甚至超越像xgboost、MXNet、scikit-learn 等具有广泛影响力的机器学习系统。
有关该课题组的更多信息,请参考肖臻研究员的主页:http://zhenxiao.com/。