人脸大规模分类—计算过程

这里简要总结一下,人脸大规模分类的实现过程

(1)拆分分类权重:分类权重\(W\in R^{n\times d}\)拆分为K份,每个gpu存储其中一份分类权重
(2)求logit值:每个gpu上的特征feature,及其label,经过allgather操作汇聚并广播到每个GPU上,然后和当前gpu上的局部分类权重相乘,获得在这块GPU对应类别上的logit值
(3)求prob值:每块logit 经过allreduce操作可以得到所有gpu上的最大logit值,进而采用allreduce操作,求得exp(logit)和,从而求得概率值prob
(4)求loss值:由于全体样本的标签可能分散在各个GPU上,而在具体一块GPU中,仅有部分样本的标签落在当前GPU上,因此只能计算这些样本产生的loss值。

用下面示意图表示上述过程:

posted @ 2021-10-05 09:22  星辰大海,绿色星球  阅读(71)  评论(0编辑  收藏  举报