字节跳动开源云原生机器学习平台 Klever

字节跳动基础架构团队基于火山引擎机器学习平台 Clever 及其丰富的行业落地经验,推出开源项目 Klever,以工程化的方式降低智能技术落地门槛,助力企业快速打造智能业务 。
作者: 陈军(字节跳动)
发布:火山引擎云原生
项目地址: github.com/kleveross
近年来,智能技术不论是在学术界还是工业界都取得了突破性进展 。机器学习、深度学习开始在各行各业扮演重要角色:业务上,帮助企业优化运营、提高效率、改善客户体验;管理上,参与后台自动化运营,完成数据处理和提取等任务 。
然而,随着越来越多企业开始尝试落地智能技术,一个严峻的问题也逐渐暴露出来:从算法技术选型到模型最终上线,这个过程涉及大量工程化任务对接 。算法工程师们掌握着丰富的先进算法,但算法能力的实现通常离不开底层计算资源和系统架构的支撑,如何实现从开发、模型训练、模型管理、模型服务全链路高效、敏捷、自动化管理,进而实现企业的智能化转型,仍是当前智能技术领域亟待解决的问题之一 。
开源机器学习平台 Klever
针对上述问题,字节跳动基础架构团队多年来就智能技术的工程化问题进行了长期探索 。
2020 年,字节跳动旗下的数字服务与智能科技品牌火山引擎携我们的技术实践落地国内某金融机构,使其模型上线效率提升了 10 倍,GPU 资源使用率提高 50%,自主创新能力大幅提高 。
这类落地最佳实践让我们深刻认识到了智能技术对企业业务持续增长的重要性,也让我们了解到缺乏工程化工具已经成为当下企业应用智能技术的一大掣肘 。为此, 我们决定推出开源机器学习平台 Klever  。
Klever 是一个支持 OCI(Open Container Initiative)标准存储训练模型、支持在线模型服务部署的云原生机器学习平台 。算法科学家可以使用 Klever 进行 模型管理 、 模型解析 、 模型转换 、 模型服务 ,它已经解决了智能技术落地流程中的如下问题:

  • 模型的管理和分发
  • 模型解析和转换
  • 在线模型服务部署和管理
同时,基于字节跳动在机器学习和云原生开源社区的技术积累,Klever 提供强大、通用的开源技术标准,方便企业无缝迁移线上应用 。未来,它还将进一步支持模型开发、模型训练等一系列智能模型开发和管理流程,降低技术落地门槛,助力企业快速打造智能业务、全面实现智能化转型 。
Klever 概述
系统架构
Klever 有四个自研发的组件,并依赖三个开源组件:
  • ormb :模型打包、解压、上传、下载工具(点击了解 ormb)
  • model-registry :模型仓库及模型服务 API 管理层
  • modeljob-operator :ModelJob controller,管理模型解析、模型转换任务
  • klever-web :前端组件
  • Istio :开源服务网格组件,模型服务通过 Istio 对外暴露模型服务地址,实现模型服务按内容分流和按比例分流
  • Harbor :模型底层存储组件,对模型配置和模型文件进行分层存储
  • Seldon Core :开源模型服务管理的 Seldon Deployment CRD 的 controller,通过 SeldonDeployment CR 实现模型服务的管理

字节跳动开源云原生机器学习平台 Klever

文章插图
 
使用场景
如前所述,目前机器学习平台 Klever 率先实现的是从模型仓库到模型服务的自动化管理,具体来说,它可以支持以下两种应用场景:
  • 模型管理
    • 开发的模型在团队内外、公司内外通过 ormb + Harbor 进行管理和分发
    • 用户如果有现成的模型文件,但是不知道如何构建模型服务,那么可通过将模型导入系统,一键部署模型服务
    • 用户可导入模型,获取模型的输入输出等模型内部信息
  • 模型服务
    • 支持简单模型服务和基于流量比例及内容分流的高级模型服务
    • 用户可通过构建自定义镜像的方式支持自定义模型服务
    • 支持 GPU 和 非 GPU 模式部署模型服务
Klever 特性
Klever 有三大特性 。
首先,通过与 Harbor 结合,它可以满足 OCI 标准的模型仓库管理,用户可以像使用 Docker 管理镜像一样管理机器学习模型 。
其次,整个系统可通过容器化的方式部署在 Kubernetes 容器管理平台之上,用户无需管理模型解析、模型转换、模型服务实际运行在哪台物理机之上,系统会自动调度和运行资源充足的机器,并在模型服务负载较高时自动弹性伸缩 。
【字节跳动开源云原生机器学习平台 Klever】


推荐阅读