cube-studio 数据集管理
收藏github2024-07-02 更新2024-07-03 收录
下载链接:
https://github.com/data-infra/cube-studio
下载链接
链接失效反馈官方服务:
资源简介:
cube-studio 提供数据集管理功能,允许用户随时上传样本集(图片、音频、文本等),支持SDK进行数据集对接,并支持数据集一键探索功能。
Cube-studio provides dataset management functionalities, allowing users to upload various sample datasets (including images, audio, text, etc.) at any time. It supports SDK-based dataset integration and offers one-click dataset exploration features.
创建时间:
2024-07-02
原始信息汇总
Cube Studio 数据集概述
功能清单
Cube Studio 是一个开源的一站式云原生机器学习平台,主要包含以下功能模块:
基础能力
-
项目组管理
- AI平台需要通过项目划分
- 支持配置相应项目组用户的权限
- 任务/服务的挂载,资源组,集群,服务代理
- 项目组内角色应用
-
网络
- 支持非80端口
- 支持公网/域名
- 支持反向代理和内网穿透方式访问
- 支持https
-
用户管理 角色管理/权限管理
- 管理平台用户的基本信息,组织架构,支持账号密码,rbac权限体系
- 增加修改和删除,清理等操作的历史记录
-
计量计费功能
- 支持平台资源限制的分配和查看;项目组资源限制,租户资源限制、任务资源限制,项目组下个人的资源限制,包括开发资源,训练资源、推理资源等
- 提供统一的开发、训练、推理服务资源监控,从租户、项目、任务角度分析模型资源分配及使用情况
- 支持自定义计费模式,通过计量结果自定义获取计费值
-
SSO单点登录
- 账号密码注册自动登录
- 支持对接公司账号体系AUTH_OID/AUTH_LDAP/AUTH_REMOTE_USER等登录注册方式
- 支持消息推送
- 增加登录验证,强密码,远程用户,登录频率限制,密码密文传输等
-
支持多种算力
- 提供多种规格的资源支持不同的使用场景,cpu/gpu等 支持T4/V100/A100等多种卡型
- 支持arm64芯片
- 支持vgpu等模式
- 支持国产gpu,支持调度海光dcu,华为npu,寒武纪mlu,天数智芯GPU
- 支持rdma调度,mellanox
- 支持gpu禁用模型,共享模式,独占模式
-
多资源组/多集群
- 支持划分多资源组
- 支持ipvs的k8s网络模式
- 支持多k8s集群
- 支持containerd容器运行态
-
边缘集群
- 支持边缘集群模式,支持边缘节点开发,训练,推理
-
serverless集群模式
- 支持腾讯云serverless集群模式,(notebook,pipeline,推理服务模块支持)
- 阿里云serverless集群模式(notebook,pipeline,推理服务模块支持)
-
数据库存储
- 支持外部mysql作为元数据库
- 支持外部postgres作为元数据库
-
机器资源管理
- web界面控制机器调度类型,所属资源组,是否启动rdma,是否启动vgpu,可用任务场景等
-
存储盘管理
- 支持web界面添加存储盘,支持项目组绑定,notebook pipeline 推理服务,直接在pod中挂载外部分布式存储
- 支持nfs,cfs,oss,nas,cos,glusterfs,cephfs,s3/minio
-
国际化能力
- mlops支持配置多语言配置,目前支持中英文
数据管理
-
数据地图
- 元数据库表管理,指标,维表
-
数据计算
- sqllab交互查询,支持mysql,postgresql,clickhouse,hive,presto等计算引擎
-
ETL编排
- 数据ETL任务流编排,任务管理等对接公司数据中台相应计算/调度引擎
-
数据集管理
- 允许用户随时上传样本集(图片、音频、文本等)
- 支持sdk进行数据集对接
- 支持数据集一键探索功能
-
数据标注
- 支持标注平台,图/文/音/多模态各类型标注能力
- 对接一站式机器学习平台,支持自动化标注(需购买aihub)
- 支持目标识别,目标边界识别,目标遮罩识别,图片分类,图片描述,ocr,关键点检测
- 支持大模型自动化标注:文本分类,文本翻译,命名实体识别,阅读理解,问答,摘要提取
开发环境
-
镜像功能
- 镜像仓库/镜像管理/在线构建镜像
- 支持dockerfile在线构建
- 支持同一仓库多个秘钥配置
-
notebook
- 支持基于开源的Jupyterlab/vscode,提供在线的交互式开发调试工具
- 提供多种可选环境ide和开发示例,支持资源类型选择 支持大数据版本,机器学习版本,深度学习版本
- 大数据版本支持用户信息,hdfs客户端,hive客户端和spark客户端
- 支持ssh remote与notebook对接远程开发,方便快速将本地代码提交到平台的训练环境
- ssh隧道代理,单端口开放
- 支持matlab,Rstudio等在线ide
- 支持gpu,cpu,内存,监控,支持git交互
- 支持自定义notebook镜像,便于封装公司自己的notebook
- 多环境notebook,支持R语言/julia语言/python2.7/python3.6/python3.7/python3.8/python3.9/python3.10环境和cube-studio专有环境
- 支持tensorboard任务可视化
- notebook支持环境镜像保存
- jupyter支持密码保护
- notebook支持整卡占用,虚拟卡占用,gpu共享占用
- 支持notebook启动自动初始化环境
模型训练
-
拖拉拽任务流编排调试
- 提供拖拽式交互开发环境,支持开发者以拖拽的方式完成业务逻辑的PIPLINE
- 支持单任务调试
- 训练支持多种资源规格(CPU、GPU等),支持卡型的选择,超时重试等
- 任务支持独占和共享占用gpu
- 分布式任务模板支持单任务调试用户镜像而非模板镜像
- 支持rdma资源占用
- 支持gpu不同厂商,不同卡型的占用
- 分布式任务模板支持gpu型号透传,rdma资源透传,拉取秘钥透传
- pipeline调试,支持定时调度,补录,并发限制,超时,实例依赖等
- 任务管理
- workflow实例管理
- 资源监控
- 支持任务输入输出
- 任务流全局变量
- 文本/图片/echart结果可视化
- 支持workflow暂停和恢复
- 支持任务流优先级
- 支持单任务和pipeline运行中任务监听端口提供运行中服务监听能力
- 任务流支持任务推荐
- 定时调度支持最大保留实例数
- pipeline支持任务流优先级
-
主流功能算子
- 基础算子:自定义镜像,逻辑节点,python
- 数据同步:数据集导入(支持huggingface数据集),datax,datax-import
- 模型导入(支持huggingface模型)
- 数据处理工具:hadoop/spark作业提交,volcanojob/ray分布式数据处理,sparkjob
- hadoop支持hadfs,hive命令,spark命令
- 特征处理:数据合并,包含union、join操作,去除重复样本,数据变换,包括boxcox转换、二值化、数据类型转换、dct变换、根据函数转换、ma移动平均、多项式展开,非数值型变量处理,包括hash、根据统计量转换、one-hot,异常值检测,获取变量的统计量,去除值过于单一的变量,删除缺失率过高的值,填充缺失值,数据离散化,等宽、等频、聚类离散化,标准化、正则化、归一化,有最大绝对值归一化、最大最小归一化、z_score标准化,索引处理,包含增加索引、索引转列、列索引重命名,排序,执行sql,hadamard乘积,特征组合,用于衍生特征,降维,包括pca降维和卡方降维,特征重要性,通过随机森林、逻辑回归、xgboost等模型计算特征重要性,可计算特征的iv值、互信息值、方差等,特征向量间的相关性计算,数据拆分,包括列内拆分、列间拆分、行间拆分、svd奇异值分解,采样,包括随机采样、分层采样、过采样、欠采样
- 传统机器学习:ray-sklearn分布式,xgb单机训练推理
- 传统机器学习算法:ar/arima时间序列算法/random-forest/random-forest-regression/lr/lightgbm/knn/kmean/gbdt/decision-tree/pca/lda/catboost/xgb/超参搜索
- 分布式深度学习框架:tf/pytorch/mxnet/horovod/paddlejob/mindspore分布式训练
- 分布式加速框架:mpi/colossalai/deepspeed/horovod/megatron
- 模型处理:模型评估,模型格式转换
- 模型服务化:模型注册,模型离线推理,模型部署
- 媒体分布式处理:分布式媒体下载,视频提取图片,视频提取图片
-
算子自定义
- 支持算子自定义,通过web界面操作将自定义算法代码镜像,注册为可被他人复用的pipeline算子
-
自动学习
- 面向非AI背景的用户提供自动学习服务,用户选择某一个场景之后,上传训练数据即可自动开始训练和模型部署
- 支持示例automl任务流导入导出
-
自定义镜像
- 面向高级 AI 开发者,提供自定义训练作业(执行环境 + 代码)功能
-
自动调参
- 基于单机/分布式自动超参搜索
-
TensorBoard作业
- 实时/离线观察模型训练过程中的参数和指标变化情况
模型管理 推理服务
-
内部服务
- 支持开发或运维工具快捷部署,提供mysql-web,postgresql web,mobgo web, redis web,neo4j,rstudio等开源工具
-
模型管理
- 模型管理用于对模型多版本管理,支持模型发布为推理服务
-
推理服务
- 支持ml/tf/pytorch/tentortrt/onnx常规模型的多版本的0代码发布
- 支持gpu卡型选择,支持vgpu,独占,共享占用
- 支持cpu/mem/gpu等弹性伸缩,支持服务优先级
- 支持远程模型路径,支持流量分流,流量复制,sidecar配置,支持泛域名配置,支持配置文件挂载,启动目录/命令/环境变量/端口/指标/健康检查等 支持调试环境/测试环境/生产环境 支持域名/ip代理多种形式
- 支持服务负载指标监控
- 支持多版本服务滚动升级和回滚
- 支持单pod滚动发布
- 支持禁用k8s service负载均衡器
- 支持大模型分布式推理
- 提供ml/tf/pytorch/tentortrt/onnx常规模型推理服务镜像
- 支持用户自定义模型推理镜像
- 支持定时伸缩容
- 支持配置服务的jwt认证功能
监控
-
整体资源
- 所有集群,所有计算机器的使用情况,包括机器的所属集群,所属资源组,机器ip,cpu/gpu类型和卡型,当前cpu/内存/gpu的使用率
- 所有集群,所有计算pod的使用情况,包括pod所属集群,所属资源组,所属命名空间,调度ip,pod名称,启动用户,cpu,gpu,内存的申请使用率
- 整体资源页面,支持管理员批量删除
-
监控体系
- 所有机器的gpu资源的使用情况
- 所有机器的内存/cpu/网络io/磁盘io的负载情况
- 所有pod的内存/cpu/gpu/网络io负载情况
- 所有推理服务的内存/cpu/gpu/qps/吞吐/vgpu负载情况
- 支持ib流量监控
模型应用市场
- 模型应用管理方案
- 提供cubestudio sdk,提供模型开发规范和使用规范
- 提供web端模型应用体验,支持同步/异步推理
- 提供开发多个python cuda版本的基础镜像
- 提供视觉,听觉,nlp,多模态等400+预训练模型,提供预训练模型的模型加载和推理能力,可直接一键部署服务,并提供api
- aihub应用对接cube-studio平台进行卡片式展示
- 提供一键转notebook开发,提供符合当前模型所需环境的jupyter
- 支持一键转pipeline微调链路,包括示例数据集下载,微调,模型注册,模型部署,支持微调后模型部署
- 提供模型一键部署提供手机端和pc端web界面和api,和demo示例弹窗演示
- 支持部署对接labelstudio自动化标注
- 支持通过python sdk搜索上传下载数据集,支持数据集的加解密/解压缩/数据集基础信息查看等
- 支持通过api,对接cube-studio创建notebook,并跳转到指定目录,用于其他算法平台在当前平台的调试和演示
- 支持AI开发主流语言 Python,提供Python SDK支持用户通过SDK来进行pipeline任务流管理和训练任务启动以及任务流编排
- 提供python sdk,对接cube tudio进行推理服务的发布,服务升级
大模型
-
大模型分布式多机多卡
- 支持分布式多机多卡训练,例如mpi/deepspeed/Colossal-AI
-
支持大模型推理aihub形式
- 支持openjourney/gpt3/yuan/sd-v1.5/sd-v2/sd-v3/Stable Cascade/Stable Diffusion XL/chatglm/chatglm2/chatglm3/chatglm4/llama/llama2/llama3/chinese-llama2/chinese-alpaca/llama2-chinese/qwen/baichuan2/qwen2/gemma/yi/aquilachat2部署
-
支持大模型推理openai接口
- 支持fastchat+vllm大模型推理,支持推理加速+流式接口
-
支持大模型微调
- 支持chatglm2/chatglm3/chatglm4/llama2-chinese/llama3-chinese/baichuan2/qwen2 lora微调,支持llama-factory 100+llm微调
-
智能对话
- 提供支持多场景对话,支持提示词构建,推理接口配置,llm问答,支持问询中模型切换,清理,历史上下文
-
私有知识库
- 私有知识库配置,私有知识库召回
- 支持召回列表模式
- 支持aigc模式
- 支持微信公众号服务号对接
- 支持企业微信群聊机器人对接
- 支持钉钉群聊机器人对接
支持模板
-
数据导入导出
- datax(单机)
- 数据集导入(单机)
- 模型导入(单机)
-
数据预处理
- data-process(单机)
-
数据处理工具
- hadoop(单机)
- ray(分布式)
- volcanojob(分布式)
-
特征处理
- feature-process(单机)
-
机器学习框架
- ray-sklearn(分布式)
-
机器学习算法
- random_forest(单机)
- lr(单机)
- lightgbm(单机)
- knn(单机)
- kmeans(单机)
- nni(单机)
- xgb(单机)
- gbdt(单机)
- decision-tree(单机)
- bayesian(单机)
- adaboost(单机)
-
深度学习
- tfjob(分布式)
- pytorchjob(分布式)
- paddle(分布式)
- mxnet(分布式)
- mindspore(分布式)
- horovod(分布式)
- mpi(分布式)
- colossalai(分布式)
- deepspeed(分布式)
- megatron(分布式)
-
模型处理
- model-evaluation(单机)
-
模型服务化
- model-convert(单机)
- model-register(单机)
- deploy-service(单机)
- model-offline-predict(分布式)
-
多媒体类
- media-download(分布式)
- video-img(分布式)
- video-audio(分布式)
-
大模型
- llama2(单机多卡)
搜集汇总
数据集介绍

