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

2020 年 11 月 15 日 新智元




  新智元报道  

编辑:QJP

【新智元导读】LinkedIn 最近开源了 Dagli,一个面向 Java (和其他 JVM 语言)的机器学习库,让编写代码减少bug、可读、可修改、可维护和可部署的模型管道变得更加容易,而不会导致技术难题。


近年来,越来越多的优秀的机器学习工具不断涌现,如 TensorFlow、 PyTorch、 Caffee 和 CNTK、用于大规模数据的 Spark 和 Kubeflow,以及用于各种通用模型的 scikit-learn、 ML.NET 和最近的 Tripo 等。

          

根据Algorithmia 2019年的一项调查,虽然企业使用机器学习算法的成熟度普遍在提高,但大多数公司(超过50%) 仍需要花费8至90天时间部署单一机器学习模型(18% 的公司花费的时间超过90天)。

 

大多数人将责任归咎于模型规模和复现模型面临的挑战、缺乏管理人员的支持,以及可用的工具缺失等原因。

 

对于 Dagli 来说,模型的 pipeline 被定义为一个有向无环图,一个由顶点和边组成的图,每条边从一个顶点定向到另一个顶点,用于训练和推理。

 

Dagli 的环境提供了流水线定义、静态类型、近乎无处不在的不变性以及其他特性,以防止大多数潜在的逻辑错误。

           

LinkedIn 自然语言处理研究科学家杰夫 · 帕斯特纳克在一篇博客中写道: 「模型通常是集成的管道的一部分, 建造、训练和将这些管道部署到生产环节仍然非常繁琐」, 通常需要进行重复的或无关的工作,以适应训练和推理,从而产生脆弱的「粘合」代码,使模型未来的演化和维护变得复杂。

 

Dagli 可以在服务器、 Hadoop、命令行接口、 IDE 和其他典型的 JVM 中工作。许多pipeline组件也已经可以使用,包括神经网络、 逻辑回归、GBDT、 FastText、交叉验证、交叉训练、特征选择、数据读取器、评估和特征转换等。

          

通过发布 Dagli,领英希望为机器学习社区做出三个主要贡献:

 

1. 一个易于使用、抗bug、基于 JVM 的机器学习框架

 

2. 一个综合了各种统计模型和 transformer 的 可以 “开箱即用” 的库

 

3. 一个简单但功能强大的机器学习 pipeline 作为有向无环图的新抽象,它支持优化的同时仍然保持每个组件易于实现,可与传统的“黑盒”相媲美。

 

对于有经验的数据科学家来说,Dagli 提供了一条通往可维护和可扩展的高性能、可生产的人工智能模型的道路,这些模型可以利用现有的 JVM 技术堆栈。

 

对于经验较少的软件工程师来说,Dagli 提供了一个 API,可以与 JVM 语言和工具一起使用,这些语言和工具被设计用来避免典型的逻辑错误。

 

帕斯特纳克还指出: 「我们希望 Dagli 能够使高效、可投入生产的模型更容易编写、修改和部署,避免经常伴随而来的技术问题和长期维护的挑战」。

 

Dagli 充分利用了先进的多核理器和强大的图形卡,对模型进行有效的单机训练。

 

为了具体了解 Dagli 是如何工作的,让我们从一个文本分类器开始,这个文本分类器使用梯度增强决策树模型(XGBoost)的活动叶片,以及一组高维的 N-gram 作为 LR 模型分类器的特征:

           

通过使用 Dagli,领英希望使高效的、可投入生产的模型更容易编写、修改和部署,避免经常伴随它们的技术挑战和长期维护。


最后,附上Dagli的GitHub地址链接:

 

https://github.com/linkedin/dagli





登录查看更多
0

相关内容

LinkedIn 是一家商业客户导向的社交网络服务网站,网站的目的是让注册用户维护他们在商业交往中认识并信任的联系人,这些人被称为“人脉”(Connections)。用户可以邀请他认识的人成为人脉。
【2020新书】使用Kubernetes开发高级平台,519页pdf
专知会员服务
66+阅读 · 2020年9月19日
【实用书】Python机器学习Scikit-Learn应用指南,247页pdf
专知会员服务
257+阅读 · 2020年6月10日
Sklearn 与 TensorFlow 机器学习实用指南,385页pdf
专知会员服务
126+阅读 · 2020年3月15日
AutoML:机器学习的下一波浪潮(附代码&链接)
THU数据派
4+阅读 · 2019年4月29日
6大最常用的Java机器学习库一览
AI前线
4+阅读 · 2018年10月9日
Java开发者必看!机器学习开发库精选
云栖社区
5+阅读 · 2018年8月22日
深度学习开发必备开源框架
九章算法
12+阅读 · 2018年5月30日
机器学习者必知的 5 种深度学习框架
深度学习世界
7+阅读 · 2018年5月3日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
GitHub最著名的20个Python机器学习项目!
THU数据派
6+阅读 · 2017年12月14日
【机器学习】推荐13个机器学习框架
产业智能官
8+阅读 · 2017年9月10日
Arxiv
0+阅读 · 2021年1月26日
Arxiv
34+阅读 · 2019年11月7日
Arxiv
3+阅读 · 2018年6月24日
Arxiv
5+阅读 · 2015年9月14日
VIP会员
相关VIP内容
相关资讯
AutoML:机器学习的下一波浪潮(附代码&链接)
THU数据派
4+阅读 · 2019年4月29日
6大最常用的Java机器学习库一览
AI前线
4+阅读 · 2018年10月9日
Java开发者必看!机器学习开发库精选
云栖社区
5+阅读 · 2018年8月22日
深度学习开发必备开源框架
九章算法
12+阅读 · 2018年5月30日
机器学习者必知的 5 种深度学习框架
深度学习世界
7+阅读 · 2018年5月3日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
GitHub最著名的20个Python机器学习项目!
THU数据派
6+阅读 · 2017年12月14日
【机器学习】推荐13个机器学习框架
产业智能官
8+阅读 · 2017年9月10日
Top
微信扫码咨询专知VIP会员