IBM机器学习框架CodeFlare,大幅缩短I模型训练流程

IBM于近期推出了全新无服务器的开源框架CodeFlare,帮助开发人员减少在混合云环境中部署AI模型所花费的时间,此框架目前已在GitHub上开源。

使用CodeFlare后,减少94%机器学习模型Pipeline执行时长

对于企业而言,训练出一个机器学习模型从来不是主要的瓶颈—那什么才是呢?

在生产环境中的持续运营、构建完整的人工智能系统,完成规模化落地,而且中间没有任何重大的断层,这才是真正的挑战。然而,企业为了随时应对新需求来部署机器学习解决方案,经常只能不断重写实验程序代码来迭代,但这种方法是模棱两可的,在不具备MLOps的概念之下,成功几率更低。

据IBM表示,用户使用CodeFlare框架分析和优化大约100,000个用于训练机器学习模型的pipeline时,可将执行时长从原本的4小时大幅缩减到短短15分钟

资料科学和机器学习分析,在各个垂直领域的需求正在激增,任务也变得越来越复杂。随着资料集越来越大,涉及的系统也变多,使得AI研究人员和开发人员得花更多时间配置在模型设置上,要创建一个机器学习模型,必须还得进行数据清洗、特征标准化、特征提取等耗时、耗力、多重的前置作业,才能进行训练优化。

而CodeFlare存在的目的,就是要简化AI迭代过程,让数据工作流程更容易规模化进行。CodeFlare框架主要是创建在Ray之上—Ray是加州大学伯克利分校RISE实验室为AI应用程序开发的开源分布式计算系统,也是源自IBM集团的一个项目,通过该项目也创建出了世界上第一个原型2纳米芯片。

IBM框架CodeFlare接口基于Python,具三大特点

IBM Research混合云平台总监Priya Nagpurkar透露:“CodeFlare采用了简化机器学习的概念…更进一步把每个孤立的步骤串联起,将端到端pipeline与资料科学家熟悉的接口无缝集成—比如Python,而不是容器(container)。CodeFlare使用了统一的runtime和程序接口,有助于简化pipeline集成和扩展的过程,展现与众不同的性能。”

具体来说,CodeFlare拥有以下三大特点:

1. 基于Python的接口,可用于管理跨平台的pipeline,且pipeline可以在大多数计算环境中共享资源、进行平行化运算。通过转接器与其他云原生生态系统统集成和衔接,形成横向分布式工作流程,开发人员也不必为了维护管理而去学新的语言。

2. 触发器功能,使CodeFlare pipeline能够在发生某些特定事件(例如有新文件抵达)时被启动,同时,可从任何来源加载和分割资料,让pipeline能够有效去运用一系列数据源,包括文件系统、对象存储、数据湖和分布式文件系统。

3. 可以部署在任何云基础架构上,通过和Red Hat OpenShift和IBM Cloud Code Engine的集成,实现了无服务器的体验,并供用户在任意平台创建工作流程,具备拓展无服务器服务的好处。

从广泛角度来看,CodeFlare的概念类似于Amazon SageMaker Pipelines,聚焦在从云仪表板自动化、组织机器学习pipeline的流程,而Google、微软和Hybernet Labs则是分别在Cloud AI Platform Pipelines、Azure Machine Learning Pipelines和Galileo中提供了相似的服务。但IBM强调,CodeFlare结合了本地和云计算基础架构,是从本地端开始构建来支持混合云的

“该框架背后的动机,是为了收拢工作流程,还有为了完美结合人工智能、机器学习、资料分析和建模”,Nagpurkar表示,“我们看到了在runtime之下能大幅优化渠道的机会,可以有效管理和改善数据依赖性(data dependencies)、执行控制性(execution control)。”

CodeFlare已开源,降低企业AI部署混合云难度

目前CodeFlare已在GitHub开源,IBM也提供了一系列有关其工作原理,以及开发人员入门所需的技术博客文章。预期未来,IBM计划继续发展CodeFlare,来支持更复杂的pipeline和功能,例如容错和一致性、外部资源的集成和数据管理,以及强化对可视化渠道的支持。

就目前的性能来看,CodeFlare已经可以将执行100,000个训练渠道的分析和优化时间,从4小时缩短到15分钟。此外,IBM正在与客户合作,将CodeFlare集成到他们的软件流程中,也在IBM自家的AI研究中使用此框架。

“实现一致性的体验,以将pipeline从笔记本扩展到小型集群(cluster)、再到云,是CodeFlare的一大关注点”,Nagpurkar补充,“我们将CodeFlare视为我们混合云平台发展的关键下一步,对用户的价值方面,我们必须强调,通过显著提高效率,CodeFlare不仅可以节省成本和时间,而且还创造了机会来解决以前由于规模或复杂度等原因、而根本不切实际的新使用场景。”

有了像CodeFlare这种具备MLOps优势的框架,开发人员就不必一直重复相同的工作,也不需要彻底理解pipeline的配置,用统一接口就可使用丰富的工具和API一致的进行操作,把更多宝贵的时间放在研究和实际应用上,简化配置和部署的复杂工作流程,更快速部署到混合云,开发和部署AI模型的过程,又会变得轻巧许多。