项目计划汇报 - 旨在提升 AI 研发效率与资源利用率
基于浪潮AI station平台,解决 AI 软硬件交付一体化问题,在模型开发、训练、部署过程中遇到的效率瓶颈和资源管理难题,经彭总提议启动"AI Studio"项目。本项目旨在基于成熟的开源AI studio平台进行二次开发,快速构建一个符合我司特定需求的、统一的 AI 工作平台。
核心目标:
开发策略:
功能优先级: GPU 调度 > 任务编排 > Jupyter > 其他
基于成熟开源项目进行二次开发,是构建我们 AI Studio 平台最高效、风险可控的路径。
我对比了几个主流的开源 AI station 平台,以选择最适合二次开发的基石:
评估维度 | Kubeflow | MLRun (Iguazio) | Flyte (Lyft/Union AI) | "AI Studio"定位 (基于 Kubeflow 定制) |
---|---|---|---|---|
核心功能覆盖 (Jupyter, 编排, GPU, 账号, 资源, NFS/IB*) |
非常全面,组件化提供几乎所有需求功能。*IB需K8s配置 | 较全面,强项在 Serverless Function 和 Feature Store 集成。*IB需K8s配置 | 任务编排是强项,类型安全,可复现性好。其他功能需集成。*IB需K8s配置 | 继承 Kubeflow 全面功能,并针对性强化 GPU 调度可视化、资源报表和易用性。 |
社区活跃度 | 非常高,Google 发起,CNCF 孵化项目,贡献者众多。 | 中等,主要由 Iguazio 推动,社区在增长。 | 高,CNCF 毕业项目,社区活跃,文档优秀。 | 受益于 Kubeflow 庞大社区,降低技术支持风险。 |
部署复杂性 | 高,组件多,依赖复杂,有多种发行版。 | 中等,相对 Kubeflow 可能稍简单,但仍需 K8s 专业知识。 | 中等,核心部署相对清晰,但整体生态集成也需投入。 | 初期复杂性同 Kubeflow,但通过定制简化常用操作入口。 |
扩展性/定制化 | 高,微服务架构,API 丰富,适合二次开发和定制。 | 高,设计考虑扩展性,提供 SDK 和 API。 | 高,插件化设计,易于扩展后端和添加新类型。 | 利用 Kubeflow 的高扩展性,按需定制 UI、调度策略和报表。 |
结论: Kubeflow 在功能全面性、社区支持和扩展性方面综合最佳,虽然部署复杂,但其 K8s 原生特性、对我们所需功能的广泛覆盖使其成为二次开发的最优选择。AI Studio 将在其基础上进行精简和定制,扬长避短。
以下是基于 Kubeflow 进行二次开发的详细计划,已考虑功能优先级和 AI 工具辅助:
配置项 | 要求 |
---|---|
推荐操作系统 |
Ubuntu LTS (22.04, 20.04) 优势:
|
Docker 版本 | ≥ 19.03 |
Kubernetes 版本 | 1.24 ~ 1.28 |
kubectl 版本 | 1.24 |
存储要求 | cfs/ceph 需挂载到每台机器的 /data/k8s/ |
单机磁盘容量 | ≥ 300G(仅做镜像容器的存储,容量要求不大) |
控制端配置 | CPU ≥ 16核,内存 ≥ 32G |
任务端配置 | CPU ≥ 32核,内存 ≥ 64G |
网络要求 | 需要科学上网 ssh端口需开放给:113.200.54.58/120.192.215.66 |
周次 | 核心任务 | 主要产出/目标 | 优先级/涉及功能 |
---|---|---|---|
W1-W2 | 需求确认、环境准备 & Kubeflow 基础部署 | 明确需求目标、K8s 集群就绪 (GPU/NFS/IB 验证), 选用稳定版 Kubeflow 核心组件安装成功,基础访问验证。 | 基础设施 |
W3-W4 | 核心组件熟悉 & 认证集成 | 深入理解 Kubeflow Notebooks, Pipelines, RBAC (权限)。 | 账号管理, Jupyter, 任务编排 |
W5-W6 | GPU 调度验证与定制调研 | 确保 Pod 能请求并使用 GPU。调研 K8s Device Plugin (Nvidia/Ascend*) 和 Kubeflow 调度策略。调研监控指标。(*若涉及昇腾) | GPU 调度, 资源管理 |
W7-W8 | 任务编排 (Pipelines) 实践 | 能通过 UI 或 SDK 定义、运行、监控简单的训练 Pipeline (至少包含数据处理、训练、评估步骤)。验证 NFS 访问。 | 任务编排, NFS/IB(依赖:集群中至少有2台具有RDMA网络的GPU实例。) |
W9-W10 | Jupyter & Web Shell 集成优化 | 确保 Jupyter 环境稳定易用,镜像管理。集成或优化 Web Shell 访问功能 (如集成到 Notebook 或提供独立入口)。 | Jupyter, Web Shell |
W11-W12 | GPU 调度 & 资源管理定制开发 (前端/后端) | 开发或定制 UI 界面,简化 GPU 选择、监控。实现基本的资源配额展示或限制 (基于 Namespace)。 | GPU 调度, 资源管理 |
W13-W14 | 资源监控与报表开发 (初步) | 集成 Prometheus/Grafana (若 Kubeflow 未带) 或利用其数据。开发基础的 GPU/CPU/内存使用率报表 (按用户/项目)。 | 资源监控报表 |
W15 | 整合测试 & 性能调优 | 端到端测试核心流程。压力测试关键组件。修复 Bug。 | 整体功能 |
W16-W18 | 文档编写 & 内部发布 (Alpha) | 编写用户手册、运维文档。部署到预生产环境,进行小范围内部试用。 | 文档, 部署 |
通过"AI Studio"项目,我们能在 4-5 个月内,以极具竞争力的成本(基于开源二开方案),构建一个强大的、定制化的 AI station 平台。这将:
本项目技术可行性高,风险可控,战略价值明确。借助开源力量和 AI 工具,我们有信心达成目标,为公司的 AI 发展注入强大动力!