FairScale

FairScale是一个用于高性能和大规模训练的PyTorch扩展库。

Python
Facebook AI研究实验室
深度学习
初始发布时间:2020年7月
工具描述

FairScale是一个用于高性能和大规模训练的PyTorch扩展库。此库扩展了基本的PyTorch功能,同时添加了新的SOTA扩展技术。FairScale以可组合模块和易于使用的API的形式提供了最新的分布式训练技术。这些API是研究人员工具箱的基本部分,因为它们试图用有限的资源扩展模型。

FairScale的设计考虑了以下价值:

  • 可用性-用户应该能够理解和使用FairScale API,并将认知过载降至最低。
  • 模块化-用户应该能够无缝地组合多个FairScale API,作为其训练循环的一部分。
  • 性能-FairScale API在扩展和效率方面提供了最佳性能。

大规模ML训练传统上意味着数据并行性,它允许我们同时使用多个设备来训练每个步骤的大批处理大小,从而与在单个设备上训练相比,在更短的时间内实现目标精度。随着ML研究的最新进展,ML模型的大小在过去几年中只是增加了,数据并行性不再服务于所有“缩放”目的。

您可以跨多个轴扩展培训,FairScale提供以下广泛类别的解决方案:

  • 并行性→这些技术允许通过层并行性和张量并行性来缩放模型。
  • 分片方法→内存和计算通常是权衡,在这一类中,我们试图通过分片模型层或参数、优化器状态和梯度来实现低内存利用率和高效计算。
  • 优化→此桶处理优化内存使用,而不考虑模型的规模,训练而不进行超参数调整,以及所有其他试图以某种方式优化训练性能的技术。

是否开源:

许可协议: BSD-3-Clause License.

官方地址: https://fairscale.readthedocs.io/en/latest/

GitHub地址: https://github.com/facebookresearch/fairscale

初始贡献者: FAIR Developers

最佳实践指南

官方使用指南:https://fairscale.readthedocs.io/en/latest/

Facebook AI研究实验室-logo
pytorch-logo
推荐工具

TensorFlow - 深度学习

MindSpore - 深度学习