在今年的全球 PyTorch 夏季黑客马拉松中,超过2500名参与者积极创新,为 PyTorch 开发者和研究人员创建了独特的全新工具和应用程序。

注意:提交给黑客马拉松的任何项目均不与 Facebook, Inc. 关联,也非由其提供。
今年的项目分为三大类:
- PyTorch 开发者工具: 旨在提高 PyTorch 研究人员和开发者生产力与效率的工具或库。
- 由 PyTorch 驱动的 Web/移动应用程序: 使用 PyTorch 构建的 Web 或移动界面和/或嵌入式设备。
- PyTorch 负责任的 AI 开发工具: 支持研究人员和开发者创建负责任的 AI 的工具、库或 Web/移动应用程序,该 AI 在整个开发过程中考虑了公平性、安全性、隐私等因素。
此次线上黑客马拉松于6月22日至8月25日举行,共有超过2500名注册参与者,代表了从阿塞拜共和国到津巴布韦,再到日本等114个国家,共提交了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 负责任的 AI 开发工具
一等奖:FairTorch
FairTorch 是 PyTorch 的一个公平性库。它允许开发者通过简单地添加几行代码,向模型添加约束,以使不同子组的指标保持一致。模型构建者可以为他们的上下文选择一个公平性指标定义,并在训练时强制执行它。该库提供了一套指标,用于衡量 AI 系统在不同子组中的表现,可应用于部署决策算法的高风险场景,例如招聘、学校招生和银行。
二等奖:Fluence
Fluence 是一个基于 PyTorch 的深度学习库,用于语言研究。它专门解决了自然语言处理 (NLP) 研究中巨大的计算需求。Fluence 旨在为 NLP 提供低资源和计算高效的算法,为研究人员提供可以增强当前 NLP 方法或帮助发现当前方法不足之处的算法。
三等奖:Causing:使用图的因果解释
Causing (CAUSal INterpretation using Graphs) 是一种多元图形分析工具,旨在提高神经网络的透明度。它解释因果关系,并帮助研究人员和开发者解释给定方程系统的因果效应,以确保公平性。开发者可以将数据和描述数据集中变量之间依赖关系的模型输入到 Causing 中,Causing 将输出一个彩色图表,显示模型变量之间量化的效应。此外,它还允许开发者估算这些效应,以验证数据是否符合模型。
谢谢,
PyTorch 团队