PaddlePaddle/PLSC
【推荐阅读】微服务还能火多久?>>> PLSC: 飞桨大规模分类库 简介 深度学习中用于解决多分类问题的深度神经网络的最后一层通常是全连接层和Softmax的组合层,并采用交叉熵(Cross-Entropy)算法计算神经网络的损失函数。由于全连接层的参数量随着分类类别数的增长线性增长,当分类类别数相当大时,神经网络的训练会面临下面两个主要挑战: 参数量过大,超出单个GPU卡的显存容量:假设分类网络最后一层隐层的输出维度为512,那么当分类类别数为一百万时,最后一层全连接层参数的大小约为2GB(假设以32比特浮点数表示参数)。当分类问题的类别数为一亿时(例如,对自然界中的生物进行分类),则最后一层全连接层参数的大小接近200GB,远远超过当前GPU的显存容量。 参数量较大,同步训练方式下通信开销较大:数据并行训练方式下,所有GPU卡之间需要同步参数的梯度信息,以完成参数值的同步更新。当参数数量较大时,参数的梯度信息数据量同样较大,从而导致参数梯度信息的通信开销较大,影响训练速度。 飞桨大规模分类(PLSC: P addlePaddle L arge S cale C lassification)库是基于 飞桨平台 构建的超大规模分类库,为用户提供从训练到部署的大规模分类问题全流程解决方案。 PLSC特性 支持超大规模分类:单机8张V100 GPU配置下支持的最大类别数扩大2.52倍