微软宣布:开源一个机器学习库SynapseML 帮助开发人员
2021-11-19 09:20:02来源:智东西
本周三,微软宣布开源一个简单、多语言的、大规模并行的机器学习库SynapseML(以前称为MMLSpark),以帮助开发人员简化机器学习开发与部署。即使对于最有经验的开发人员来说,构建机器学习管道也会很困难。
对于初学者来说,组合来自不同生态系统的工具需要大量代码,而且许多框架在设计时并没有考虑到服务器集群。数据科学团队在使用更多机器学习模型方面也面临越来越大的压力。
微软表示,借助SynapseML,开发人员可以构建可扩展的智能系统来解决跨领域的挑战,包括文本分析、翻译和语音处理。
SynapseML使开发人员能够将超过45种不同的最先进机器学习服务直接嵌入到他们的系统和数据库中。
其最新版本增加了对分布式表单识别、对话转录和翻译的支持,这些即用型算法可以解析各种文档、实时转录多个对话者的声音和翻译100多种不同的语言。
一、五年沉淀,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还集成了开放神经网络交换 (ONNX),这是一个由微软和Meta(原Facebook)共同开发的框架,可以在运行时使用来自不同机器学习生态系统的模型。通过集成,开发人员只需几行代码即可执行各种经典机器学习模型。
该API具有“无监督学习AI”的功能,包括用于理解数据集不平衡的功能,例如种族或性别等敏感数据集特征是否被过度解读或无法识别,而无需标记训练数据和模型的可解释性,也就是说明为什么模型会做出某些预测以及如何改进训练数据集。
SynapseML引入可以用于个性化推荐的Vowpal Wabbit框架,以及强化学习的新算法模型contextual bandit,帮助开发人员训练AI模型。
在不需要标记数据集的情况下,无监督学习可以帮助填补某些领域知识的空白。例如,Facebook最近发布的无监督模型SEER,可以在10亿张图像上进行训练,并能在一系列计算机视觉基准测试中取得较优秀的结果。
然而,无监督学习并不能消除系统预测中存在偏差或缺陷的可能性。一些专家认为,消除这些偏差可能需要对无监督模型进行专门培训,并使用额外的、较小的数据集来消除偏差。
“我们的目标是让开发人员免于担心分布式实现细节的麻烦,并能够将它们部署到各种数据库、集群和编程语言中,而无需更改开发人员的代码。”Hamilton补充道。
结语:开源引擎库,促进算法落地
伴随着科技发展突飞猛进,AI所引发的技术革命也在飞速发展,包括机器学习等领域的AI研究在性能、效率上不断升级的同时,其算法落地仍面临困境,无法大规模投入使用。
微软此次开源SynapseML库,不断改进机器学习算法,将现有的机器学习框架和微软开发的算法统一,提高AI的数据处理和分析能力,进一步促进AI技术发展。