部门介绍
负责字节跳动,推荐/广告/搜索类业务的机器学习系统的资源/撮合/编排,以及业务场景调度系统的设计和开发,服务于各方向场景的模型训练、模型评估和模型推理。 系统涉及如下工作,可以至少参与其中一层:
- 分布式调度层,解决单服务的分布式部署: (a)使用/二次开发 诸如 Kubernetes,Yarn,Mesos,Celery 等分布式调度框架,并可以在不同的业务场景下合理选型;依据各框架的特点进行集群的利用率/均匀性的调度策略优化; (b)对接/扩展各框架在 水平/垂直 扩展甚至AutoScaling的工作;参与多集群混合调度(类似FedK8s)的适配工作;负责不同优先级服务的抢占/驱逐功能;负责不同集群不同类型资源间的拆借/混部对接工作;负责多机房、多地域、多云场景的调度/负载适配;
- 资源撮合层,解决多角色之间的资源联合分配问题:从全局角度进行分配率 和 资源运营效率的优化;解决各种CPU/GPU/其他异构硬件/模型数据/样本数据/外部调用资源间的容量协调和联合匹配;感知拓扑限制,进行微拓扑优化,从而优化整体网络带宽使用;海量资源和多租户的预算/交付联动;保障性资源/预算外资源,以及混部/超卖的场景对接;
- 参与训练场景的流程/功能需求,诸如阶段性编排,批流阶段封装;提升训练单副本服务的稳定性,如Failover保护;更多的备份点策略;可观测性,可操作性,用户体验优化;
- 参与包括离线到在线同步,数据一致性和更新时效性优化;也包括在线服务多副本的异构资源/稳定性预案的流量调度;模型与服务的动态在线编排和集群间坐落编排。
岗位职责
招聘官网暂未提供完整岗位职责,请前往官网核实。
职位要求
- 熟练掌握Linux环境下的Go/Python只少1种编程语言,Hands-on具备优秀的coding能力;
- 熟悉一些开源的分布式调度框架,诸如 Kubernetes(K8S),Yarn(Flink,MapReduce),Mesos,Celery ,有丰富的机器学习系统实践和开发经验;
- 掌握分布式系统原理,参与过大规模分布式系统的设计、开发和维护;
- 有优秀的逻辑分析能力,能够对业务逻辑进行合理的抽象和拆分;
- 有强烈的工作责任心,较好的学习能力、沟通能力和自驱力,能够快速的响应和行动;
- 有良好的工作文档习惯,及时按要求撰写更新工作流程及技术文档。 加分项:符合其中任意加分项者优先
- 熟悉至少一种主流的机器学习框架(TensorFlow / PyTorch );
- 有以下某一方向领域的经验:AI Infrastructure,HW/SW Co-Design,High Performance Computing,ML Hardware Architecture (GPU, Accelerators, Networking);
- 有一些开源的训练编排系统使用/设计经验:TFX。