岗位描述
工作职责
1.训练作业编排:维护与演进各类训练作业的 Operator;把"多个异构角色、常驻服务与有终态任务共存、部分角色在另一个集群"这类新形态抽象成通用的工作负载原语(角色、生命周期、依赖、暴露、卷、放置);
2.训练稳定性:多机作业启动失败、节点加入超时、通信 hang、掉卡、OOM 的检测与自动处置;作业级与角色级的自愈、抢占后恢复、断点续训的平台支持;
3.运行效率:作业启动时长(镜像分发与预热、懒加载)、存储读写(共享工作区、检查点读写)、跨集群网络这些基础设施层面的瓶颈定位与优化;
4.训练侧 oncall:配合 SRE 建立训练作业的告警、诊断工具与 SOP,压降重复故障;
5.业务接入:作为训练类新业务(包括强化学习项目)接入平台时的技术对接人,把业务侧的特殊需求沉淀成通用能力;
任职要求
1.本科及以上学历,两年及以上经验,精通 Go;
2.独立设计并上线过至少一个生产级 Operator(kubebuilder 或 controller-runtime),讲得清 reconcile 幂等、status 设计、finalizer、CRD 版本升级与兼容;
3.做过分布式训练作业(PyTorchJob、MPIJob、Volcano Job、RayJob 之一)的平台开发或运维,处理过多机作业 hang、rendezvous 失败这类问题,讲得出一次完整的排查过程;
4.熟悉 Kubernetes 网络与存储:Service、LoadBalancer、跨集群访问的常见方案与坑,CSI 与 RWX 存储的语义;
加分项
1.做过有状态服务与批作业的混合编排(LeaderWorkerSet、JobSet 或自研同类);
2.熟悉 NCCL 与 RDMA 网络,能从基础设施侧定位训练性能问题;
3.做过镜像加速(P2P 分发、懒加载)或大规模检查点存储;
4.了解强化学习或大模型后训练系统的运行形态;