快手、孩子王、华为等专家分享大模型在电商运营、母婴消费、翻译等行业场景的实际应用 了解详情
写点什么

中科院开源图形化机器学习系统 Easy ML

  • 2017-06-15
  • 本文字数:2089 字

    阅读完需:约 7 分钟

随着人工智能发展,机器学习成为越来越多大数据应用的选择,不仅节省人力,准确率也有很大的提升。但是机器学习的使用却并不简单,复杂的算法、繁琐的配置等等问题让技术人员头疼不已,以至于在很多大数据平台上,机器学习的作用并没有被很好的发挥出来。

据官方资料,中科院发布 BDA 平台的 Easy Machine Learning 系统 提供了一个通用的数据流系统,可以降低将机器学习算法应用于实际任务的难度。

什么是 Easy Machine Learning 系统?最通俗的翻译就是:简单机器学习系统。

在该系统中,一个学习任务被构造为一个有向非循环图(DAG/directed acyclic graph),每个节点表征一步操作(即机器学习算法),每一条边表征从一个节点到后一个即节点的数据流。

任务可被人工定义,或根据现有任务/模板进行克隆。在把任务提交到云端之后,每个节点将根据 DAG 自动执行。图形用户界面被实现,从而可使用户以拖拉的方式创建、配置、提交和监督一项任务。

系统包含三个主要组件:

分布式的机器学习库不仅能实现流行的机器学习算法,也能实现数据预处理/后处理、数据格式转变、特征生成、表现评估等算法。这些算法主要是基于 Spark 实现的。

基于 GUI 的机器学习开发环境系统能让用户以拖放的方式创造、安装、提交、监控、共享他们的机器学习流程。机器学习库中所有的算法都可在此开发环境系统中获得并安装,它们是构建机器学习任务的主要基础。

执行任务的云服务该服务基于开源的 Hadoop 和 Spark 大数据平台建立,在 Docker 上组织了服务器集群。从 GUI 上接受一个 DAG 任务之后,在所有的独立数据源准备好时,每个节点将会自动安排运行。对应节点的算法将会依据实现在 Linux、Spark 或者 Map-Reduce\cite 上自动安排运行。

为什么要使用 Easy ML?总结起来,Easy ML 的优势主要有三点:

  1. 降低定义和执行机器学习任务的障碍 ;
  2. 共享和重用算法的实现,作业 DAG 和实验结果 ;
  3. 将独立算法和分布式算法无缝集成在一个任务中。

从官方资料可以看到,BDA 平台包括两大组件:

一个是分布式大数据分析函数与算法库 BDA Lib,基于 Spark 内存分布式计算框架,具有强大的大数据处理能力。提供丰富的机器学习算法可供选择,涵盖分类聚类、文本分析、个性化推荐等方向;可运作于单机环境,实现数据分布式和模型分布式;提供极简的 API 接口 / 支持命令行运行。

另一个是可视化任务构建与管理平台 BDA Studio,拥有可拖拽式图形化操作界面,可以支持 MapReduce/Spark/ 单机混合执行,具有强大的数据处理能力;集成了丰富的系统分析程序,支持私有数据 / 自定义数据分析算法模块,支持程序模块 / 应用发布与共享,提供大数据分析样例模板。

两大 BDA 平台组件与三大 Easy ML 组件优势互补,可大幅度提升用户对大数据分析的效率和体验。

Easy ML 和 Azure MLMicrosoft 也有一款图形化界面的机器学习产品:Azure ML。

Microsoft 的 Azure ML Studio 提供了一个快速的学习曲线,它不需采取深层数据或编码的方式来启动运行。

Microsoft Azure 机器学习是一种用于执行价值预测 (回归),异常检测,聚类和分类的云服务。Azure 机器学习是微软 Cortana 分析套件产品的一部分,Azure ML Studio 图形化、模块化的方法将让你快速了解机器学习模型。

Azure ML Studio

Azure 提供了三个级别的工作空间和四种机器学习工作区,而不同级别的工作空间拥有的功能也均有不同,同时使用的价格也有差异。

不同于商业化的 Azure ML,Easy ML 系统已经完全开源,开发者可以获得全部源代码,并对源代码进行研究和修改。

开源也好,商业也罢,不论是微软的 Azure ML,还是国产的 Easy ML,共同目的都是为了让开发者能够更好地理解机器学习,更加轻松的进行开发,其实对于大部分的开发者来说:适合自己的,就是最好的。

如何使用 Easy ML?

安装

