本周三,微软宣布开源一个简单、多语言的、大规模并行的机器学习库 SynapseML(以前称为 MMLSpark),以帮助开发人员简化机器学习开发与部署。
即使对于最有经验的开发人员来说,构建机器学习管道也会很困难。对于初学者来说,组合来自不同生态系统的工具需要大量代码,而且许多框架在设计时并没有考虑到服务器集群。数据科学团队在使用更多机器学习模型方面也面临越来越大的压力。
微软表示,借助 SynapseML,开发人员可以构建可扩展的智能系统来解决跨领域的挑战,包括文本分析、翻译和语音处理。
SynapseML 使开发人员能够将超过 45 种不同的最先进机器学习服务直接嵌入到他们的系统和数据库中。
其最新版本增加了对分布式表单识别、对话转录和翻译的支持,这些即用型算法可以解析各种文档、实时转录多个对话者的声音和翻译 100 多种不同的语言。
▲ 开源机器学习库 SynapseML 界面
开源链接为:https://github.com/microsoft/SynapseML
一、五年沉淀,SynapseML 直击 AI 落地痛点
SynapseML 的构建基于微软强大的 Spark(计算引擎)生态系统,包括工业大数据处理领域的“网红”计算引擎 Apache Spark、SparkML 等。
SynapseML 为 Spark 生态系统添加了许多深度学习和数据科学工具,包括 Spark 机器学习构建流程以及其他深度学习工具的无缝集成。这些工具可为各种数据源提供强大且高度可扩展的预测和分析模型。
SynapseML 库可用于 Azure Synapse Analytics 工具上,该工具能够按照算法运行需求或根据开发人员提前配置的资源,为 AI 模型收集、处理数据。
“在过去的五年中,我们一直致力于改进和稳定用于生产工作负载的 SynapseML 库。使用 Azure Synapse Analytics 的开发人员将很高兴得知 SynapseML 现在在这项服务上普遍可用,并提供企业服务。”微软软件工程师 Mark Hamilton 在一篇博客文章中写道。
AI 技术的使用和分析能力逐渐增强,但大约 87% 的数据科学项目仍未产业化落地。根据美国 AI 算法交易服务平台 Algorithmia 最近的调查,22% 的公司需要一到三个月的时间来部署模型以实现业务价值,而 18% 的公司需要三个月以上的时间。
SynapseML 将现有的机器学习框架和微软开发的算法打包,统一放到一个 API 中,以此来解决数据项目无法落地的挑战,该 API 可用在 Python、R、Scala 和 Java 中。SynapseML 使开发人员能够帮助需要多个框架的使用案例实现组合,例如创建搜索引擎,同时在可调整大小的计算机集群上训练和评估模型。
二、无监督学习功能,可填补研究空白
正如微软在该项目的网站上所解释的那样:“SynapseML 中的工具允许用户制作跨越多个机器学习生态系统的强大且高度可扩展的模型。SynapseML 还为 Spark 生态系统带来了新的网络功能。通过 HTTP on Spark 项目,用户可以将任何 Web 服务嵌入到他们的 SparkML 模型中,并使用他们的 Spark 集群进行大规模的工作。”
▲ 引擎库 SynapseML 架构
SynapseML 还集成了开放神经网络交换 (ONNX),这是一个由微软和 Meta(原 Facebook)共同开发的框架,可以在运行时使用来自不同机器学习生态系统的模型。通过集成,开发人员只需几行代码即可执行各种经典机器学习模型。
该 API 具有“无监督学习 AI”的功能,包括用于理解数据集不平衡的功能,例如种族或性别等敏感数据集特征是否被过度解读或无法识别,而无需标记训练数据和模型的可解释性,也就是说明为什么模型会做出某些预测以及如何改进训练数据集。
SynapseML 引入可以用于个性化推荐的 Vowpal Wabbit 框架,以及强化学习的新算法模型 contextual bandit,帮助开发人员训练 AI 模型。
在不需要标记数据集的情况下,无监督学习可以帮助填补某些领域知识的空白。例如,Facebook 最近发布的无监督模型 SEER,可以在 10 亿张图像上进行训练,并能在一系列计算机视觉基准测试中取得较优秀的结果。
然而,无监督学习并不能消除系统预测中存在偏差或缺陷的可能性。一些专家认为,消除这些偏差可能需要对无监督模型进行专门培训,并使用额外的、较小的数据集来消除偏差。
“我们的目标是让开发人员免于担心分布式实现细节的麻烦,并能够将它们部署到各种数据库、集群和编程语言中,而无需更改开发人员的代码。”Hamilton 补充道。
结语:开源引擎库,促进算法落地
伴随着科技发展突飞猛进,AI 所引发的技术革命也在飞速发展,包括机器学习等领域的 AI 研究在性能、效率上不断升级的同时,其算法落地仍面临困境,无法大规模投入使用。
微软此次开源 SynapseML 库,不断改进机器学习算法,将现有的机器学习框架和微软开发的算法统一,提高 AI 的数据处理和分析能力,进一步促进 AI 技术发展。
来源:IT之家