构建方式
cube-studio数据集管理平台通过整合多种资源和技术,构建了一个全面且高效的云原生机器学习环境。该平台采用模块化设计,涵盖了从数据管理、模型训练到推理服务的全流程。其构建方式包括标准化机器资源、部署分布式存储和Kubernetes集群、集成监控体系,以及提供基础能力和平台Web部分。通过这些组件的协同工作,cube-studio实现了对多种算力和存储资源的统一管理,确保了平台的高效运行和灵活扩展。
特点
cube-studio数据集管理平台具有多方面的显著特点。首先,它支持多资源组和多集群的管理,能够灵活调度不同类型的计算资源,包括CPU、GPU和NPU等。其次,平台提供了丰富的开发环境和工具,如JupyterLab、VSCode和Matlab,支持在线交互式开发和调试。此外,cube-studio还集成了自动学习和超参搜索功能,简化了模型训练过程。最后,平台支持多种存储解决方案,包括外部存储挂载和分布式存储,确保数据的高效管理和访问。
使用方法
使用cube-studio数据集管理平台,用户首先需要通过Web界面进行项目组和资源的配置,确保权限和资源的合理分配。随后,用户可以选择合适的开发环境,如JupyterLab或VSCode,进行数据处理和模型开发。平台支持拖拽式任务流编排,用户可以通过简单的操作完成复杂的机器学习任务。此外,cube-studio提供了丰富的SDK和API,支持用户通过编程方式管理和调度任务。通过这些功能,用户可以高效地进行数据集管理、模型训练和推理服务部署。
背景与挑战
背景概述
cube-studio数据集管理是由腾讯音乐娱乐集团开发的一站式云原生机器学习平台。该平台自创建以来,致力于为AI开发者提供一个集数据管理、模型训练、推理服务于一体的综合性解决方案。其核心研究问题是如何在云原生环境下高效地整合和管理多源异构数据,以及如何通过自动化工具提升模型训练和推理的效率。cube-studio的推出,极大地推动了机器学习领域的技术进步,尤其是在数据集管理和模型训练自动化方面,为相关领域的研究者和开发者提供了强有力的支持。
当前挑战
cube-studio数据集管理在构建过程中面临多项挑战。首先,如何有效整合和管理多源异构数据,确保数据的一致性和可用性,是一个复杂的问题。其次,平台需要支持多种算力和存储资源,这对资源调度和管理提出了高要求。此外,随着模型复杂度的增加,如何优化模型训练和推理的效率,减少资源消耗,也是一大挑战。最后,平台还需应对多用户、多项目的并发访问,确保系统的稳定性和安全性。这些挑战不仅考验着技术实现的能力,也推动了平台在功能和性能上的不断优化。
常用场景
经典使用场景
cube-studio数据集管理平台以其强大的功能和灵活性,成为机器学习和数据科学领域的经典工具。其经典使用场景包括数据集的创建、管理和共享。用户可以通过平台上传各种类型的数据集,如图片、音频和文本,并进行标注和预处理。此外,cube-studio支持数据集的版本控制和权限管理,确保数据的安全性和可追溯性。通过SDK接口,用户可以轻松地将数据集集成到自己的机器学习工作流中,实现数据的高效利用和共享。
实际应用
在实际应用中,cube-studio数据集管理平台广泛应用于企业和研究机构的机器学习项目。企业可以利用平台进行大规模数据集的管理和标注,支持从数据准备到模型训练的全流程。研究机构则可以通过平台共享和协作处理数据集,加速科研进程。此外,cube-studio还支持与多种机器学习框架和工具的集成,如TensorFlow和PyTorch,使得数据集可以无缝对接各种机器学习任务,提升了数据处理的灵活性和效率。
衍生相关工作
cube-studio数据集管理平台的推出,催生了多个相关领域的经典工作。首先,平台的数据标注和预处理功能,推动了自动化数据标注技术的发展,如基于大模型的自动化标注工具。其次,cube-studio的版本控制和权限管理功能,启发了数据管理系统的进一步研究,特别是在多用户协作和数据安全方面的应用。此外,平台的多语言支持和国际化能力,促进了跨文化数据集的创建和共享,推动了全球范围内的数据科学合作。
以上内容由遇见数据集搜集并总结生成



