Open data-infra opened 2 years ago
欢迎来到开源摘星计划 cube-studio 贡献专栏 。cube-studio 已加入开源摘星计划,该计划提供奖励以鼓励你加入我们的社区:所有参与本项目贡献的开发者都可获得相应贡献积分、奖励以及被评选为年度摘星100 人的机会,活动及奖励详情请见:开源摘星计划。
📅活动时间:2022年5月-12月
https://github.com/tencentmusic/cube-studio
cube是TME开源的一站式云原生机器学习平台,目前主要包含
完整的平台包含
1、机器的标准化 2、分布式存储(单机可忽略)、k8s集群、监控体系(prometheus/efk/zipkin) 3、基础能力(tf/pytorch/mxnet/valcano/ray等分布式,nni/katib超参搜索) 4、平台web部分(oa/权限/项目组、在线构建镜像、在线开发、pipeline拖拉拽、超参搜索、推理服务管理等)
cube支持多集群调度,可同时管控多个训练或推理集群。在单个集群内,不仅做到一个项目组内在线开发、训练、推理的隔离,还可以做到一个k8s集群下多个项目组算力的隔离。另外在不同项目组下的算力间具有动态均衡的能力,能够在多项目间共享公共算力池和私有化算力池,做到成本最低化。
cube会自动为用户挂载用户个人目录,同一个用户在平台任何地方启动的容器目录下/mnt/$username均为用户个人子目录。可以将pvc/hostpath/memory/configmap等挂载成容器目录。同时可以在项目组中配置项目组的默认挂载,进而实现一个项目组共享同一个目录等功能。
cube支持在线jupyterlab/theia(vscode)等功能,多用户,多实例,支持cpu/gpu版本。另外支持在线构建docker镜像,免除算法同学docker学习成本
支持单任务调试、分布式任务日志聚合查看,pipeline调试跟踪,任务运行资源监控,以及定时调度功能(包含补录,忽略,重试,依赖,并发限制,过期淘汰等功能)
为了避免重复开发,对pipeline中的task功能进行模板化开发。平台开发者或用户可自行开发模板镜像,将镜像注册到平台,这样其他用户就可以复用这些功能,开源仓库中已提供部分通用分布式功能模板。
除了包含katib超参搜索,也加入了nni的超参搜索,支持更多的算法。
已k8s为核心,支持tf分布式训练、pytorch分布式训练、spark分布式数据处理、ray分布式超参搜索、mpi分布式训练、horovod分布式训练、nni分布式超参搜索、mxnet分布式训练、volcano分布式数据处理、kaldi分布式语音训练等, 以及在此衍生出来的分布式的数据下载,hdfs拉取,cos上传下载,视频采帧,音频抽取,分布式的训练,例如推荐场景的din算法,ComiRec算法,MMoE算法,DeepFM算法,youtube dnn算法,ple模型,ESMM模型,双塔模型,音视频的wenet,containAI等算法的分布式训练。
0代码发布推理服务从底层到上层,包含服务网格,serverless,pipeline,http框架,模型计算。
服务网格阶段:主要工作是代理流量的中转和管控,例如分流,镜像,限流,黑白名单之类的。
serverless阶段:主要为服务的智能化运维,例如服务的激活,伸缩容,版本管理,蓝绿发布。
pipeline阶段:主要为请求在各数据处理/推理之间的流动。推理的前后置处理逻辑等。
http/grpc框架:主要为处理客户端的请求,准备推理样本,推理后作出响应。
模型计算:模型在cpu/gpu上对输入样本做前向计算。
开源的tmeps支持tf框架实时训练,秒级上线,能应对embedding稀疏大模型推荐场景
我们列出了适合首次加入 cube-studio 社区的贡献者的问题、适合对项目有足够了解的贡献者的特殊 issue 挑战(参见下面的列表)以及一些社区日常任务。如果你愿意解决,请点击该 issue 并在评论区留言“WeOpen Star”(日常及其他任务无需此操作)。提交 PR 时,请同时将 PR 链接到相应的 issue。
对于成功完成任意任务的贡献者,为记录你的积分以及发放奖励,请自行前往你的积分主页记录。积分记录规则详见:关于积分。
请加入【开源摘星计划】社群
请添加官方小助手微信(微信号:TCOSOO1)
对平台感兴趣的同学可微信添加luanpeng1234并备注"开源共建"进入微信群
积分奖励:1分/个 参与项目例会 提交 Issue/Comment
积分奖励:1分/个
积分奖励:10分/个
1、补充使用文档 2、补充部署文档 3、补充开发者文档。
积分奖励:50分/个
1、前端界面ui优化 2、任务模板开发 3、平台功能
开源知识分享官:提交对本项目的学习笔记或开源相关笔记(视频/文章皆可)并发布在任意社区/博客/视频平台即可申报积分。
积分奖励:10分
开源部署测试:部署开源版本cube-studio,截图使用界面即可申报积分。
额外奖励:每月将为10名优秀笔记作者奖励QQ周边公仔、QQ音乐/腾讯视频年卡及腾源会T恤等好礼。
有意向进行开源共建的同学请微信添加luanpeng1234并备注"开源共建"进入微信群.
欢迎来到开源摘星计划 cube-studio 贡献专栏 。cube-studio 已加入开源摘星计划,该计划提供奖励以鼓励你加入我们的社区:所有参与本项目贡献的开发者都可获得相应贡献积分、奖励以及被评选为年度摘星100 人的机会,活动及奖励详情请见:开源摘星计划。
📅活动时间:2022年5月-12月
🌟关于 cube-studio
仓库地址
https://github.com/tencentmusic/cube-studio
cube-studio是什么
cube是TME开源的一站式云原生机器学习平台,目前主要包含
cube整体架构
完整的平台包含
1、机器的标准化 2、分布式存储(单机可忽略)、k8s集群、监控体系(prometheus/efk/zipkin) 3、基础能力(tf/pytorch/mxnet/valcano/ray等分布式,nni/katib超参搜索) 4、平台web部分(oa/权限/项目组、在线构建镜像、在线开发、pipeline拖拉拽、超参搜索、推理服务管理等)
多集群管控
cube支持多集群调度,可同时管控多个训练或推理集群。在单个集群内,不仅做到一个项目组内在线开发、训练、推理的隔离,还可以做到一个k8s集群下多个项目组算力的隔离。另外在不同项目组下的算力间具有动态均衡的能力,能够在多项目间共享公共算力池和私有化算力池,做到成本最低化。
分布式存储
cube会自动为用户挂载用户个人目录,同一个用户在平台任何地方启动的容器目录下/mnt/$username均为用户个人子目录。可以将pvc/hostpath/memory/configmap等挂载成容器目录。同时可以在项目组中配置项目组的默认挂载,进而实现一个项目组共享同一个目录等功能。
在线开发
cube支持在线jupyterlab/theia(vscode)等功能,多用户,多实例,支持cpu/gpu版本。另外支持在线构建docker镜像,免除算法同学docker学习成本
拖拉拽pipeline编排
支持单任务调试、分布式任务日志聚合查看,pipeline调试跟踪,任务运行资源监控,以及定时调度功能(包含补录,忽略,重试,依赖,并发限制,过期淘汰等功能)
功能模板化
为了避免重复开发,对pipeline中的task功能进行模板化开发。平台开发者或用户可自行开发模板镜像,将镜像注册到平台,这样其他用户就可以复用这些功能,开源仓库中已提供部分通用分布式功能模板。
nni超参搜索
除了包含katib超参搜索,也加入了nni的超参搜索,支持更多的算法。
分布式框架
已k8s为核心,支持tf分布式训练、pytorch分布式训练、spark分布式数据处理、ray分布式超参搜索、mpi分布式训练、horovod分布式训练、nni分布式超参搜索、mxnet分布式训练、volcano分布式数据处理、kaldi分布式语音训练等, 以及在此衍生出来的分布式的数据下载,hdfs拉取,cos上传下载,视频采帧,音频抽取,分布式的训练,例如推荐场景的din算法,ComiRec算法,MMoE算法,DeepFM算法,youtube dnn算法,ple模型,ESMM模型,双塔模型,音视频的wenet,containAI等算法的分布式训练。
推理服务
0代码发布推理服务从底层到上层,包含服务网格,serverless,pipeline,http框架,模型计算。
服务网格阶段:主要工作是代理流量的中转和管控,例如分流,镜像,限流,黑白名单之类的。
serverless阶段:主要为服务的智能化运维,例如服务的激活,伸缩容,版本管理,蓝绿发布。
pipeline阶段:主要为请求在各数据处理/推理之间的流动。推理的前后置处理逻辑等。
http/grpc框架:主要为处理客户端的请求,准备推理样本,推理后作出响应。
模型计算:模型在cpu/gpu上对输入样本做前向计算。
实时训练
开源的tmeps支持tf框架实时训练,秒级上线,能应对embedding稀疏大模型推荐场景
以下是项目可参与的方向:
我们列出了适合首次加入 cube-studio 社区的贡献者的问题、适合对项目有足够了解的贡献者的特殊 issue 挑战(参见下面的列表)以及一些社区日常任务。如果你愿意解决,请点击该 issue 并在评论区留言“WeOpen Star”(日常及其他任务无需此操作)。提交 PR 时,请同时将 PR 链接到相应的 issue。
对于成功完成任意任务的贡献者,为记录你的积分以及发放奖励,请自行前往你的积分主页记录。积分记录规则详见:关于积分。
在开始贡献之前:
请加入【开源摘星计划】社群
请添加官方小助手微信(微信号:TCOSOO1)
对平台感兴趣的同学可微信添加luanpeng1234并备注"开源共建"进入微信群
🌟我们对贡献任务进行了分类,以帮助你找到你感兴趣的任务
社区日常任务
文档类
1、补充使用文档 2、补充部署文档 3、补充开发者文档。
编程类
1、前端界面ui优化 2、任务模板开发 3、平台功能
其他类
开源知识分享官:提交对本项目的学习笔记或开源相关笔记(视频/文章皆可)并发布在任意社区/博客/视频平台即可申报积分。
开源部署测试:部署开源版本cube-studio,截图使用界面即可申报积分。
额外奖励:每月将为10名优秀笔记作者奖励QQ周边公仔、QQ音乐/腾讯视频年卡及腾源会T恤等好礼。
贡献帮助
有意向进行开源共建的同学请微信添加luanpeng1234并备注"开源共建"进入微信群.