写点什么

360 开源 XDML,超大规模数据与超高维特征机器学习计算平台

  • 2018-12-29
  • 本文字数:1480 字

    阅读完需:约 5 分钟

360开源 XDML,超大规模数据与超高维特征机器学习计算平台

在大数据时代,需要处理的数据都是 TB 级或 PB 级以上,机器学习模型的规模也在不断地增大,机器学习模型的参数的规模可以达到百亿甚至是千亿的级别,如此大的参数规模给现有的机器学习平台带来了前所未有的挑战。同时,高维稀疏数据对于模型的构建也带来了巨大的挑战。


人工智能取得了前所未有的发展,机器学习、深度学习中算法数量也在不断的增加。但是也带来了很多的问题:


  • 特征分析和变换中,工作量大、性能差、成本高等;

  • 难以处理超高维稀疏数据,超规模参数调优难度很大;

  • 目前业界实现的机器学习平台都有各种各样的问题,例如和 Hadoop 生态圈衔接较差,无法很好的与其衔接起来。这些问题一直阻碍着开发者的前行,亟需解决。


针对超大规模机器学习的场景,360 开源了内部的超大规模机器学习计算框架 XDML。XDML 是一款基于参数服务器(Parameter Server),采用专门缓存机制的分布式机器学习平台。它在 360 内部海量规模数据上进行了测试和调优,在大规模数据量和超高维特征的机器学习任务上,具有良好的稳定性,扩展性和兼容性。


GitHub 地址:https://github.com/Qihoo360/XLearning-XDML



XDML 架构设计图

XDML 特性

1. 提供特征分析与变换等功能模块


在现有的机器学习模型的构建中,特征生产与业务和数据高度相关,高度定制,工作量很大。特征分析与变换处理粒度过小,在大数据情形下性能较差,且缺乏一站式的特征分析与变换工具。XDML 能够最大程度地挖掘并行度,结合样本并行+特征并行+算子并行/融合/OnePass 化,显著提升特征工程的性能,支持 TB 级数据 10min 级分析,并且遵循 spark 标准接口。在包含数千个特征的稠密 benchmark 上进行特征分析与变换测试,性能较 Spark MLlib 提升 1000 多倍;XDML 也能很好地适应稀疏数据特征分析。


2. 实现常用的大规模数据量场景下的机器学习算法


超高维度的参数优化,对于开发者算法能力要求较高,而且工作量较大,需要大量的时间和精力进行调参工作。XDML 内化学界最新研究成果,引入南京大学李武军老师提出的全新优化算法 SCOPE,并重构了准线性模型,在效果保持稳定的同时,大幅加速收敛进程,显著提升模型与算法的性能。在 Benchmark 上,相比 LBFGS 性能提升 10 倍左右,相较于 SGD 性能提升 50 多倍。同时,XDML 还对接了一些优秀的开源成果和 360 公司自研成果,站在巨人的肩膀上,博采众长。


3. 充分利用现有的成熟技术,保证整个框架的高效稳定


在互联网领域,技术框架更新迭代十分迅速,XDML 可以与业界成熟的技术无缝衔接,整个框架具有高效的稳定性。


4. 完全兼容 hadoop 生态,和现有的大数据工具实现无缝对接,提升处理海量数据的能力


在 XDML 设计之初,就将与 Hadoop 生态无缝衔接作为其设计目标,解决了大规模高维数据的存储。XDML 具有与目前 Hadoop、Spark 等大数据框架无缝对接的能,同时替换 Spark 原生能力的性能/效果瓶颈,提供更好的大数据框架使用体验,将开发者从繁杂的工作中解脱出来,不必为数据、模型的存储大费周章。


5. 在系统架构和算法层面实现深度的工程优化,在不损失精度的前提下,大幅提高性能


在高维稀疏数据场景中,如何处理千亿级参数训练,百亿乃至千亿级别样本训练中模型的存储、数据如何传输、模型的更新等问题一直是业界急需解决的问题。XDML 具有模型的快速存储能力,高效的数据传输,从多个角度提升了高维稀疏数据场景中,提升模型的训练速度提升整体的性能。

结语

“从开源社区来,并回到开源社区去”一直是开源社区的精神。360 此次开源的内部超大规模机器学习计算框架 XDML,能够为开发者节约学习和操作时间,提高模型训练效率,具有良好的稳定性和兼容性,为开源社区提供了一件利器。


2018-12-29 14:385208
用户头像

发布了 1527 篇内容, 共 705.9 次阅读, 收获喜欢 2509 次。

关注

评论 1 条评论

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

一文读懂BTC生态新贵Giants Planet,将L2与现实世界整合

西柚子

Penpad生态再迎新进展,Season 2 ETH质押量超200万美元

西柚子

一文读懂BTC生态新贵Giants Planet,将L2与现实世界整合

加密眼界

如何在面试中应对编程与算法面试?

霍格沃兹测试开发学社

浪潮信息持续更新“源2.0”基础大模型能力

财见

华为云CodeArts IDE For Python 快速使用指南

华为云

大模型时代,嫘祖也掌握了「新质生产力」!

白洞计划

AI

捷途山海T2预售开启,装甲级电池防护,让您出行无忧

极客天地

和鲸科技将参与第五届空间数据智能学术会议并于应急减灾与可持续发展专题论坛做报告分享

ModelWhale

人工智能 大数据 空间数据库 空间数据智能学术会议

iPaaS与ESB: 解密企业集成领域的两大利器差异

RestCloud

数字化转型 ESB API 企业集成 ipaas

海外云手机为什么适合社媒运营?

Ogcloud

云手机 海外云手机 tiktok云手机 云手机海外版 电商云手机

鸿蒙HarmonyOS实战-ArkUI组件(Stack)

蜀道山

鸿蒙 HarmonyOS stack 鸿蒙开发 鸿蒙系统

鸿蒙HarmonyOS实战-ArkUI组件(Flex)

蜀道山

鸿蒙 HarmonyOS Flex 鸿蒙开发 鸿蒙系统

东周APP:投资新兴实业资产,助力实体经济高质量发展

极客天地

用海外云手机高效率运营TikTok!

Ogcloud

云手机 海外云手机 tiktok云手机 云手机海外版 跨境云手机

多元 CPU 性能调优的技术挑战、产品设计和业务实践

Baidu AICLOUD

性能调优 cpu加速 btune

使用 TypeScript 从零搭建自己的 Web 框架:领域特定语言(DSL) 与 Prisma 模型

RoyLin

typescript

掌握 HTTP:网络通信的核心技术详解

Liam

程序员 前端 Web 后端 HTTP

一本书精通推荐算法,轻松搞定入门、面试、进阶

博文视点Broadview

软件测试学习笔记丨后端接口基本开发 - Spring boot项目搭建

测试人

软件测试 测试开发 spring-boot

搞垮一家SaaS公司最快的方法

ToB行业头条

为什么Toncoin是加密货币开发的下一个重大事件

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

Spring开发:动态代理的艺术与实践

华为云开发者联盟

spring 开发 华为云 华为云开发者联盟 企业号2024年4月PK榜

拿到鹅厂的Offer啦!

王磊

Java 面试

软件测试学习笔记丨Jenkins api接口

测试人

软件测试 jenkins API 测试开发

Kafka 迁移工具 MirrorMaker2 原理起底

AutoMQ

大数据 kafka 云原生 AutoMQ MirrorMaker2

360开源 XDML,超大规模数据与超高维特征机器学习计算平台_AI&大模型_InfoQ 中文站_InfoQ精选文章