什么是Flash?
Flash 是基于PyTorch Lightning的快速原型任务,基线和微调可扩展深度学习模型的集合。它提供从基准实验到最新研究的无缝体验。它使用户能够构建模型而不会被所有细节所吓倒,并且可以通过Lightning灵活地进行试验以获得完整的多功能性。
PyTorch Lightning是一个开源Python库,为PyTorch提供了高级界面。PyTorch Lightning最近在从样板代码解耦研究中获得了出色的响应,从而实现了无缝的分布式训练,日志记录和深度学习研究代码的可重复性。许多研究实验室和AI公司都使用Lightning简化了全球PyTorch模型的训练。
启动深度学习项目可能会非常困难。使基线模型运行在新数据集或域外任务上需要花费时间。但是借助Flash用户可以在几行代码中创建图像或文本分类器,而无需花哨的模块和研究经验。
任何新的深度学习项目的标准工作流程都遵循三个步骤。通常示例存储库无法扩展到生产训练和推论。大多数情况下,它们的维护时间不会超过几周甚至几个月。通常将数据加载硬编码到不同的基准数据集。这导致任务表示的多个不兼容标准。除非您掌握其工作方法,否则几乎不可能修改或建立在该代码上。
借助Flash,用户可以使用久经考验的通用数据主干来快速获得Lightning基准,以此作为基准测试。Flash取代了这一周期,使用户可以专注于科学而不是基础架构。它为数据科学家,开发人员和Kagglers提供了轻松访问Lightning功能的途径,并为经验丰富的研究人员提供了简单的基准。
与PyTorch Lightning摆脱样板的目标兼容,Flash打算通过Lightning快速,灵活地高效训练,推理和微调模型。用户可以使用Lightning和PyTorch覆盖其任务代码,以为其技能组找到正确的抽象级别。
Flash的工作原理
Flash包含Tasks的集合 。Flash Tasks是使用SOTA方法解决日常问题的激光聚焦对象。它们旨在使推理,微调和训练和谐。它目前支持图像分类,图像嵌入,表格分类,文本分类,摘要和翻译。
Flash任务包括解决当前任务的所有基本信息,例如要预测的类标签的数量,给定数据集中的列数以及所使用的模型体系结构的详细信息,例如损失函数,参数等。通过覆盖损失函数或优化器,可以选择将哪种体系结构用于各种实现。
Flash是第一个为分布式训练和深度学习模型推断提供一致支持的高级框架。借助PyTorch Lightning,用户可以在任何硬件(包括CPU,GPU或TPU)上训练和微调其闪存任务,而无需更改代码。
Flash GitHub:
https://github.com/PyTorchLightning/lightning-flash
PyTorch Flash:
https://pytorchlightning.ai/