写点什么

微软开源深度学习库 SynapseML:可直接在系统中嵌入 45 种不同机器学习服务、支持 100 多种语言文本翻译

  • 2021-11-19
  • 本文字数:2615 字

    阅读完需:约 9 分钟

微软开源深度学习库 SynapseML:可直接在系统中嵌入45种不同机器学习服务、支持100多种语言文本翻译

目前,数据科学团队在使用机器学习模型时正面临着越来越大的压力。虽然 AI 的采用和分析持续上升,但大约有 87% 的数据科学项目从未投入生产。根据 Algorithmia 最近的调查显示,22% 的公司需要一到三个月的时间来部署模型以实现业务价值,而 18% 的公司需要三个月以上的时间。

 

为了缓解这一现状,近日,微软宣布了开源一款简单的、多语言的、大规模并行的机器学习库 SynapseML(以前称为 MMLSpark),以帮助开发人员简化机器学习管道的创建。微软表示,借助 SynapseML,开发人员可以构建“可扩展的智能”系统来解决跨领域的挑战,包括文本分析、翻译和语音处理。

 

构建可用于生产的分布式 ML 管道通常困难,即使对于最有经验的开发人员也是如此。而对于初学者来说,组合来自不同生态系统的工具需要大量代码,而且许多框架在设计时并没有考虑到服务器集群。SynapseML 通过将多个现有的 ML 框架和新的 Microsoft 算法统一到一个可跨 Python、R、Scala 和 Java 使用的可扩展 API 中来解决这一挑战。

 

借助 SynapseML,开发人员可以构建可扩展的智能系统来解决以下领域的挑战:

 

• 异常检测

• 计算机视觉

• 深度学习

• 表格识别和人脸识别

• 梯度提升

• 微服务编排

• 模型可解释性

• 强化学习和个性化

• 搜索和检索

• 语音处理

• 文本分析

• 翻译

 

项目地址:https://github.com/microsoft/SynapseML

通过统一的 API 简化分布式机器学习

 

编写容错分布式程序很复杂,而且是一个容易出错的过程。我们来举个深度网络的分布式评估的例子。第一步是将一个 GB 量级的模型发送到数百台工作机器上,而不会使网络不堪重负。第二步,必须协调数据读取器以确保所有数据都排队等待处理并且 GPU 处于满负荷状态。如果新计算机加入或离开集群,新的工作机器必须接收模型的副本,数据读取器需要适应与新机器共享工作并重新计算丢失的工作。最后,必须跟踪进度以确保正确释放资源。

 

当然,像 Horovod 这样的框架可以管理这一点,但是如果想要与不同的 ML 框架(例如 LightGBM、XGBoost 或 SparkML)进行比较,则需要新的环境和集群。此外,这些训练系统并非旨在服务或部署模型,因此需要单独的推理和流媒体架构。

 

SynapseML 通过将许多不同的 ML 学习框架与一个可扩展、与数据和语言无关且适用于批量处理、流媒体和服务应用程序的 API 统一起来,简化了这种体验。它旨在帮助开发人员专注于其数据和任务的高级结构上,而无需过多考虑不同 ML 生态系统和数据库的实现细节和特性。

 

统一的 API 标准化了当下许多的工具、框架和算法,从而简化了分布式 ML 体验。这使开发人员能够为需要多个框架的用例快速组合不同的 ML 框架,例如网络监督学习、搜索引擎创建等。它还可以在单​​节点、多节点和可弹性调整大小的计算机集群上训练和评估模型,因此开发人员可以在不浪费资源的情况下扩展他们的工作。

 

除了在几种不同的编程语言中的可用性之外,该 API 还对各种数据库、文件系统和云数据存储进行了抽象,以简化实验,如图 1 所示。



深耕五年,打造高普世化机器学习库

 

正如微软在项目网站上所解释的那样,SynapseML 在几个新方向上扩展了用于大规模数据处理的开源引擎 Apache Spark:“SynapseML 中的工具允许用户制作功能强大且高度可扩展的模型,这些模型可以跨多个机器学习生态系统完成工作。SynapseML 还为 Spark 生态系统带来了新的网络功能。通过 HTTP on Spark 项目,用户可以将任何 Web 服务嵌入到他们的 SparkML 模型中,并使用他们的 Spark 集群进行大规模的网络工作流。”

 

SynapseML 中的许多工具不需要大型标记好的训练数据集。相反,SynapseML 为预构建的智能服务(例如 Azure 认知服务)提供简单的 API,以快速解决与业务和研究相关的大规模 AI 挑战。

 

SynapseML 能够让开发者将超过 45 种不同的先进的机器学习服务直接嵌入到他们的系统和数据库中。最新版本增加了对分布式表单识别、对话转录和翻译的支持,如图 2 所示。



这些即用型算法可以解析各种文档、实时转录多说话者对话,此外还能翻译 100 多种不同语言的文本。

 

“在过去的五年中,我们一直致力于改进和稳定用于生产工作负载的 SynapseML 库。使用 Azure Synapse Analytics 的开发人员将很高兴地知晓了 SynapseML 现在在这项服务上普遍可用,并提供企业服务。”微软软件工程师 Mark Hamilton 在一篇博客文章中写道。

 

使用 SynapseML 构建负责任的 AI 系统

 

