今年的全球 PyTorch 夏季黑客松吸引了超过 2500 名参与者,他们突破界限,为 PyTorch 开发者和研究人员创造了独特的全新工具和应用程序。

注意:提交至黑客松的项目均与 Facebook, Inc. 无关联,也非由其提供。
今年的项目分为三类
-
PyTorch 开发者工具:用于提高 PyTorch 研究人员和开发人员生产力和效率的工具或库。
-
基于 PyTorch 的 Web/移动应用程序:使用 PyTorch 构建的 Web 或移动界面和/或嵌入式设备。
-
PyTorch 负责任人工智能开发工具:一种工具、库或 Web/移动应用程序,旨在支持研究人员和开发人员创建负责任的 AI,在其整个开发过程中考虑公平性、安全性、隐私等因素。
这次虚拟黑客松于 6 月 22 日至 8 月 25 日举行,共有来自阿塞拜疆共和国、津巴布韦、日本等 114 个国家/地区的 2500 多名注册参与者,总共提交了 106 个项目。参赛者的评判标准包括他们的想法质量、原创性、潜在影响以及实施效果。
请看下面各类别获奖者。
PyTorch 开发者工具
第一名 - DeMask
DeMask 是一个用于增强戴口罩时语音的端到端模型——在许多地方强制佩戴口罩以及工作时需要佩戴口罩的时期,这带来了明显的益处。DeMask 使用基于 PyTorch 的音频源分离工具包 Asteroid 构建,经过训练可以识别口罩产生的模糊对语音造成的失真,并调整语音使其听起来更清晰。
这项提交成果之所以特别突出,是因为它既代表了一个高质量的想法,也提供了一个其他研究人员可以复现的实现。
这是一个如何在少于 20 行代码中训练语音分离模型的示例
from torch import optim
from pytorch_lightning import Trainer
from asteroid import ConvTasNet
from asteroid.losses import PITLossWrapper
from asteroid.data import LibriMix
from asteroid.engine import System
train_loader, val_loader = LibriMix.loaders_from_mini(task='sep_clean', batch_size=4)
model = ConvTasNet(n_src=2)
optimizer = optim.Adam(model.parameters(), lr=1e-3)
loss = PITLossWrapper(
lambda x, y: (x - y).pow(2).mean(-1), # MSE
pit_from="pw_pt", # Point in the pairwise matrix.
)
system = System(model, optimizer, loss, train_loader, val_loader)
trainer = Trainer(fast_dev_run=True)
trainer.fit(system)
第二名 - carefree-learn
carefree-learn 是一个基于 PyTorch 的自动化机器学习 (AutoML) 解决方案,提供高级 API,使使用表格数据集训练模型更简单。它具有与 scikit-learn 相似的界面,并作为表格数据集的端到端管道运行。它能自动检测特征列类型和冗余特征列,填补缺失值,编码字符串列和类别列,以及预处理数值列等功能。
第三名 - TorchExpo
TorchExpo 是一个模型和扩展集合,简化了将 PyTorch 从研究阶段应用到移动设备生产环境的过程。这个库不仅仅是一个 Web 和移动应用程序,还包含一个 Python 库。该 Python 库可通过 pip install 安装,它帮助研究人员只需一行代码即可将最先进的模型转换为 TorchScript 和 ONNX 格式。
基于 PyTorch 的 Web/移动应用程序
第一名 - Q&Aid
Q&Aid 是一个概念性医疗聊天机器人,旨在协助医疗诊断并促进患者与医生之间的沟通。它依靠一系列机器学习模型,根据患者提供的医疗图像和/或文本问题来筛选、标记和回答医疗问题。聊天记录可以转发给当地医院,医院会联系患者预约,以确定正确的诊断和护理方案。该团队希望这款概念应用能帮助医院更有效地与患者协作,并提供适当的护理。

第二名 - Rasoee
Rasoee 是一款应用程序,可以接收图像作为输入并输出菜肴名称。它还会列出配料和食谱,并提供原始食谱的在线链接。此外,用户可以从下拉菜单的菜系列表中选择一种菜系,并在文本中描述口味和/或准备方法。然后应用程序会从包含 308 道可识别菜肴的列表中返回匹配的菜肴。该团队付出了大量努力收集和清理各种数据集,以构建更准确、更全面的模型。您可以在这里查看该应用程序。
第三名 - 机器人 Rexana — PyTorch
Rexana 是一个 AI 语音助手,旨在为一个能够完成基本家务的实体机器人奠定基础。该系统能够自主导航(了解其在家中相对于地标的位置)、识别语音命令以及进行物体检测和识别——这意味着它可以被命令执行各种家务任务(例如,“Rexana,给客厅里的盆栽浇水。”)。Rexana 可以通过移动设备进行远程控制,机器人本身具有可定制的手部(磁铁、夹具等),以执行不同的任务。
PyTorch 负责任人工智能开发工具
第一名:FairTorch
FairTorch 是一个用于 PyTorch 的公平性库。它允许开发者通过简单地添加几行代码来为模型添加约束,以平衡不同子群体的指标。模型构建者可以根据其上下文选择公平性的衡量标准定义,并在训练时强制执行。该库提供了一系列指标,用于衡量 AI 系统在子群体中的表现,并可应用于部署决策算法的高风险场景,如招聘、学校招生和银行信贷。
第二名:Fluence
Fluence 是一个基于 PyTorch 的深度学习库,用于语言研究。它专门解决了自然语言处理 (NLP) 研究对计算资源的巨大需求。Fluence 旨在为 NLP 提供低资源和计算高效的算法,为研究人员提供能够增强现有 NLP 方法或帮助发现现有方法不足之处的算法。
第三名:Causing:使用图进行因果解释 (CAUSal INterpretation using Graphs)
Causing(使用图进行因果解释)是一个多元图分析工具,旨在提高神经网络的透明度。它解释因果关系,帮助研究人员和开发人员解释给定方程系统的因果效应,以确保公平性。开发者可以将数据以及描述数据集中变量之间依赖关系的模型输入到 Causing 中,Causing 会输出一个有色图表,显示模型变量之间相互作用的量化效应。此外,它还允许开发者估计这些效应,以验证数据是否符合模型。
谢谢,
PyTorch 团队