机器学习平台

训练分级方案

2019-08-23  本文已影响0人  王勇1024

背景

从下面两张图中可以看到,有大量实验资源利用率不足50%(当前为23个,2019.08.21数据,占比约42.5%),这些训练大多都独占一台机器,造成了巨大的资源浪费,致使当前集群资源利用率只有52.5%。

CPU使用率 内存使用率

目标

提升资源利用率到70%,节约30台物理机(配置:cpu32C,mem128G,ssd512G,万兆网卡,¥32000/台)。

方案

1.实验等级划分

按照所占用CPU核数对实验划分为6个等级(数值越大,等级越高):

  1. 0~5核
  2. 5~9核
  3. 10~14核
  4. 15~19核
  5. 20~24核
  6. 25核以上

2.等级推荐策略

监控各训练Docker容器负载情况,根据前24小时的数据给出推荐等级。

实验初次启动时,用户可以自行设定实验等级。

3.升级和降级

设定推荐等级为rlevel

升级:用户可以设定实验等级为 <=rlevel+1,如果用户想提升实验等级 >rlevel+1,必须由分组负责人审批,并说明原因。
每次重启实验时,如果设定等级 >rlevel+1,都需要负责人审批。

降级:当前集群中剩余机器不能满足训练等级要求时,用户可以选择主动降低实验等级,并增加实例数量,来启动实验。
下次重启实验时,用户可以恢复实验等级。

4.单独运行Merge

资源使用率

从上图可以看到,当训练进行Merge(模型合并)时,资源占用率会明显上升,此时训练出错的风险较高。如果将Merge单独运行,则可以明显降低出错风险,并保证资源占用率的平缓和稳定。所以,需要将所有训练的Merge单独运行和调度。

上一篇 下一篇

猜你喜欢

热点阅读