当前位置: 首页 > 科技观察

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

时间:2023-03-13 14:10:57 科技观察

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