在使用之前,用户需要对自己计算机的环境变量进行配置。配置教程地址如下:

https://github.com/ICT-BDA/EasyML/blob/master/QuickStart.md

使用根据官方 GitHub 的 README 文档,在运行 Easy ML 之后,可以使用官方账号 bdaict@hotmail.com、密码进行 bdaict 登录使用,地址如下:

http://localhost:18080/EMLStudio.html(建议使用 Chrome 浏览器)

登陆成功后,可以看到正常运行界面如下:

用户可以根据左边菜单的选择算法和数据集创建一个机器学习任务(一个数据流 DAG)。用户可以点击选择在 Program 和 Data 菜单项下面的算法和数据集,同样也可以点击 Job 菜单项选择现存的任务,并复制和做一些必要的修改。用户同样可以在右边的菜单修改任务信息和每一个结点的参数值。任务中的结点可以对应于单机 Linux 程序或在 Spark、Hadoop Map-Reduce 上运行的分布式程序。

更详细的使用教程请访问:

https://github.com/ICT-BDA/EasyML

参考资料:

论文:

http://www.bigdatalab.ac.cn/~junxu/publications/CIKM2016_BDADemo.pdf

GitHub:

  1. 配置

https://github.com/ICT-BDA/EasyML/blob/master/QuickStart.md
2. 使用

https://github.com/ICT-BDA/EasyML


感谢杜小芳对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-06-15 19:0018000
用户头像
陈思 InfoQ编辑

发布了 576 篇内容, 共 275.0 次阅读, 收获喜欢 1301 次。

关注

评论

发布
暂无评论
发现更多内容

微信朋友圈架构高性能复杂度分析

π

#架构实战营 架构实战训练营9期

基于 HDP 构建企业数据平台

Bright

大数据 数据开发 数据平台

渲染农场是什么_云渲染农场优缺点有哪些?

Renderbus瑞云渲染农场

云渲染 云渲染农场 渲染农场 Renderbus瑞云渲染

跟着卷卷龙一起学Camera--延迟02

卷卷龙

ISP camera 10月月更

TCP 复位攻击原理和实战复现

急需上岸的小谢

10月月更

kubernetes

急需上岸的小谢

10月月更

Java多线程 Future和FutureTask的区别

Yeats_Liao

后端 Java core 10月月更

架构--作业2

李某人

架构实战营

微信朋友圈的高性能复杂度分析

Louis

微信朋友圈的高性能复杂度分析

乖乖IvyShine

2022-10-16:以下go语言代码输出什么?A:timed out;B:panic;C:没有任何输出。 package main import ( “context“ “fmt“

福大大架构师每日一题

golang 福大大 选择题

深入理解 Go 语言的一等函数及其应用

宇宙之一粟

函数 Go 语言 10月月更 匿名函数

【ArchSummit】平安金融壹账通核心系统的微服务设计经验分享

小明Java问道之路

Java 架构 全球架构师峰会 ArchSummit 10月月更

跟着卷卷龙一起学Camera--延迟03

卷卷龙

ISP camera 10月月更

java之字节型文件流笔记

魏铁锤

java 编程 10月月更

80%的前端开发都答不上来的js异步面试题

loveX001

JavaScript

SpringBoot的实体类中常用的注解

Java学术趴

10月月更

架构实战训练营模块 2 作业

atcgnu

跟着卷卷龙一起学Camera--延迟01

卷卷龙

ISP camera 10月月更

Java编程之方法重写

魏铁锤

后端 java 编程 10月月更

Java多线程 Callable和Future

Yeats_Liao

后端 Java core 10月月更

SpringBoot实体类常用注解(二)

Java学术趴

10月月更

CorelDRAW 2019 软件应用项目(三)

张立梵

设计师 CorelDRAW 2022 10月月更

Java核心之多态

魏铁锤

java 编程 10月月更

Web3.0杂谈-#006(53/100)

hackstoic

DAO Web3.0

模块二作业:微信朋友圈复杂度分析

愚人夜行者

架构实战训练营模块 2 作业

Geek_b35d92

22道js输出顺序问题,你能做出几道

loveX001

JavaScript

挑战30天学完Python:Day5 数据类型 - 列表list

MegaQi

Python 挑战30天学完Python 10月月更

TLS加密远程连接Docker

程序员欣宸

Docker 容器安全 10月月更

腾讯前端高频面试题合集

loveX001

JavaScript

中科院开源图形化机器学习系统Easy ML_语言 & 开发_陈思_InfoQ精选文章