[!注意] PiPPy已经被迁移到PyTorch中作为一个子包:
torch.distributed.pipelining
。你可以在这里找到详细文档。当前仓库主要作为示例的存放处。PiPPy库代码将被移除。请使用torch.distributed.pipelining
中的API。谢谢!
为什么选择PiPPy? | 安装指南 | 示例 | PiPPy详解
推动深度学习技术进步的最重要技术之一是扩展。扩展神经网络的常用技术包括_数据并行_、张量/操作并行_和_流水线并行。在许多情况下,流水线并行尤其可以成为一种有效的扩展技术,但它通常难以实现,需要对模型代码进行侵入式修改,并且需要实现复杂的运行时编排代码。PiPPy旨在提供一个工具包,自动完成这些工作,从而实现模型的高效扩展。
PiPPy项目由一个编译器和运行时栈组成,用于PyTorch模型的自动并行化和扩展。目前,PiPPy专注于_流水线并行_,这是一种将模型代码分区并让多个_微批次_同时执行模型不同部分的技术。要了解更多关于流水线并行的信息,请参阅这篇文章。
图:流水线并行。"F"、"B"和"U"