近年来,越来越多优秀的机器学习工具不断涌现,比如针对大规模数据的TensorFlow、PyTorch、Caffee和CNTK、Spark和Kubeflow,以及针对各种通用模型的scikit-learn和ML.NET。最近,Tripo等人。
根据年Algorithmia调查,虽然企业使用机器学习算法的成熟度普遍提高,但大多数公司仍需要8至90天来部署单个机器学习模型天)。
大多数人将其归咎于规模调整和复制模型的挑战、缺乏管理支持以及缺乏可用的工具。
对于Dagli,模型的管道被定义为有向无环图,该图由顶点和边组成,每条边从一个顶点指向另一个顶点,用于训练和推理。
Dagli的环境提供了管道定义、静态类型、几乎无处不在的不变性以及其他功能来防止大多数潜在的逻辑错误。
LinkedIn自然语言处理研究科学家JeffPastrnak在博文:中写道“模型通常是集成管道的一部分,而构建、训练和将这些管道部署到生产中仍然非常繁琐”,并且经常需要执行重复或不相关的工作来适应训练和推理会产生脆弱的“粘合”代码,使模型的未来演化和维护变得复杂。
Dagli适用于服务器、Hadoop、命令行界面、IDE和其他典型JVM。还提供许多管道组件,包括神经**、逻辑回归、GBDT、FastText、交叉验证、交叉训练、特征选择、数据读取器、评估和特征转换等。
通过推出Dagli,LinkedIn希望为机器学习社区做出三项主要贡献:
1.一个易于使用、抗bug、基于JVM的机器学习框架
2.集成了各种统计模型和转换器的库,可以“开箱即用”
3.一个简单但功能强大的机器学习管道,作为有向无环图的新抽象,支持优化,同时仍然保持每个组件易于实现,与传统的“黑匣子”相当。
对于经验丰富的数据科学家来说,Dagli提供了一条通往可维护、可扩展的高性能、生产就绪的AI模型的途径,这些模型可以利用现有的JVM技术堆栈。
对于经验较少的软件工程师,Dagli提供了一个可以与JVM语言和工具一起使用的API,旨在避免典型的逻辑错误。
Pastrnak还指出:“我们希望Dagli将使编写、修改和部署高效、可用于生产的模型变得更容易,避免经常伴随的技术问题和长期维护挑战。”
Dagli充分利用先进的多核处理器和强大的显卡,在单机上有效地训练模型。
为了具体了解Dagli的工作原理,让我们从一个文本分类器开始,该分类器使用梯度增强决策树模型(XGBoost)的活动叶子和一组高维N元语法作为LR模型分类器。特征:
通过使用Dagli,LinkedIn希望使高效、可投入生产的模型更易于编写、修改和部署,从而避免经常伴随的技术挑战和长期维护。
最后附上Dagli的GitHub地址链接: