biweekly-contest-16

好久没刷 leetcode,现在居然出了夜喵专场。比赛结束的时候已经凌晨 12 点了。这一场主要的用到的知识有动态规划,BFS。

torch.distributed 中 Collective functions 的使用方式

使用 pytorch 中的分布式包可以轻松的实现并行计算,但是在官方文档中没有 Collective functions 的示例代码,而且网络上对这方面的介绍也比较少。对并行计算不熟悉的人使用起来可能会有点小问题,因此这里通过简单的代码展示了如何去使用 Collective functions。

[论文笔记] Gossip Learning

提出 Gossip Learning,与 Federated Learning 做比较,实验表明使用 Gossip Learning 训练的模型在一定时间过后与Federated Learning 表现相当。

分布式机器学习: 通信机制

分布式机器学习单机版的机器学习最大区别在于,它利用了多个工作节点同时训练、相互合作来加速学习过程。既然需要相互合作,那么通信就成为必不可少的环节。不过,分布式系统中的网络传输速度往往受限,导致通信常常成为分布式系统的瓶颈。举一个简单的例子:如果某个任务中计算与通信的时间占比为 1:1, 那么根据阿姆达尔定律(Amdahl’s law),无论使用多少台机器做并行运算,其加速比都不会超过两倍。因此,分布式机器学习的关键是设计通信机制,从而降低通信与计算的时间比例,更加高效地训练出高精度的模型。