English | 简体中文
https://github.com/tencentmusic/cube-studio/wiki
cube studio是 腾讯音乐 开源的一站式云原生机器学习平台,目前主要包含
模块分组 | 功能模块 | 功能清单 |
---|---|---|
基础能力 | 项目组管理 | |
基础能力 | 网络 | |
基础能力 | 用户管理 角色管理/权限管理 | |
基础能力 | 计量计费功能 | |
基础能力 | SSO单点登录 | |
基础能力 | 支持多种算力 | |
基础能力 | 多资源组/多集群 | |
基础能力 | 边缘集群 | |
基础能力 | serverless集群模式 | |
基础能力 | 数据库存储 | |
基础能力 | 机器资源管理 | |
基础能力 | 存储盘管理 | |
基础能力 | 国际化能力 | |
数据管理 | 数据地图 | |
数据管理 | 数据计算 | |
数据管理 | ETL编排 | |
数据管理 | 数据集管理 | |
数据管理 | 数据标注 | |
开发环境 | 镜像功能 | |
开发环境 | notebook | |
模型训练 | 拖拉拽任务流编排调试 | |
模型训练 | 主流功能算子 | 基础算子: |
模型训练 | 算子自定义 | 支持算子自定义,通过web界面操作将自定义算法代码镜像,注册为可被他人复用的pipeline算子 |
模型训练 | 自动学习 | 面向非AI背景的用户提供自动学习服务,用户选择某一个场景之后,上传训练数据即可自动开始训练和模型部署,支持示例automl任务流导入导出 |
模型训练 | 自定义镜像 | 面向高级 AI 开发者,提供自定义训练作业(执行环境 + 代码)功能; |
模型训练 | 自动调参 | 基于单机/分布式自动超参搜索 |
模型训练 | TensorBoard作业 | 实时/离线观察模型训练过程中的参数和指标变化情况 |
模型管理 推理服务 | 内部服务 | 支持开发或运维工具快捷部署,提供mysql-web,postgresql web,mobgo web, redis web,neo4j,rstudio等开源工具 |
模型管理 推理服务 | 模型管理 | 模型管理用于对模型多版本管理,支持模型发布为推理服务 |
模型管理 推理服务 | 推理服务 | |
监控 | 整体资源 | |
监控 | 监控体系 | |
模型应用市场 | 模型应用管理方案 | |
模型应用市场 | 模型应用管理方案 | |
模型应用市场 | 模型应用管理方案 | |
模型应用市场 | 预训练模型 | |
模型应用市场 | 模型市场 | |
模型应用市场 | 模型一键开发 | |
模型应用市场 | 模型一键微调 | |
模型应用市场 | 模型一键部署web | |
模型应用市场 | 模型自动化标注 | |
模型应用市场 | 数据集sdk | |
模型应用市场 | notebook sdk | |
模型应用市场 | pipeline训练sdk | |
模型应用市场 | 推理服务sdk | |
大模型 | 大模型分布式多机多卡 | |
大模型 | 支持大模型推理aihub形式 | |
大模型 | 支持大模型推理openai接口 | |
大模型 | 支持大模型微调 | |
大模型 | 智能对话 | |
大模型 | 私有知识库 | |
大模型 | 私有知识库 | |
大模型 | 私有知识库 | |
大模型 | 私有知识库 | |
大模型 | 私有知识库 | |
大模型 | 私有知识库 |
提示:
模块 | 模板 | 类型 | 文档地址 |
---|---|---|---|
数据导入导出 | datax | 单机 | job-template/job/datax/README.md |
数据导入导出 | 数据集导入 | 单机 | job-template/job/dataset/README.md |
数据导入导出 | 模型导入 | 单机 | job-template/job/model_download/README.md |
数据预处理 | data-process | 单机 | job-template/job/data-process/README.md |
数据处理工具 | hadoop | 单机 | job-template/job/hadoop/README.md |
数据处理工具 | ray | 分布式 | job-template/job/ray/README.md |
数据处理工具 | volcanojob | 分布式 | job-template/job/volcano/README.md |
特征处理 | feature-process | 单机 | job-template/job/feature-process/README.md |
机器学习框架 | ray-sklearn | 分布式 | job-template/job/ray_sklearn/README.md |
机器学习算法 | random_forest | 单机 | job-template/job/random_forest/README.md |
机器学习算法 | lr | 单机 | job-template/job/lr/README.md |
机器学习算法 | lightgbm | 单机 | job-template/job/lightgbm/README.md |
机器学习算法 | knn | 单机 | job-template/job/knn/README.md |
机器学习算法 | kmeans | 单机 | job-template/job/kmeans/README.md |
机器学习算法 | nni | 单机 | job-template/job/hyperparam-search-nni/README.md |
机器学习算法 | xgb | 单机 | job-template/job/xgb/README.md |
机器学习算法 | gbdt | 单机 | job-template/job/gbdt/README.md |
机器学习算法 | decision-tree | 单机 | job-template/job/decision_tree/README.md |
机器学习算法 | bayesian | 单机 | job-template/job/bayesian/README.md |
机器学习算法 | adaboost | 单机 | job-template/job/adaboost/README.md |
深度学习 | tfjob | 分布式 | job-template/job/tf/README.md |
深度学习 | pytorchjob | 分布式 | job-template/job/pytorch/README.md |
深度学习 | paddle | 分布式 | job-template/job/paddle/README.md |
深度学习 | mxnet | 分布式 | job-template/job/mxnet/README.md |
深度学习 | mindspore | 分布式 | job-template/job/mindspore/README.md |
深度学习 | horovod | 分布式 | job-template/job/horovod/README.md |
深度学习 | mpi | 分布式 | job-template/job/mpi/README.md |
深度学习 | colossalai | 分布式 | job-template/job/colossalai/README.md |
深度学习 | deepspeed | 分布式 | job-template/job/deepspeed/README.md |
深度学习 | megatron | 分布式 | job-template/job/megatron/README.md |
模型处理 | model-evaluation | 单机 | job-template/job/model_evaluation/README.md |
模型服务化 | model-convert | 单机 | job-template/job/model_convert/README.md |
模型服务化 | model-register | 单机 | job-template/job/model_register/README.md |
模型服务化 | deploy-service | 单机 | job-template/job/deploy-service/README.md |
模型服务化 | model-offline-predict | 分布式 | job-template/job/model_offline_predict/README.md |
多媒体类 | media-download | 分布式 | job-template/job/video-audio/README.md |
多媒体类 | video-img | 分布式 | job-template/job/video-audio/README.md |
多媒体类 | video-audio | 分布式 | job-template/job/video-audio/README.md |
大模型 | llama2 | 单机多卡 | job-template/job/llama2/README.md |
大模型 | chatglm2 | 单机多卡 | job-template/job/chatglm2/README.md |
大模型 | chatglm3 | 单机多卡 | job-template/job/chatglm3/README.md |
大模型 | chatglm4 | 单机多卡 | job-template/job/chatglm4/README.md |
大模型 | baichuan2 | 单机多卡 | job-template/job/baichuan2/README.md |
大模型 | qwen2 | 单机多卡 | job-template/job/qwen2/README.md |
大模型 | llama-factory | 单机多卡 | job-template/job/llama_factory/README.md |
完整的平台包含
算力:
存储:
用户权限:
cube支持多集群调度,可同时管控多个训练或推理集群。在单个集群内,不仅能做到一个项目组内对在线开发、训练、推理的隔离,还可以做到一个k8s集群下多个项目组算力的隔离。另外在不同项目组下的算力间具有动态均衡的能力,能够在多项目间共享公共算力池和私有化算力池,做到成本最低化。
cube会自动为用户挂载用户的个人目录,同一个用户在平台任何地方启动的容器,其用户个人子目录均为/mnt/$username。可以将pvc/hostpath/memory/configmap等挂载成容器目录。同时可以在项目组中配置项目组的默认挂载,进而实现一个项目组共享同一个目录等功能。
1、Ml全流程
数据导入,数据预处理,超惨搜索,模型训练,模型评估,模型压缩,模型注册,服务上线,ml算法全流程
2、灵活开放
支持单任务调试、分布式任务日志聚合查看,pipeline调试跟踪,任务运行资源监控,以及定时调度功能(包含补录,忽略,重试,依赖,并发限制,过期淘汰等功能)
1、训练框架支持分布式(协议和策略)
2、代码识别分布式角色(有状态)
3、控制器部署分布式训练集群(operator)
4、配置分布式训练集群的部署(CRD)
以k8s为核心,
1、支持tf分布式训练、pytorch分布式训练、spark分布式数据处理、ray分布式超参搜索、mpi分布式训练、horovod分布式训练、nni分布式超参搜索、mxnet分布式训练、volcano分布式数据处理、kaldi分布式语音训练等,
2、 以及在此衍生出来的分布式的数据下载,hdfs拉取,cos上传下载,视频采帧,音频抽取,分布式的训练,例如推荐场景的din算法,ComiRec算法,MMoE算法,DeepFM算法,youtube dnn算法,ple模型,ESMM模型,双塔模型,音视频的wenet,containAI等算法的分布式训练。
为了避免重复开发,对pipeline中的task功能进行模板化开发。平台开发者或用户可自行开发模板镜像,将镜像注册到平台,这样其他用户就可以复用这些功能。平台自带模板在job-template目录下
界面化呈现训练各组数据,通过图形界面进行直观呈现。 减少以往开发调参过程的枯燥感,让整个调参过程更加生动具有趣味性,完全无需丰富经验就能实现更精准的参数控制调节。
# 上报当前迭代目标值
nni.report_intermediate_result(test_acc)
# 上报最终目标值
nni.report_final_result(test_acc)
# 接收超参数为输入参数
parser.add_argument('--batch_size', type=int)
0代码发布推理服务从底层到上层,包含服务网格,serverless,pipeline,http框架,模型计算。
服务网格阶段:主要工作是代理流量的中转和管控,例如分流,镜像,限流,黑白名单之类的。
serverless阶段:主要为服务的智能化运维,例如服务的激活,伸缩容,版本管理,蓝绿发布。
pipeline阶段:主要为请求在各数据处理/推理之间的流动。推理的前后置处理逻辑等。
http/grpc框架:主要为处理客户端的请求,准备推理样本,推理后作出响应。
模型计算:模型在cpu/gpu上对输入样本做前向计算。
主要功能:
监控:cube-studio集成prometheus生态,可以监控包括主机,进程,服务流量,gpu等相关负载,并配套grafana进行可视化
推送:cube-studio开放推送接口,可自定义推送给企业oa系统
rdma插件部署后,k8s机器可用资源
capacity:
cpu: '128'
memory: 1056469320Ki
nvidia.com/gpu: '8'
rdma/hca: '500'
代码分布式训练中使用IB设备
export NCCL_IB_HCA=mlx5
export MLP_WORKER_GPU=$GPU_NUM
export MLP_WORKER_NUM=$WORLD_SIZE
export MLP_ROLE_INDEX=$RANK
export MLP_WORKER_0_HOST=$MASTER_ADDR
export MLP_WORKER_0_PORT=$MASTER_PORT
为了加速AI算法平台的使用,cube-studio支持对接公司原有数据中台,包括数据计算引擎sqllab,元数据管理,指标管理,维表管理,数据ETL,数据集管理
针对企业需求,根据不同场景对计算实时性的不同需求,可以提供三种建设模式
模式一:私有化部署——对数据安全要求高、预算充足、自己有开发能力
模式二:边缘集群部署——算力分散,多个子网环境的场景,或边缘设备场景
模式三:serverless集群——成本有限,按需申请算力的场景
通过边缘集群的形式,在中心节点部署平台,并将边缘节点加入调度,每个私有网用户,通过项目组,将notebook,pipeline,service部署在边缘节点
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。