当前位置: 首页 > 科技观察

为了将模型训练速度提高两到四倍,《彩票假说》作者的新PyTorch库开始流行

时间:2023-03-13 21:13:28 科技观察

随着越来越多的公司转向人工智能来完成各种任务,公司很快发现,训练AI模型既昂贵、困难又耗时。一家名为MosaicML的公司旨在寻找一种新方法来应对这些新出现的挑战。最近,MosaicML推出了一个用于高效神经网络训练的PyTorch库“Composer”,旨在更快地训练模型、降低成本并获得性能更好的模型。Composer是一个用PyTorch编写的开源库,旨在集成更好的算法以加速深度学习模型的训练,同时实现更低的成本和更高的准确性。目前该项目在GitHub平台上已获得800多个Star。项目地址:https://github.com/mosaicml/composerComposer有函数式接口(类似torch.nn.functional),用户可以将其集成到自己的训练循环中;它还包含一个Trainer,可以将高效的训练算法无缝集成到训练循环中。项目中部署了20多种加速方法,只需几行代码就可以应用于用户训练,或者与内置的Trainer一起使用。总的来说,Composer有几个亮点:20多种加速计算机视觉和语言建模训练网络的方法。当Composer为您完成工作时,您无需浪费时间尝试重现研究论文。一个易于使用的训练器,旨在最大限度地提高性能并集成最佳实践以进行高效训练。所有加速方法的功能形式都允许用户将它们集成到现有的训练循环中。稳健、可重现的基线可让您尽快投入工作。那么,使用Composer可以提升什么样的训练效果呢?减少了训练多个模型系列的时间和成本。根据项目信息,通过Composer训练,您可以做到:ResNet-101在ImageNet上的准确率在1小时30分钟内达到78.1%(AWS上为49美元),比基线快3.5倍,成本降低71%。ResNet-50在ImageNet上在1小时14分钟内达到76.51%的准确率(在AWS上为40美元),比基线快2.9倍,成本降低65%。在4小时27分钟内将OpenWebText上的GPT-2困惑度提高到24.11(在AWS上为145美元),比基线快1.7倍且便宜43%。在Reddit社区,项目作者JonathanFrankle出面表示,Composer是他对彩票假说研究的直接延续。2019年,Frankle和Carbin的《The Lottery Ticket Hypothesis: Finding Sparse, Trainable Neural Networks》获得了ICLR2019的最佳论文荣誉。在这篇论文中,Frankle等人。表明标准修剪技术自然会发现初始化为有效训练的子网络。基于这些结果,两人提出了“彩票假设”:密集的、随机初始化的前馈网络包含子网络(“中奖彩票”),当独立训练时,这些子网络能够在相似的迭代次数内执行。达到与原始网络相当的测试精度。目前,Frankle是Mosaic的首席科学家,推动了Composer的创建。这一次,弗兰克尔说深度学习背后的“数学”没有什么神圣的。从根本上改变“数学”是完全没问题的(例如,去掉很多权重)。你会得到一个与其他方式不同的网络,但这并不像原始网络是“正确的”网络。如果改变“数学”使您的网络同样好(例如相同的准确性)但速度更快,那就是胜利。如果你愿意分解深度学习背后的“数学”,彩票假设就是一个例子。Composer有几十种技术可以做到这一点,并具有与之相匹配的加速。同时,项目作者还将Composer与PyTorchLightning进行了比较:“PyTorchLightning是一个不同的训练库,具有不同的API。事实上,我们在PTL之上构建了我们的第一个Composer实现。”PyTorchLightning的创造者WilliamFalcon在后续的讨论中也出现了,但两人似乎并不认同。目前,Composer的训练器可以应用于很多模型,包括对Resnet-50、Resnet-101、UNet和GPT-2的加速。作者表示,未来会扩展到更多的模型,比如ViT、BERT、分割和目标检测等。