SynapseML 使开发人员不仅可以使用现有的模型和服务,还可以构建和训练自己的模型和服务。此版本的 SynapseML 引入了使用Vowpal Wabbit 框架进行个性化推荐和上下文老虎机强化学习的新算法。这种 Vowpal Wabbit 集成可以为单个模型分配模型训练和预测,或者跨多个模型并行训练。这对于快速调整策略优化和个性化系统的超参数非常有效。

 

Vowpal Wabbit 项目地址:https://microsoft.github.io/SynapseML/docs/features/vw/Vowpal%20Wabbit%20-%20Overview/

 

构建模型后,研究人员和工程师需要在部署前了解其局限性和行为。SynapseML 通过引入新工具来帮助开发人员和研究人员构建负责任的 AI 系统,这些工具揭示了模型为什么会做出这样的预测以及如何改进训练数据集以消除偏见。

 

更具体地说,SynapseML 包括 Shapley Additive Explanations (SHAP) 和 Locally Interpretable Model-Agnostic Explanations (LIME) 的分布式实现,以解释视觉、文本和表格模型的预测。通常,这些“黑盒”方法通常需要对每个解释进行数千次模型评估,并且解释大型数据集的每个预测可能需要数天时间。SynapseML 使开发人员能够在数百台机器上分配计算,从而显著加快理解用户训练模型的过程。

 

除了有监督的模型可解释性之外,SynapseML 还为无监督的负责任 AI 引入了几项新功能。借助微软的用于理解数据集不平衡的新工具,研究人员可以检测敏感数据集特征(例如种族或性别)是否被过度或不足表达,并采取措施提高模型公平性。此外,SynapseML 的分布式孤立森林使研究人员能够在不需要标记训练数据的情况下检测其数据集中的异常值和异常情况。

 

“我们的目标是帮助开发人员简化分布式实现细节,并使他们能够将分布式部署到各种数据库、集群和语言中,而无需更改原来的代码,”Hamilton 说道。

 

参考链接:

 

https://www.microsoft.com/en-us/research/blog/synapseml-a-simple-multilingual-and-massively-parallel-machine-learning-library/

 

https://venturebeat.com/2021/11/17/microsoft-open-sources-synapseml-for-developing-ai-pipelines/

2021-11-19 14:302377

评论 1 条评论

发布
用户头像
可以减少人工成本了~
2021-11-20 16:49
回复
没有更多了
发现更多内容

Redis为什么变慢了?一文讲透如何排查Redis性能问题 | 万字长文

Java redis 程序员 架构 计算机

大厂面试必须掌握的 Linux 性能优化题

倪朋飞

Linux 面试 性能优化

百家号在线视频编辑器的技术演进

百度Geek说

大前端

零基础学Tableau系列 | 01—Tableau简介、条形图与直方图

不温卜火

数据可视化 数据清洗 4月日更

I'm Back

小天同学

思考 个人感悟 4月日更

2021年金三银四全新版互联网大厂面试题,分类80份PDF,累计4700页

Java 编程 程序员 架构 面试

探索js让你的网页“自己开口说话”

云小梦

JavaScript 音视频 audioContext API

WebRtc学习之旅 —— Android端应用开发

小驰笔记

WebRtc学习之旅 —— 初认识

小驰笔记

美团点评高级1234面:算法+HashMap+Zookeeper+线程+Redis+kafka

钟奕礼

Java 编程 程序员 架构 面试

历史命令被黑客删除?教你实时备份

运维研习社

Linux 4月日更 服务器安全

2021阿里面试通关手册必备:5000字面经解析(技术/攻克)

比伯

Java 架构 面试 程序人生 计算机

访问控制相关概念及常见模型

龙归科技

身份和访问管理

拥抱云原生,基于eBPF技术实现Serverless节点访问K8S Service

UCloud技术

容器 云原生 k8s serverles

架构培训作业

肖春

架构师训练营

区块链电子合同--赋能企业数字化转型

13530558032

莫高窟永不褪色的微笑,照耀在华为未曾止步的数据保护征程

脑极体

1.4 Go语言从入门到精通:Go代理goproxy

xcbeyond

Go 语言 4月日更 goproxy

Rust:范型使用trait限定的一点总结

Microwood

rust Trait 范型 范型约束Output Add

源中瑞智慧平安社区--为平安生活助力

13530558032

勇做全球区块链“分布式存储”领航

CECBC

分布式

新动能 · 新机遇:SaaS软件提供商 Zoho 25 周年战略再升级

科创人

智能取色-为多元化的产品场景选择完美的色彩组合

百度贴吧技术团队

智能取色 个性化 视觉策略 沉浸感

Java高级研发:2021阿里天猫、中间件、蚂蚁金服JD要求+面题答案

钟奕礼

Java 编程 程序员 架构 面试

gorm源码阅读之schema

werbenhu

Go 语言 gorm

Golang 泛型浅析

D

开源 云原生 编译器 语言 Go 语言

从0开始的支付业务架构演进之路

誰敢得罪我

可能是最糟糕的愚人节玩笑:科技史上的美式疯狂

脑极体

专科出身,2年进入苏宁,5年跳槽阿里,论我是怎么快速晋升的?

钟奕礼

Java 编程 程序员 架构 面试

朱嘉明:《量子时代和数字经济2.0 》推荐序

CECBC

数字经济

区块链的创新技术给奢侈品行业带来了新的机会

CECBC

奢侈品

微软开源深度学习库 SynapseML:可直接在系统中嵌入45种不同机器学习服务、支持100多种语言文本翻译_AI&大模型_李冬梅_InfoQ精选文章