SmartIdx: Reducing Communication Cost in Federated Learning by Exploiting the CNNs Structures
- 很棒的行文逻辑!!!
- SmartIdx:利用 CNN 结构减少联邦学习中的通信成本
- 思考
- 最难的还是优化算法
- 主要是想到不同的东西用到新的场景
- 比如本文把CNN结构用于减少联邦学习的通信成本去优化通信
- 但是我要怎么去找到一个新场景呢?
- 优化,新问题,新场景。优化是最难的。
- 摘要
- Top-k
- Top-k 稀疏化方法在降低联合学习 (FL) 中的通信成本方面很受欢迎且强大。
- 缺点再所选参数的索引上花费了大部分的通信成本
- 联邦学习的所选参数
- 索引index
- 参数值value
- 本位思路
- 提出了一种卷积神经网络 (CNN) 的 FL 压缩算法,称为 SmartIdx。
- 将传统的 Top-k 最大变化选择策略扩展到基于卷积核(convolution-kernel-based)的选择,以降低索引在整体通信成本中的比例,从而实现高压缩比。
- 将参数值和参数索引之间的 1:1 比例关系提高到 n:1
- 为此,设计了一组规则来判断应该选择哪个内核,并相应地提出了相应的包装策略以进一步提高压缩比。
- Top-k
- 前言
- Top-k这类型的方法(批判)
- 在这些方法中,不是传输整个局部模型,而是选择局部训练后变化最大的权重更新或梯度(表示为参数),并将其上传到参数服务器以减少网络流量。
- 它们通常成一对一对的(例如,<thevalue, the index> of selected parameter)。
- 该索引用于表示所选参数在模型中的位置(即选择哪个参数),值是该参数的具体数值。
- 在服务器中,该值将用于根据索引在相应位置更新前一个全局模型的参数。
- 因此,只有模型训练中的值参与了模型更新,而索引则没有。
- 以前的优化方式(进一步减少“值”和“索引”部分的大小)
- quantization techniques量化技术(eg.2017-概率量化(对上一方法的改进))
- encoding schemes 编码方案
- 缺点或者是说难点
- 然而,根据我们的第 1 个关键观察,“值”部分被高度压缩(16×32×),而“索引”部分难以压缩(2×-3×),从而导致“索引”部分占用越来越多的网络流量共享。
- 另一方面,之前的工作 (Chen et al., 2018) 提到传统的 Top-k 参数选择策略选择变化较大的参数,可能会遗漏一些变化较小的关键重要参数。
- 本文优化方式
- 我们的目标是在本文中探索新的通信高效选择策略。通过研究 CNN 中的卷积核结构,我们尝试设计一种“基于内核”的参数选择策略,其中卷积核被视为整个选择单元(即选择卷积核中的所有参数)。
- 在传输相同数量的参数时,与 FL 中的传统 Top-k 策略相比,使用整个卷积核单元选择参数实现了近似训练性能(详见第 2 节)。
- 更重要的是,通过利用 CNN 模型中卷积核的结构,我们可以在使用这个“基于内核”的参数选择策略后让卷积核中的参数共享一个索引(即多个值一个索引),这显着减少了索引部分的比例。
- 从另一个角度来看,与具有相同通信成本的传统 Top-k 稀疏化相比,基于内核的选择策略向服务器提供更新的值,这有利于提示 FL 训练。
- 本文新方法(想想这个算法能不能用在别的新场景,利用卷积核当作多个参数的索引!)
- 我们提出了一种新颖的 FL 压缩算法(称为 SmartIdx),以显着降低 FL 中的通信成本,该算法通过将卷积核视为卷积层中的参数选择单元来优化 1:1 比例的选定参数对(即,<the value, the index> ) 到 n:1。
- 1选择参数:根据 CNN 模型的变体选择几个“重要”参数,用于选择“重要”卷积核。
- 2收集属性:记录每个选定参数的大小和数量,用于确定卷积核候选的编码策略。
- 3包装参数:与收集的属性相结合,设计了几个规则将最终上传的参数编码为三种包(即单个包、内核包和模式包),以传输。在编码的内核/模式包中,多个参数共享一个索引来降低 FL 通信成本。
- 我们提出了一种新颖的 FL 压缩算法(称为 SmartIdx),以显着降低 FL 中的通信成本,该算法通过将卷积核视为卷积层中的参数选择单元来优化 1:1 比例的选定参数对(即,<the value, the index> ) 到 n:1。
- 背景知识
- 从广义上讲,稀疏化策略通过传达仅包含 k 个“重要”参数的稀疏局部模型来减少网络开销
- 量化和编码方案可以减少这 k 个“重要”参数的数值和位置信息的大小
- 在基于Top-k稀疏化的压缩方法中,一个常见而重要的步骤是在本地积累那些未上传的更新,并将其添加到下一轮FL中,这已被证明是在训练期间保持模型性能的关键
- 观察和动机
- First对于传统TopK的观察
- 根据它们在局部训练轮的变化对模型中的所有参数进行排序
- 在排序结果中选择Top-k(即最大的k),将它们视为个体(即独立的单元),并将它们成对记录为<the value, the index>所选参数。
- 假设每个参数的浮点值和整数索引都需要 32 位来表示,我们可以将值和索引的压缩比定义为:
- First对于传统TopK的观察
- Top-k这类型的方法(批判)
-
-
-
-
- CRv 是value的压缩比 CRi是index的压缩比 压缩比越高压缩效率越高
- 在本文中,我们定义了FL压缩方法的传输效率σ:
-
-
-
-
-
-
- Tv是value传输成本 Ti是index传输成本 K表示上传的数量
- 发现大多数流量花在传输索引上
- Second对于CNN内核的观察
- 内核通常用作整体来提取 CNN 结构中的特征
- 这种结构化属性有助于减少索引比例,因为只需要一个索引来确定同一选定卷积核中的所有参数位置
- 将卷积核中的参数视为稀疏化的整个选择单元
- Top-k将单个权重视为基本单位,而基于核的选择则使用卷积核作为基本单位。总而言之,以上两个关键的观察促使我们提出了一个高效的FL压缩算法,该算法通过使用 "基于核 "的选择策略,着重于降低索引成本
-
- 设计方法概述
- SmartIdx
- 选择参数,指导SmartIdx选择“重要的”卷积核
- 获取参数,分析Size和Number作为下一步参数判断和封装
- 对
- SmartIdx
-
- 实验结果
- SmartIdx
- 思考?
- 变着变着,联邦学习通信优化的这个模型优化也变成了特征提取TopK类似思想
- TopK思想不仅用于联邦学习通信问题,我记得赵师姐用这个算法完成在线服务评价
- 那么既然CNN这个结构这个思想可以在这个场景优化TopK,那能否在赵师姐的这个场景下优化呢(赵师姐的论文还没看)
- 但是整篇论文没有完全读懂,因为CCN有卷积层、池化层、全连接层,他仅仅是用了卷积层的Filter过滤然后形成kernel卷积核这一步,还是将CNN整体使用了?
- 而且既然传统联邦学习的一些已经存在的问题进行优化,有人已经异想天开到用在图像识别的东西或者是一种思想用到了联邦学习的通信优化,那我还能怎么样异想天开呢?
- 三个问题:优化,新问题,新场景
- 感觉将一个已知的问题进行优化是最难的,但是自己好像还没有培养出如何找到新问题或者是新场景的能力。