LinkedIn发布Java机器学习函数库Dagli

LinkedIn在GitHub发布容易使用,且不容产生bug的Java机器学习函数库Dagli,内置大量开箱即用的静态模型,方便开发者构建机器学习应用。

LinkedIn解释开发Dagli的原因,他们看到现存许多机器学习工具,包括深度学习函数库TensorFlow、PyTorch、DeepLearning4J和CNTK,或是用于超大型工作管线的Spark、Kubeflow,以及用来开发通用模型的scikit-learn和ML.NET等,官方提到,这些工具所产生的模型,在未来发展和维护都非常复杂,进而产生长期的技术负担。

因此他们发布了Dagli,要来解决模型技术债的问题,Dagli是一个适用于Java和其他JVM语言的开源机器学习函数库,开发者可以用来编写抗bug、可读、可修改、可维护且易于部署的模型工作管线,Dagli能良好地支持现代机器架构,高效地使用多核CPU以及GPU,在单机上训练机器学习模型。

无论是经验丰富的机器学习工程师,抑或是才刚接触机器学习的开发者,都能够使用Dagli开发机器学习模型,对资深机器学习工程师来说,Dagli提供一个简便的方法,以开发高性能且生产就绪的模型,该模型能够接受长期维护,并在需要时进行扩展,能够与现在基于JVM技术的堆栈集成。

而对于刚接触机器学习的工程师而言,Dagli提供直观好用的API,可结合熟悉的JVM工具使用,并且避免发生常见的逻辑错误。Dagli可将模型工作管线定义为有向无环图(DAG),同时用于训练和预测,开发者不需要单独实例训练用工作管线,以及预测用工作管线。

Dagli使用简单可读的工作管线定义,还有大量的静态类型与不可变性,从根本设计上,杜绝大部分潜在的逻辑错误,而且Dagli提供高度可移植性,用户可将其用在服务器、Hadoop、CLI、IDE,以及任何JVM上下文环境。

由于Dagli可将整个工作管线当作一个对象,进行串行化及反串行化,因此非常容易进行部署,而且还提供了大量可立即使用的工作管线组件,包括神经网络、逻辑回归、交叉验证和FastText等,在速度表现上,Dagli支持高度平行化的多线程训练和预测,对工作管线进行优化,并以小批处理提升性能。