在 PyTorch Hub 中,图灵奖得主 Yann LeCun 强烈推荐了一个简单的 API 和工作流程,它包含计算机视觉、自然语言处理领域的诸多经典模型的聚合中心,为机器学习研究的复现提供了基础的构建模块。无论是 ResNet、BERT、GPT、VGG、PGAN,还是 MobileNet 等经典模型,只需输入一行代码,就能实现一键调用。
关于 PyTorch Hub 的可复现性是一个基本要求,包括基于机器学习技术的研究领域。然而,许多机器学习出版物要么不可复现,要么难以复现。随着研究出版物数量的持续增长,包括目前在 arXiv 上的数万份论文以及历史大会投稿,研究的可复现性比以往重要得多。
PyTorch 团队推出了 PyTorch Hub:一个简单的 API 和工作流程,为机器学习研究提供了基础构建模块。这由一个经过预先训练模型存储库组成,用于协助进行新的研究,并内置支持 Colab,以及集成 Papers With Code 网站。
发布者可以通过添加一个简单文件 hubconf.py 发布预训练模型到 GitHub 存储库。这提供了所支持模型和运行所需依赖项列表。在 torchvision, huggingface-bert 和 gan-model-zoo 存储库中可以找到示例。
最简单案例是在 torchvision 中,每个模型文件都可以独立执行,不需要除 PyTorch 以外其他包,无需单独入口,因为创建后即可无缝提取使用,将包依赖最小化,以减少用户导入时出现的问题。
HuggingFace's BERT 模型则需要创建每个模型入口,这些入口可以作为复杂模型包装,他们可以提供注释文档或其他帮助函数,有支持下载预训练权重功能,或有其他特定功能,如可视化。
有了 hubconf.py 研究者就可以向 PyTorch Hub 的 GitHub 页发送拉取请求。如果符合高质量易复原且有益要求,该模式将很快出现在官方网页上供所有用户浏览,但如果质量较低也可能被拒绝发布。但只要被接受,该模式将很快出现在官方网页上供所有用户浏览。