Pythia:Facebook最新开源的视觉、语言多任务学习框架
选自Facebook
机器之心编译
今天,Facebook 发布了一个全新的多任务学习框架 Pythia,它基于 PyTorch 且可用于视觉和语言的联合任务。Pythia 是一种模块化的即插即用框架,数据科学家和机器学习开发者能快速构建、复现和构建基准模型。
项目地址:https://github.com/facebookresearch/pythia
Pythia 是个啥?
Pythia 是一个深度学习框架,它支持视觉和语言领域的多任务处理。该框架搭建于开源的 PyTorch之上,其模块化、即插即用的设计使得研究者可以迅速构建模型。Pythia 是为视觉和语言任务设计的,如与视觉数据相关的问答和自动生成图像注释。
Pythia 不但支持分布式训练及多种数据集,同时还支持自定义的损失函数、度量标准、调度和最优化器等。Pythia 还提供了常用的视觉和语言层级模块,它们都支持分布式训练。Pythia 另一个特点是内建了很多语料库,包括 VQA、VizWiz、TextVQA 和 VisualDialog,它们可以用于多任务学习,即 Pythia 能同时在多个语料训练单一多任务模型。
总体而言,Pythia 的特性主要有以下几点:
Model Zoo:SoTA 视觉和语言模型的推理实现,包括 LoRRA(VQA 和 TextVQA 的 SoTA)、Pythia 模型(VQA 2018 挑战赛冠军)和 BAN。
多任务:支持多任务,允许在多个数据集上同时训练。
数据集:包括对多种数据集内置的支持,有 VQA、VizWiz、TextVQA 和 VisualDialog。
模块:提供对视觉和语言领域中多个常用层的实现。
分布式:支持基于 DataParallel 和 DistributedDataParallel 的分布式训练。
非指定:不指定构建在其上的数据集和模型实现。
定制化:定制损失函数、度量标准、调度、最优化器、TensorBoard,满足所有定制化需求。
Pythia 有啥用?
Pythia 包含了 Facebook 在最近的 AI 竞赛(VQA 2018 挑战赛和 Vizwiz 2018 挑战赛)中获胜的元素。特征包括推理实现,以展示之前的 SOTA 模型如何达到相关基准结果并快速评估新模型。除了多任务,Pythia 还支持分布式训练、一系列数据集以及定制损失函数、度量、调度和优化器。
Pythia 官方文档:https://learnpythia.readthedocs.io/en/latest/
我们可以使用 Pythia 完成视觉和语言多模态研究项目,如下图所示为视觉问答,它同时需要学习图像和文本相关的知识。

Pythia 怎么用?
Pythia 的安装非常简单,各种依赖项也都会自动安装:
#?Clone?Pythia?repository
git?clone?https://github.com/facebookresearch/pythia?~/pythia
#?Install?dependencies?and?setup
cd?~/pythia
python?setup.py?develop
获取数据
Pythia 目前支持的数据集要求有两部分,即特征和 ImDB。例如,对于 TextVQA,我们需要下载如下数据和预训练权重。
cd?~/pythia;
#?Create?data?folder
mkdir?-p?data?&&?cd?data;
#?Download?and?extract?the?features
wget?https://dl.fbaipublicfiles.com/pythia/features/open_images.tar.gz
tar?xf?open_images.tar.gz
#?Get?vocabularies
wget?http://dl.fbaipublicfiles.com/pythia/data/vocab.tar.gz
tar?xf?vocab.tar.gz
#?Download?detectron?weights?required?by?some?models
wget?http://dl.fbaipublicfiles.com/pythia/data/detectron_weights.tar.gz
tar?xf?detectron_weights.tar.gz
#?Download?and?extract?ImDB
mkdir?-p?imdb?&&?cd?imdb
wget?https://dl.fbaipublicfiles.com/pythia/data/imdb/textvqa_0.5.tar.gz
tar?xf?textvqa_0.5.tar.gz
训练
下载数据后就可以直接训练了:
cd?~/pythia;
python?tools/run.py?--tasks?vqa?--datasets?textvqa?--model?lorra?--config?**
configs/vqa/textvqa/lorra.yml
推断
如果需要运行推断或生成预测,我们可以下载对应的预训练模型,并运行以下命令行:
cd?~/pythia/data
mkdir?-p?models?&&?cd?models;
wget?https://dl.fbaipublicfiles.com/pythia/pretrained_models/textvqa/lorra_best.pthcd?../..
python?tools/run.py?--tasks?vqa?--datasets?textvqa?--model?lorra?--config?**
configs/vqa/textvqa/lorra.yml?--resume_file?data/models/lorra_best.pth?**
--evalai_inference?1?--run_type?inference
完整的示例可以在 colab 上查看:https://colab.research.google.com/drive/1Z9fsh10rFtgWe4uy8nvU4mQmqdokdIRR
Pythia 有何重要之处
Pythia 使得进入不断发展中的视觉和语言子领域这一过程变得更加平滑,可以让研究人员专注于更快的原型和实验。Facebook 的目标是通过提高这些模型和结果的复现性来加速进程。如此一来,社区就能更容易地构建成功的系统,并对其进行基准测试。
Facebook 希望,在移除一些障碍之后,研究者能够更加快速地开发出人类和智能机器交流的新方法。这项工作还应该帮助研究者开发适应性 AI,将多种理解综合成更基于上下文的、多模态的理解。除了本次开源的内容外吗,Facebook 还计划增加一些工具、任务、数据集和参考模型。
参考文章:https://code.fb.com/ai-research/pythia/
本文为机器之心编译,转载请联系本公众号获得授权。
?------------------------------------------------
加入机器之心(全职记者 / 实习生):hr@jiqizhixin.com
投稿或寻求报道:content@jiqizhixin.com
广告 & 商务合作:bd@jiqizhixin.com
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号随时掌握互联网精彩
- 1 绘就共同富裕新画卷 7904654
- 2 芬兰总理正式向中韩日民众道歉 7808976
- 3 最能生娃省份排名来了 7713437
- 4 这一年 一个个暖心瞬间令人难忘 7617512
- 5 男子入伍火箭军后拒服兵役 官方通报 7523667
- 6 30岁健美冠军去世前几天刚体检完 7429053
- 7 猴子攀绳索过河来 以为表演却是打劫 7333978
- 8 王毅同委内瑞拉外长希尔通电话 7238344
- 9 未婚先孕罚3000?云南奇葩村规被撤 7141020
- 10 海南封关护港 海警全天候执法演练 7045563







机器之心
