Cube Studio 是腾讯音乐开源的一站式云原生机器学习平台,旨在为用户提供从数据管理、模型开发、训练到部署的全流程服务。它拥有丰富的功能模块,涵盖了机器学习生命周期的各个环节,旨在帮助用户高效地进行 AI 模型的开发和应用。
强大的基础能力
Cube Studio 提供了强大的基础能力,为用户提供稳定可靠的运行环境。
1. 项目组管理和用户管理: 平台支持项目组划分,可以配置不同项目组用户的权限,并对用户进行管理,包括账号密码、组织架构和角色权限。
2. 网络支持: 平台支持多种网络访问方式,包括非 80 端口、公网/域名访问、反向代理和内网穿透。同时,平台也支持 HTTPS 协议,保障数据传输安全。
3. 计量计费功能: 平台提供资源限制分配和查看功能,可以限制不同项目组、租户、任务、个人用户的资源使用,包括开发资源、训练资源、推理资源等。同时,平台还提供统一的资源监控,可以从不同角度分析模型资源分配和使用情况。
4. SSO 单点登录: 平台支持账号密码注册自动登录,并支持对接公司账号体系,例如 AUTH_OID、AUTH_LDAP、AUTH_REMOTE_USER 等。此外,平台还支持消息推送,并提供登录验证、强密码、远程用户、登录频率限制、密码密文传输等安全措施。
5. 多种算力支持: 平台提供多种规格的资源,支持 CPU、GPU 等不同算力需求。平台支持 T4、V100、A100 等多种卡型,并支持 ARM64 芯片、VGPU 等模式。此外,平台还支持国产 GPU,例如海光 GPU、海飞科 DCU、华为 NPU 等,并支持 RDMA 调度、Mellanox 等技术。
6. 多资源组/多集群: 平台支持划分多资源组,并支持 IPVS 的 k8s 网络模式。平台还支持多 k8s 集群,并支持 containerd 容器运行态。
7. 边缘集群: 平台支持边缘集群模式,用户可以在边缘节点进行开发、训练和推理。
8. Serverless 集群模式: 平台支持腾讯云和阿里云 Serverless 集群模式,可以根据用户需求动态调整资源,降低成本。
9. 数据库存储: 平台支持外部 MySQL 和 PostgreSQL 作为元数据库。
10. 存储盘管理: 平台支持 Web 界面添加存储盘,并支持项目组绑定。用户可以将存储盘挂载到 Notebook、Pipeline、推理服务等组件中,并支持 NFS、CFS、OSS、NAS、COS、GlusterFS、CephFS、S3/MinIO 等多种存储类型。
11. 国际化能力: 平台支持多语言配置,目前支持中英文。
高效的数据管理
Cube Studio 提供了全面的数据管理功能,帮助用户高效地管理和使用数据。
1. 数据地图: 平台提供元数据库表管理功能,可以管理指标、维表等数据信息。
2. 数据计算: 平台支持 SQLlab 交互查询,并支持 MySQL、PostgreSQL 等计算引擎。
3. ETL 编排: 平台支持数据 ETL 任务流编排,可以对接公司数据中台的计算和调度引擎。
4. 数据集管理: 平台允许用户上传样本集,并支持 SDK 进行数据集对接。平台还提供数据集一键探索功能,方便用户快速了解数据信息。
5. 数据标注: 平台提供数据标注功能,支持图、文、音、多模态等多种类型数据的标注。平台还支持自动化标注,可以对接 AIHub 模型市场,并支持目标识别、目标边界识别、目标遮罩识别、图片分类、图片描述、OCR、关键点检测等功能。
便捷的开发环境
Cube Studio 提供了便捷的开发环境,帮助用户快速进行模型开发。
1. 镜像功能: 平台提供镜像仓库、镜像管理和在线构建镜像功能。平台还提供各种模板镜像、服务镜像、Notebook 镜像、GPU 基础环境的构建方法和镜像。
2. Notebook: 平台支持基于开源的 JupyterLab 和 VS Code,提供在线的交互式开发调试工具。平台提供多种可选环境 IDE 和开发示例,支持资源类型选择,并支持大数据版本、机器学习版本、深度学习版本等。
3. SSH Remote: 平台支持 SSH Remote 与 Notebook 对接,方便用户将本地代码提交到平台的训练环境。
4. 自定义 Notebook 镜像: 平台支持用户自定义 Notebook 镜像,方便封装公司自己的 Notebook 环境。
5. 多环境 Notebook: 平台支持多种语言环境,包括 R 语言、Julia 语言、Python 2.7、Python 3.6、Python 3.7、Python 3.8、Python 3.9、Python 3.10 等,以及 Cube Studio 专有环境。
6. TensorBoard 任务可视化: 平台支持 TensorBoard 任务可视化,方便用户实时观察模型训练过程中的参数和指标变化情况。
强大的模型训练功能
Cube Studio 提供了强大的模型训练功能,帮助用户高效地训练模型。
1. 拖拉拽任务流编排调试: 平台提供拖拉拽式交互开发环境,支持用户以拖拽的方式完成业务逻辑的 PIPELINE。平台支持单任务调试,并支持多种资源规格,包括 CPU、GPU 等。
2. 主流功能算子: 平台提供丰富的算子,包括基础算子、数据同步、数据处理工具、特征处理、传统机器学习、分布式深度学习框架、分布式加速框架、模型处理、模型服务化、媒体分布式处理等。
3. 算子自定义: 平台支持用户自定义算子,通过 Web 界面操作将自定义算法代码镜像注册为可被他人复用的 pipeline 算子。
4. 自动学习: 平台面向非 AI 背景的用户提供自动学习服务,用户选择场景、上传训练数据即可自动开始训练和模型部署。
5. 自定义镜像: 平台面向高级 AI 开发者,提供自定义训练作业功能,支持用户自定义执行环境和代码。
6. 自动调参: 平台支持基于单机和分布式自动超参搜索,帮助用户找到最佳模型参数。
7. TensorBoard 作业: 平台支持实时和离线观察模型训练过程中的参数和指标变化情况。
完善的模型管理和推理服务
Cube Studio 提供了完善的模型管理和推理服务,帮助用户高效地部署和管理模型。
1. 内部服务: 平台支持开发或运维工具快捷部署,提供 MySQL-Web、PostgreSQL Web、Mobgo Web、Redis Web、Neo4j、RStudio 等开源工具。
2. 模型管理: 平台提供模型管理功能,支持对模型进行多版本管理,并支持模型发布为推理服务。
3. 推理服务: 平台支持 ML、TF、PyTorch、TensorRT、ONNX 等多种模型类型的 0 代码发布。平台支持 GPU 卡型选择,并支持 VGPU、独占、共享占用等模式。平台还支持 CPU、Mem、GPU 等弹性伸缩,并支持服务优先级、远程模型路径、流量分流、流量复制、Sidecar 配置、泛域名配置、配置文件挂载、启动目录/命令/环境变量/端口/指标/健康检查等功能。
4. 模型一键开发: 平台提供一键转 Notebook 开发功能,可以为当前模型提供符合其所需环境的 Jupyter。
5. 模型一键微调: 平台支持一键转 Pipeline 微调链路,包括示例数据集下载、微调、模型注册、模型部署等功能。
6. 模型一键部署 Web: 平台提供模型一键部署功能,可以提供手机端和 PC 端 Web 界面和 API,并提供 Demo 示例弹窗演示。
7. 模型自动化标注: 平台支持部署对接 LabelStudio 自动化标注。
8. 数据集 SDK: 平台提供 Python SDK,支持用户通过 SDK 搜索、上传、下载数据集,并支持数据集的加解密、解压缩、数据集基础信息查看等功能。
9. Notebook SDK: 平台提供 API,支持用户通过 API 对接 Cube Studio 创建 Notebook,并跳转到指定目录,方便其他算法平台在当前平台进行调试和演示。
10. Pipeline 训练 SDK: 平台提供 Python SDK,支持用户通过 SDK 进行 pipeline 任务流管理、训练任务启动、任务流编排等功能。
11. 推理服务 SDK: 平台提供 Python SDK,支持用户通过 SDK 对接 Cube Studio 进行推理服务的发布和服务升级。
支持大模型
Cube Studio 支持大模型的训练、推理和微调。
1. 大模型分布式多机多卡: 平台支持分布式多机多卡训练,例如 MPI、DeepSpeed、Colossal-AI 等。
2. 支持大模型推理: 平台支持 ChatGLM、ChatGLM2、LaLMA、LLaMA2、通义千问等模型的部署。
3. 支持大模型微调: 平台支持 ChatGLM2、LLaMA2、BaiChuan2 等模型的 Lora 微调。
4. 智能对话: 平台提供支持多场景对话的功能,支持提示词构建、推理接口配置、LLM 问答等功能。
5. 私有知识库: 平台支持私有知识库配置和召回,并支持召回列表模式、AIGC 模式、微信公众号服务号对接、企业微信群聊机器人对接、钉钉群聊机器人对接等功能。
完善的监控和推送功能
Cube Studio 提供了完善的监控和推送功能,帮助用户实时了解平台运行状态。
1. 整体资源监控: 平台可以监控所有集群、所有计算机器的使用情况,包括机器的所属集群、所属资源组、机器 IP、CPU/GPU 类型和卡型、当前 CPU/内存/GPU 的使用率等。平台还可以监控所有集群、所有计算 Pod 的使用情况,包括 Pod 所属集群、所属资源组、所属命名空间、调度 IP、Pod 名称、启动用户、CPU、GPU、内存的申请使用率等。
2. 监控体系: 平台提供丰富的监控指标,可以监控所有机器的 GPU 资源使用情况、所有机器的内存/CPU/网络 IO/磁盘 IO 的负载情况、所有 Pod 的内存/CPU/GPU/网络 IO 负载情况、所有推理服务的内存/CPU/GPU/QPS/吞吐/VGPU 负载情况等。
3. 推送功能: 平台开放推送接口,用户可以自定义推送信息给企业 OA 系统。
AIHub 模型市场
Cube Studio 提供了 AIHub 模型市场,用户可以方便地获取和使用预训练模型。
1. 预训练模型: 平台提供 400+ 预训练模型,覆盖视觉、听觉、NLP、多模态等领域。平台提供预训练模型的模型加载和推理能力,用户可以一键部署服务,并提供 API。
2. 模型市场: 平台对接 AIHub 应用,进行卡片式展示。
3. 模型一键开发: 平台提供一键转 Notebook 开发功能,可以为当前模型提供符合其所需环境的 Jupyter。
4. 模型一键微调: 平台支持一键转 Pipeline 微调链路,包括示例数据集下载、微调、模型注册、模型部署等功能。
5. 模型一键部署 Web: 平台提供模型一键部署功能,可以提供手机端和 PC 端 Web 界面和 API,并提供 Demo 示例弹窗演示。
6. 模型自动化标注: 平台支持部署对接 LabelStudio 自动化标注。
7. 数据集 SDK: 平台提供 Python SDK,支持用户通过 SDK 搜索、上传、下载数据集,并支持数据集的加解密、解压缩、数据集基础信息查看等功能。
8. Notebook SDK: 平台提供 API,支持用户通过 API 对接 Cube Studio 创建 Notebook,并跳转到指定目录,方便其他算法平台在当前平台进行调试和演示。
9. Pipeline 训练 SDK: 平台提供 Python SDK,支持用户通过 SDK 进行 pipeline 任务流管理、训练任务启动、任务流编排等功能。
10. 推理服务 SDK: 平台提供 Python SDK,支持用户通过 SDK 对接 Cube Studio 进行推理服务的发布和服务升级。
多种部署方式
Cube Studio 提供了多种部署方式,满足不同用户的需求。
1. 私有化部署: 适用于对数据安全要求高、预算充足、自己有开发能力的用户。
2. 边缘集群部署: 适用于算力分散、多个子网环境的场景,或边缘设备场景。
3. Serverless 集群: 适用于成本有限、按需申请算力的场景。
总结
Cube Studio 是一个功能强大、易于使用的一站式云原生机器学习平台,可以帮助用户高效地进行 AI 模型的开发和应用。平台提供了丰富的功能模块,涵盖了机器学习生命周期的各个环节,并支持多种部署方式,满足不同用户的需求。
参考文献:
- Cube Studio GitHub 仓库
- Cube Studio Wiki
版权归原作者 步子哥 所有, 如有侵权,请联系我们删除。