趋近智
正如章节引言中提到的,客户端与服务器之间传输的数据量巨大,尤其是客户端发送的梯度信息,常常限制了联邦学习系统的扩展性和效率。梯度压缩技术通过在传输前减少表示每个客户端梯度更新所需的比特数,直接处理这个问题。
其主要思想很简单:客户端不发送本地计算的、通常是全精度且稠密的梯度向量 (vector)(我们将其表示为),而是计算一个压缩版本 ,发送 ,服务器随后使用一种适合这些压缩更新的聚合策略,可能在通过 解压缩之后。压缩函数 和解压缩函数 被设计成使 的大小远小于 的大小。
两种主要方法主导了这一方面:量化 (quantization)和稀疏化。
量化减少了表示梯度向量 (vector)中每个数值所需的比特数。量化并非对梯度的每个分量都使用标准的32位或64位浮点数,而是将这些值映射到一组更小的离散级别,这些级别可以用更少的比特来表示。
量化类型:
机制:
一种常用方式是随机量化。对于梯度分量 ,我们不传输其精确值,而是可能传输一个随机选择的量化值 ,使其期望值等于原始值,即 。这会引入噪声,但平均而言保持过程无偏。
例如,考虑将范围在 的值 量化为0或1。随机量化会以概率 输出1,以概率 输出0。
一种采用量化的知名算法是量化随机梯度下降 (gradient descent)(QSGD)。QSGD通常包含:
服务器接收这些量化梯度,对其解码,并进行聚合。
权衡: 量化直接减小了载荷大小。例如,从32位浮点数变为8位整数可实现4倍压缩。然而,这会引入量化误差(噪声)。尽管随机方法旨在无偏,但增加的方差会减缓收敛速度或略微降低最终模型精度。客户端执行量化以及服务器端执行解量化/聚合也存在计算成本。
比特数越少,通信开销显著降低,但潜在的量化误差会增加,可能影响模型的收敛和精度。
稀疏化采取了不同的方式。它不是发送所有梯度分量的低精度版本,而是只发送一小部分分量,通常是那些被认为最重要、且以全精度表示的分量。其余分量在该通信轮次中被视为零。
机制:
最常用的技术是Top-k稀疏化:
的值是一个超参数 (parameter) (hyperparameter),通常表示为总参数数量的百分比(例如,发送梯度的前1%或前10%)。
示例:
如果 且我们使用Top-2稀疏化:
最大的幅值是 和 。
发送的稀疏梯度将表示为 。这可以编码为 [(1, -2.5), (4, 1.9)]。
权衡: 稀疏化可以显著减小通信规模,特别是当 远小于梯度的总维度时。然而,丢弃较小梯度分量的信息会显著影响收敛。如果不同客户端始终对不同参数有大的梯度,聚合效果可能会变差。效率也取决于梯度的性质;梯度自然稀疏的模型受益更多。连同值一起发送索引会增加开销,因此实际压缩比取决于 和编码格式。与量化 (quantization)类似,稀疏化在选择Top-值时会增加计算开销。
Top-k梯度稀疏化的处理流程。
量化 (quantization)和稀疏化也可以结合使用。例如,可以先选择Top-k梯度,然后在传输前只对这些值进行量化。这提供了一种实现更大压缩的可能途径,但需要仔细调整,因为这两种技术带来的误差和信息损失可能会叠加。
量化和稀疏化都是活跃的研究方向。它们的效率高度依赖于特定的联邦学习配置,包括机器学习 (machine learning)模型、客户端数据分布(异构性)、所用的优化算法以及选择的压缩参数 (parameter)(量化的比特数、稀疏化的 值)。下一节将讨论误差补偿技术,这些技术常与压缩结合使用,以减轻对模型训练的不利影响。
这部分内容有帮助吗?
© 2026 ApX Machine LearningAI伦理与透明度•