
# milestones

通过以下几个里程碑来梳理和分析确认可行性，最终目标是产出一套基于Native Ray集群（无k8s底座）的verl 训练平台，支持多用户，运行各类verl任务，提高整体集群的资源利用效率，并且能够通过监测系统进行观察和资源统计，监控报警。未来形成运维SOP后，接入运维智能体，执行自动化运维。
- Workload
    - ppo on ray
    - grpo on ray
    - sft on ray 可行性
    - model serving on ray
    - customize code 自定义代码，任意verl example 提交代码
    - 自定义reward function
    - 同时多verl版本支持，同时跑不同的ray任务，但是使用不同版本的verl，甚至是用户魔改版本
- Ray Job管理
    - 通过python api提交，而不是通过ray cli提交
    - 任务排队机制。无优先级，多个pending job谁先满足资源就谁先执行。
    - 【确认支持】gang scheduling (all or nothing), 指定好trainer.nnodes和trainer.n_gpus_per_node参数，不满足就pending。
    - 无配额管理、公平调度等特性。
    - Ray本身不支持任务超时参数，需要单独job监控，发现超时才停止。
    - Pipeline管理【高级, 暂不实现】
        - 提供对Ray Job进一步封装，串联多个Ray Job，自动完成训练，模型合并等job串联
- 可观测性 Observability
    - 测试本地部署 weight and bias server 可行性，如何集成现有job流程
    - 测试部署 prometheus & grafana，对ray节点进行监测
    - job监控，哪些job使用了多少资源，跑了多长时间，资源利用率是否充分，是否空占着GPU
- 数据、模型存储管理
    - shared dataset管理：所有用户共享的hf数据集
    - hf 模型管理：所有用户共享的hf 基座模型库
    - user dataset 管理: 用户独自的数据集管理
    - user 模型管理：用户独自的模型管理，保存训练好的模型
    - job 作业数据管理，作业产出物，临时目录数据
    - user management：用户可以通过统一界面来管理自己是user dataset/model space和自己运行的job的临时目录，从而灵活组织任务流水线，提供灵活的文件查看方式
- 网络
    - 确认是否支持IB(H100环境)，以及RoCEv2（H20环境），需要怎样配置

