今天,由 Google、IBM、才云科技等公司联合开源的 Kubeflow 正式发布 1.0 版本,标志着这个云原生机器学习平台在经历了两年的技术沉淀后,已经可以开始在生产环境中使用。在这一里程碑式的时刻,我们邀请到了才云科技 CEO 张鑫博士对 Kubeflow 1.0 做简单解读!
2020 年 3 月 3 日,在这样一个“数字对仗工整”的吉日,Kubeflow 社区历时 2 年,终于发布了 Kubeflow 1.0 版本。社区在其官方发布稿中特别感谢了来自约 30 家公司或机构的数百名贡献者的大力贡献,其中包括三家来自中国的企业:阿里巴巴、蚂蚁金服和才云科技。
作为 Kubeflow 的合作开源者之一,才云科技自 2017 年以来一直是该项目的积极贡献者,目前在所有参与者中贡献排名全球前列。
按首字母排序
Kubeflow 是什么?
Kubeflow 是 2017 年由 Google、IBM、才云科技(Caicloud)、Cisco 等公司发起的开源和免费的机器学习平台。该平台基于容器和 Kubernetes 构建,旨在为数据科学家、机器学习工程师、系统运维人员提供面向机器学习业务的敏捷部署、开发、训练、发布和管理平台。
Kubeflow 本身并没有创造新的机器学习算法和服务,而是利用容器等云原生技术的优势,让用户可以更快速、方便地部署、使用和管理当前最流行的机器学习技术和软件。它旨在解决机器学习和人工智能落地中的如下挑战:
A.算力的门槛:数据量的激增和模型的日益复杂,造成了开发 AI 服务对计算量的惊人消耗。如果没有基于分布式的强大计算框架,企业难以在合理时间内从大量数据中提取有效价值,同时最大化硬件资源和云计算资源的使用。
B.算法的门槛:当前机器学习、深度学习技术的普及程度还有待提升,专业人才紧缺,熟练掌握深度学习工具存在学习门槛。即使对于有经验的数据科学家,在模型算法开发的过程中,他们也面临着特征选择、模型选择、算法选择、超参数选择等诸多挑战。
C.效率与速率:大量数据和海量计算都会对企业的资源产生大量消耗,而现代深度学习算法所依赖的 GPU 硬件更是价格高昂。同时,深度学习的开发涉及数据处理、特征工程、模型开发、模型训练、模型服务、模型运维等众多环节,而数据在时刻更新、市场竞争日益激烈,如何最快速实现从新数据到新模型服务的闭环,对企业来说也是极大的挑战。此外,随着顶层应用的繁荣,底层也需要新的基础设施或平台来支持上层业务的快速部署、算法构建、业务发布和稳定运营。
Kubeflow 底层基于容器和 Kubernetes 技术,可以实现高效资源利用和分布式计算,解决上述的“算力“挑战。它提供自动超参数搜索、多任务并行等能力,可降低模型选择和调参的难度,帮助企业进一步降低算法的门槛。
最后,Kubeflow 利用容器易封装、易自动化等特性,再结合 Pipeline(流水线)功能, 可实现端对端机器学习系统的自动化敏捷构建,实现 AI 领域的 DevOps 和 RPA(机器人流程自动化)。
Kubeflow 1.0 的新特性
根据官方发布的用户核心使用场景示意图,Kubeflow 1.0 现已包含开发、构建、训练、部署四个环节,可全面支撑企业级用户的机器学习、深度学习完整使用过程,如下图所示:
用户核心使用场景
管理控制面板
Kubeflow 的 Central Dashboard 提供可视化的管理面板,基于它,用户可以快速创建开发环境、流水线,并查看任务状态、近期操作等。
线上协同开发环境
Jupyter Notebook 是最受机器学习开发者欢迎,也是最主流的开发环境(没有之一)。Kubeflow 整合了 Jupyter Notebook 作为模型的开发环境,相比本地搭建的 Jupyter Notebook,采用 Kubeflow 的“云化” Jupyter Notebook 进行开发有如下优势:
易于维护:系统管理员可以统一制作标准 Notebook 镜像、管理密钥证书等。底层的 Kubeflow 和 Kubernetes 可以自动保证 Notebook 应用的稳定运行和故障应对;
环境共享:不同的用户可以在“云端”共享同一个 Notebook 环境,实现高效协同;
资源管理:Kubeflow(或底层的 K8s)可以动态分配不同 Notebook 所需要的资源;
权限管理:可以与机器学习平台的其他组件一起实现统一、一致的认证和权限管理,方便不同团队配置各自的 Notebook 访问权限。
流行框架分布式训练加速
Kubeflow 充分发挥了底层 Kubernetes 弹性资源调度和分布式运行的能力,通过自定义第三方资源和控制器,实现了对 TensorFlow, PyTorch 等流行机器学习库的分布式训练任务管理,从而透明地缩短了复杂模型的训练周期。
多用户与权限管理
Kubeflow 1.0 中的 Profile Controller 达到生产 GA 阶段,可以实现对不同用户的命名空间(namespace)管理、不同用户角色的权限控制(基于 Kubernetes 和 Istio 的 RBAC)、不同用户之间的资源配额分配等功能。
基于此,企业可以在生产级别实现多租户的稳定安全资源管理和团队划分。
客户之音
除了功能的成熟,截至 1.0 版本发布时,Kubeflow 也收获了众多真实用户的赞美之声,包括国外金融、制造等行业的巨头,如 US Bank、Chase Commercial Bank、Volvo 汽车等。
Volvo 汽车 Leonard Aukea :
Kubeflow 提供了与众多机器学习工具的无缝接口,这些工具可以共同管理 ML 工作流程的复杂性,并鼓励企业寻找最佳实践。借助 Kubeflow,Volvo 汽车的数据科学和机器学习团队能够轻松地迭代并提供可复制的生产级服务。
Chase Commercial Bank 架构师:
Kubeflow 的数据和模型存储可被平滑集成到 CI/CD 流程中,从而让机器学习模型能更快、更灵活地交付到应用程序中。
此外,借助才云科技对 Kubeflow 不遗余力的推广和企业应用探索,中国银联、招商银行、百胜中国、中国移动等一大批国内先进公司也早已实现基于 Kubeflow 的人工智能中台的落地,中国企业在云原生和 AI 技术的融合上已经和国外巨头齐头并进。
未来更可期
虽然 1.0 版本的发布是个令人激动的里程碑,但未来的 Kubeflow 更值得期待。根据官方消息,目前 Kubeflow 已经进入 Beta 阶段的功能还包括:
Pipelines 流水线可打通端对端机器学习应用落地的不同环节,帮助实现 AI DevOps 或 “AI RPA”;
Katib 自动超参数搜索实现模型的自动化调优,可大幅降低企业技术人员使用人工智能算法的技术壁垒;
Metadata 通过对数据集、训练任务、模型等多维度状态和指标的收集,可实现对机器学习系统更好的监控和管理;
其他分布式训练框架支持,如 XGBoost,让 Kubeflow 的应用范围更加广阔。
除了自有功能外,Kubeflow 也正在拥抱越来越多的“生态功能”。例如可弹性伸缩、可自动容错的分布式训练技术 FTlib 就是对 Kubeflow 自身分布式训练的提升和优化。
最后,我们也诚挚地欢迎更多贡献者持续为 Kubeflow 添砖加瓦,实现人工智能的普惠化。
本文转载自才云 Caicloud 公众号。
原文链接:https://mp.weixin.qq.com/s/PW7xQihq6VR20aCXuIav2g
评论