今日,中科院计算所研究员徐君在微博上宣布「中科院计算所开源了 Easy Machine Learning 系统,其通过交互式图形化界面让机器学习应用开发变得简单快捷,系统集成了数据处理、模型训练、性能评估、结果复用、任务克隆、ETL 等多种功能,此外系统中还提供了丰富的应用案例,欢迎大家下载使用。」在此文章中,机器之心对开源的 Easy Machine Learning 系统进行了介绍。
GitHub 项目地址:https://github.com/ICT-BDA/EasyML
什么是 Easy ML 系统?
机器学习算法已然成为诸多大数据应用中不可或缺的核心组件。然而,由于机器学习算法很难,尤其是在分布式平台比如 Hadoop 和 Sparks 上,机器学习的全部潜能远远没有发挥出来。关键障碍不仅来自算法本身的实现,还常常来自涵盖多步操作和不同算法的实际应用过程。
我们的平台 Easy Machine Learning 提供了一个通用的数据流系统,可以降低将机器学习算法应用于实际任务的难度。在该系统中,一个学习任务被构造为一个有向非循环图(DAG/directed acyclic graph),其中每个节点表征一步操作(即机器学习算法),每一条边表征从一个节点到后一个即节点的数据流。任务可被人工定义,或根据现有任务/模板进行克隆。在把任务提交到云端之后,每个节点将根据 DAG 自动执行。图形用户界面被实现,从而可使用户以拖拉的方式创建、配置、提交和监督一项任务。该系统的优点有:
1. 降低定义和执行机器学习任务的门槛;
2. 共享和再利用算法的实现、 job DAG 以及试验结果;
3. 在一个任务中无缝整合单机算法和分布式算法。
该系统包含三个主要组件:
如何参与我们的项目?
pull 整个项目,并准备好必需的环境和开发工具。按照 https://github.com/ICT-BDA/EasyML/blob/master/QuickStart.md 这里的步骤,你可以在你的计算机中创建我们的系统。
怎样使用 Easy ML 开发环境?
在运行 Easy ML 之后,你能使用我们官方账号 [email protected]、密码 bdaict 登录 http://localhost:18080/EMLStudio.html。为了最佳的用户体验,我们建议使用 Chrome 浏览器。
正如下图所示,用户可以根据左边菜单的选择算法和数据集创建一个机器学习任务(一个数据流 DAG)。用户可以点击选择在 Program 和 Data 菜单项下面的算法和数据集,同样也可以点击 Job 菜单项选择现存的任务,并复制和做一些必要的修改。用户同样可以在右边的菜单修改任务信息和每一个结点的参数值。任务中的结点可以对应于单机 Linux 程序或在 Spark、Hadoop Map-Reduce 上运行的分布式程序。
在点击了 submit 按钮后,该任务被提交给云端运行。每个节点的状态由不同的颜色表示,如下图所示:
用户可以右键点击完成的执行节点上 green output port 按钮来预览输出数据。也可以从每个完成的执行节点的右键菜单中检查 stdout 和 stderr 日志。用户可以通过右键单击相应的输出端口来检查节点的输出。执行时打印的标准输出和标准错误信息可通过右键单击相应节点并选择菜单中 Show STDOUT/Show STDERR 的方式进行检查。