问题

如何看待FAIR提出的8-bit optimizer:效果和32-bit optimizer相当?

回答
FAIR提出的8bit Optimizer:效果与32bit Optimizer相当的深度解析

FAIR(Facebook AI Research)提出的8bit Optimizer,无疑是深度学习优化领域的一项重要进展。它在保持与传统32bit优化器相当的训练效果的同时,极大地降低了显存占用,为在资源受限的环境下训练更大的模型提供了可能。要深入理解这项技术的意义和影响,我们需要从多个维度进行剖析。

1. 背景:深度学习模型的显存瓶颈

在深入探讨8bit Optimizer之前,理解当前深度学习模型训练面临的显存瓶颈至关重要。

模型参数量爆炸式增长: 近年来,深度学习模型,尤其是大型语言模型(LLMs)和视觉模型,参数量呈指数级增长。一个拥有数十亿甚至数万亿参数的模型,其参数本身就需要占用巨大的显存。
梯度和优化器状态的显存开销: 除了模型参数,训练过程中还需要存储:
梯度 (Gradients): 每个参数都需要计算和存储相应的梯度。
优化器状态 (Optimizer States): 许多先进的优化器,如Adam、AdamW、RMSprop等,为了实现其高效的更新策略,需要存储额外的状态信息。例如,Adam需要存储一阶和二阶动量(momentum)的估计值,这使得每个参数的优化器状态开销是参数本身的两倍。
激活值 (Activations): 前向传播过程中计算的中间激活值也需要存储,尤其是在反向传播计算梯度时。虽然激活值的显存开销可以通过梯度检查点(gradient checkpointing)等技术进行缓解,但仍然是显存消耗的重要部分。
数据批次 (Data Batch): 输入数据的显存占用也与批次大小有关。
显存不足导致的问题: 显存不足直接限制了可以训练的模型规模、批次大小,甚至模型的架构设计。这迫使研究人员在模型能力和硬件限制之间做出妥协,或者依赖昂贵的硬件设备。

2. 8bit Optimizer的核心思想与技术原理

FAIR提出的8bit Optimizer,顾名思义,其核心是将原本以32bit(通常是float32)精度存储的优化器相关数值,压缩到8bit(通常是int8)精度进行计算和存储。这里的“优化器相关数值”主要指:

优化器状态 (Optimizer States): 这是8bit Optimizer最直接的应用。例如,在Adam优化器中,原本存储的动量(momentum)和方差(variance)等信息,会被量化到8bit。
梯度 (Gradients): 有些8bit优化器也会探索将梯度进行量化。

量化 (Quantization) 的本质:

量化是将高精度数值映射到低精度数值的过程。对于8bit量化,这意味着将原本可以表示的更大范围的数值,压缩到只有256个离散值中。这会带来信息损失,但关键在于如何最小化这种损失以保证模型性能。

FAIR提出的8bit Optimizer,通常指的是一种混合精度(Mixed Precision)的优化策略,它结合了以下关键技术:

存储量化 (Storage Quantization): 将模型的参数、梯度或优化器状态以8bit格式存储在显存中。这直接减少了显存占用。
计算量化 (Compute Quantization): 在进行优化器更新的计算时,也尽可能使用8bit进行。然而,直接进行低精度算术可能会导致精度问题,因此通常会采用一些策略来缓解。
反量化 (Dequantization): 在需要高精度数值进行某些计算时(例如梯度下降的加权求和),会将8bit数值反量化回更高的精度(如float16或float32)。

关键技术细节(可能包含的):

量化方案: 不同的量化方案会对性能产生影响。常见的有:
对称量化 (Symmetric Quantization): [range, +range] 被映射到 [127, 127](或 [128, 127])。
非对称量化 (Asymmetric Quantization): [min, max] 被映射到 [0, 255]。
动态范围量化 (Dynamic Range Quantization): 动态调整量化范围以适应数据的分布。
分块量化 (Blockwise Quantization): 将数据分成小块,每块有独立的量化参数。
量化器训练 (Quantizer Training) / 学习量化参数: 为了最大化精度,量化器本身也可能需要进行微调,或者使用数据驱动的方式来学习最佳的量化范围和偏移量。
梯度补偿/校正 (Gradient Compensation/Correction): 为了弥补量化带来的信息损失,可能会引入一些校正项来补偿梯度。例如,在反量化后,可能会对梯度进行一个缩放操作。
混合精度计算库: 利用专门的硬件加速器(如Tensor Cores)或软件库来高效地执行量化和反量化操作。

3. 8bit Optimizer的效果:相当的训练性能

FAIR提出的8bit Optimizer宣称能够达到与32bit Optimizer相当的训练效果,这意味着:

收敛速度相近: 在相同的训练轮数或迭代次数下,模型的损失值下降趋势与32bit Optimizer相当,不会出现收敛速度大幅减慢的情况。
最终模型精度相当: 在训练完成后,模型在各种评估指标上的性能与使用32bit Optimizer训练的模型相当。例如,在图像分类任务中,准确率接近;在自然语言处理任务中,BLEU分数或Perplexity等指标相似。
稳定性: 模型的训练过程保持稳定,不会出现剧烈的震荡或不收敛的情况。

为何可以做到这一点?

动量和方差的鲁棒性: 尽管优化器状态被量化,但动量和方差的累积特性在一定程度上能够抵抗低精度带来的噪声。在大量数据和迭代过程中,这些累积值会趋于稳定。
反量化到更高精度: 在关键的梯度下降更新步骤中,将8bit数值反量化到float16或float32进行计算,能够保证更新的精度,避免了完全在8bit算术下进行所有操作带来的巨大误差积累。
梯度本身仍然是高精度的: 在很多实现中,梯度本身可能仍然是以float16或float32的形式计算和传播的,只有优化器状态被量化。这意味着模型学习到的方向信号本身并未大幅降低精度。
针对性的优化技术: FAIR等研究团队会投入大量精力去设计更鲁棒的量化方案和训练技巧,以确保在低精度下也能维持高性能。例如,使用更小的批次大小进行量化范围的估计,或者采用更精细的量化器训练方法。

4. 8bit Optimizer的优势与影响

FAIR提出的8bit Optimizer带来的好处是显而易见的,对深度学习领域有着深远的影响:

显著的显存节省:
优化器状态: 这是最直接的节省。如果一个优化器需要两个状态变量(如Adam的m和v),那么每个参数的优化器状态从32bit(4 bytes)降到8bit(1 byte),可以节省 75% 的显存。对于拥有数十亿参数的模型,这意味着可以省下数十GB甚至上百GB的显存。
模型参数和梯度: 如果进一步将模型参数和梯度也进行量化,显存节省会更加可观。
支持更大规模的模型: 显存的减少意味着可以在同样的硬件上训练参数量更大的模型,从而提升模型的表达能力和性能。
支持更大的批次大小: 节省的显存可以用于增加批次大小,这有助于提高训练的稳定性和收敛效率。
降低硬件成本: 使用8bit Optimizer可以在相同性能下选择成本更低的硬件,或者在现有硬件上实现更高级的模型。
加速模型部署和推理(潜在): 虽然8bit Optimizer主要关注训练,但低精度表示的优化器状态和梯度,如果能够进一步与模型推理中的低精度技术结合,也可能为更高效的模型部署奠定基础。
推动低精度训练的研究: 这项工作为进一步探索全模型低精度训练(如4bit、2bit)提供了坚实的基础和信心。

5. 挑战与局限性

尽管8bit Optimizer带来了显著优势,但并非没有挑战和局限性:

实现复杂性: 实现一个高效且鲁棒的8bit Optimizer需要深入理解量化技术和GPU计算,实现起来比标准32bit优化器更复杂。
量化误差累积: 尽管经过优化,低精度计算仍然存在误差累积的风险,尤其是在训练后期或特定类型的模型上,可能会出现性能退化。
对不同模型的适应性: 某些模型架构或训练任务可能对低精度更敏感,需要更精细的量化策略或额外的调整。
硬件支持: 虽然GPU普遍支持低精度计算,但不同硬件平台对8bit计算的优化程度可能不同,影响实际性能。
调试难度: 当出现训练问题时,排查是否是由于量化引起的会更加困难。
对超参数敏感性: 量化过程可能会使模型对其他超参数(如学习率、权重衰减等)的敏感性发生变化,需要重新调整。

6. 与其他低精度训练技术的对比

理解8bit Optimizer,也需要将其与更广泛的低精度训练技术进行对比:

混合精度训练 (Mixed Precision Training, FP16/BF16):
原理: 将模型参数、梯度和部分计算使用16bit浮点数(FP16或BF16)进行,而将关键部分(如权重更新)保持在32bit浮点数。
FAIR的8bit Optimizer: 更进一步,将优化器状态(而非所有参数和梯度)压缩到8bit,这是它与标准混合精度训练最主要的区别。它专注于降低优化器显存占用的痛点。
优势: 8bit Optimizer在显存节省上比标准混合精度训练更具优势,尤其是在优化器状态占据主要部分的场景下。
局限性: 可能比FP16/BF16训练有更高的实现复杂度,且进一步的显存节省可能以牺牲一定训练稳定性和精度为代价。
全模型低精度训练 (e.g., 4bit, 2bit):
原理: 将模型参数、梯度、激活值甚至优化器状态都量化到4bit、2bit甚至binary(1bit)。
FAIR的8bit Optimizer: 这是一个更温和的低精度方案,在实现上更容易保证性能。它并没有追求极致的低比特,而是找到了一个在显存节省和性能之间取得良好平衡的点。
优势: 8bit Optimizer的性能和训练稳定性通常优于更极端的低精度方案。
局限性: 显存节省不如极端低精度方案。

7. 总结与展望

FAIR提出的8bit Optimizer是一项非常有价值的技术创新,它通过将优化器状态量化到8bit,有效解决了深度学习训练中因优化器状态占用的显存问题。其核心在于在极大地节省显存的同时,通过精巧的量化方案和反量化策略,尽可能地保持与32bit优化器相当的训练性能。

这项技术的出现,意味着:

模型规模的边界被推得更远: 更多的研究者和开发者可以在消费级硬件上训练更大、更强大的模型。
AI民主化进程加速: 降低了AI研究和开发的门槛。
为未来的低精度研究铺平道路: 验证了低比特表示在优化器层面的可行性,鼓励了对更低比特量化算法的探索。

未来,我们可以期待看到更多关于8bit Optimizer及其变种的研究成果,包括更高效的量化算法、更广泛的模型和任务适应性测试,以及与其他低精度技术(如低精度推理)的结合,共同推动深度学习技术的发展和普及。这项技术是AI在追求性能和效率之间取得平衡的又一个重要里程碑。

网友意见

user avatar

谢邀。上午学习了一下这篇文章,顺便看了看代码,在这里抛砖引玉一下~

本文主要是提出的一种对 optimizer 进行量化的方法,在不修改超参,不影响模型精度的情况下,把 adam / momentum 的状态量量化至 int8,从而缓解训练时的显存压力。

这个问题的背景大概是随着模型越来越大,尤其是预训练模型规模指数级增长,对显存的需求也就越来越高,而原始的 adam 优化器(因为感觉在 nlp 中 adam 比 sgd/momentum 用的更多一些,所以后文主要讨论 adam)对于每个参数都需要 m 和 v 两个 fp32 的参数,相当于每 1B 的参数都需要 8G 的存储空间,占了整体的很大一部分。所以如果能够把 optimizer state 量化下来,就能适当缓解显存的压力。

先要对优化器量化的流程做一个简单的介绍。一个常规的流程是这样的:

       低精度优化器 --> 高精度优化器状态 --> 结合梯度更新参数 --> 重新量化回低精度参数     

毕竟直接少了 3/4 的信息,所以为了避免精度损失,作者主要提出了 3 个 trick。前两个是针对量化这个过程的,最后一个对 Embedding 结构的一个针对性调整。

Block-wise Quantization

作者把参数划分为了小 Block(在实践中使用的是每 2048 个参数一个 block),在进行量化的时候,按照 block 内绝对值最大的数对这个 block 进行归一化,使得所有参数都落在 [-1, 1] 这个范围。相较于之前的整个参数层一起归一,有 3 点好处:

  1. 经过观察,在正态分布下,绝对值很大的参数的比例会很少,所以一起归一会使得大多数参数变得很小,从而使得量化过程中的一些数字范围对应的 int8 没有被充分利用,导致更多的信息丢失。而以 block 为单位会使这个影响限制在 block 中。

2. 一般来说,1 中提到的不到 1% 的这些”大数“ 往往是(arguably)更重要的,而量化过程可以保证最大的数的精度没有损失,所以划分为多个 block 之后可以保证更多“大数”的精度,从而保留重要部分的信息。

3. 分成小 block 有利于显卡的并行计算,提升计算效率。

Dynamic Quantization

第二条则是调整量化映射的方式。从 fp32 转至 int8,一般不会直接截断 cast,因为往往较小的数需要保留更多的小数位上的信息。所以之前作者提出过 Dynamic Tree Quantization,就是把 int8 也表示为类似于 fp32/fp16 的形式,分为指数部分和小数部分,如下图。这个结构表示的是 [-1, 1] 之间的数,分为 4 小部分:

  1. 符号位;
  2. 又连续多少 0 表明起始位是 1e-n;
  3. 第一个标注为 1 的数为标注位,表示后面就是小数位了;
  4. 后面的地方就是表示的一个线性的数值,例如下图中后 4 位是 9,而最大值是 15,所以为 9/15。

在本文中,因为观察到 adam 的 v 和 m 基本都在固定的 3~5 个数量级上,所以改成了固定的小数位数。并且因为 adam 的 v 项是恒正的,所以对于它去掉了指示符号的一位。

Stable Embedding Layer

最后是一个对 embedding layer 的一个改进。在实验中,他们发现 emebddign layer 经常出现梯度溢出等问题,所以在 embedding 中多加了个 layer norm,并且调小了初始值。文章宣称这种方法对原先 fp32 的训练也有效果。

具体实现

文章配了一个开源的 github,实现了高效版的 8bit Adam:

我去简单看了一下里面的实现,主要有这样几点。

  • 基本就是每个 optimizer 实现了几个 kernel,分别是 fp32 版,int8 w/o blockwise, int8 w blockwise,都是 inplace 运算。里面比较广泛地使用了 Nvidia 的 cub 库:github.com/NVIDIA/cub,用来做 load, store 和 reduce(用来求最大值)。
  • 在做量化方面,正向的查表(int8 -> fp32)就是在 python 中预先做好表再传入 kernel 的,反向的是通过类似 2 分法的方式完成的,具体可以看一下 dQuantizequantize_2D 2 个函数。里面有配置一个随机的量化选项,我不太清楚这是干啥的...

有的朋友可能要问了,DeepSpeed 不都已经说了可以把 optimizer 移到 CPU 上去做了吗?那这个工作的意义在哪里呢?实际上,随着模型规模的不断提升,我们慢慢会把 CPU 内存也都用上,所以这个方法也可以起到降低 CPU 内存压力的效果。尤其是对于我们团队最新开源的派大星(PatrickStar),我们可以做到只把马上要进行计算的参数放在 GPU 上,其余部分全部动态 offload 至 CPU。那么这个工作可能也可以让派大星能支持的规模进一步提升(目前的规模基本在单张 V100,240G 内存,训练 12B 参数的模型)。对我们这个工作有兴趣的朋友,可以看看这里:

以上。

类似的话题

  • 回答
    FAIR提出的8bit Optimizer:效果与32bit Optimizer相当的深度解析FAIR(Facebook AI Research)提出的8bit Optimizer,无疑是深度学习优化领域的一项重要进展。它在保持与传统32bit优化器相当的训练效果的同时,极大地降低了显存占用,为在资.............
  • 回答
    关于网传“北大文科博士在深圳大学任教经济困难,月薪13千,上网课要求学校发网络补助”的信息,需从多个角度进行分析,结合中国高校薪酬体系、地区差异及政策背景,综合判断其真实性及合理性。 一、信息真实性分析1. 来源可信度 目前尚无权威媒体或深圳大学官方声明证实该传言。网络传言往往存在夸大或误传.............
  • 回答
    关于乌克兰数学家康斯坦丁·奥尔梅佐夫(Konstantin Orelmazov)的自杀事件,目前公开的可靠信息较为有限,但结合俄乌冲突的背景和乌克兰学术界的现状,可以尝试从多个角度进行分析和探讨: 1. 事件背景的核实与可能性 身份确认:目前公开的资料中,尚未有明确的、权威的新闻来源(如BBC.............
  • 回答
    关于美国太平洋司令部空军司令威尔斯巴赫(James W. "Jim" Welsbach)提到的F35战机与歼20近距离接触的事件,目前公开信息中并无直接证据表明该言论来自美国官方渠道,因此需要从多个角度进行分析和澄清。 1. 事件背景与信息来源的可靠性 美国官方声明的缺失:截至2023年,美国.............
  • 回答
    关于您提到的“硅谷男子在妻子患病期间相亲,妻子病逝后迅速再婚并独吞200万抚恤金”的事件,目前没有权威媒体或官方渠道发布过相关具体信息。因此,这一事件的真实性、细节和法律性质尚无法确认。以下从法律、道德和社会角度进行分析,供您参考: 一、事件可能涉及的法律问题1. 重婚罪(若属实) 根据中国.............
  • 回答
    欧盟三国领导人乘坐火车前往基辅会晤泽连斯基,这一事件反映了欧洲国家对乌克兰的持续支持,以及俄乌冲突背景下国际政治的复杂动态。以下从多个角度详细分析这一事件及其背后的局势: 一、欧盟三国领导人赴基辅的背景与意义1. 象征性行动 欧盟三国(如波兰、爱沙尼亚、捷克等)领导人乘坐火车前往基辅,是近年.............
  • 回答
    中国海关查获5840块造假显卡、讯景中国官网临时关闭以及天猫旗舰店下架产品事件,涉及知识产权保护、市场秩序维护及企业合规问题,具有多重社会和行业影响。以下从多个角度详细分析: 一、事件背景与核心问题1. 海关查获假显卡 查获数量:5840块显卡,可能涉及假冒品牌(如讯景、华硕、技嘉等),或.............
  • 回答
    尹锡悦当选韩国总统是2022年韩国大选的重要结果,这一事件对韩国政治、经济、社会及国际关系产生了深远影响。以下从多个维度详细分析其背景、意义及可能的未来走向: 一、选举背景与过程1. 政治格局 在野党联盟胜利:2022年韩国大选中,由自由民主党和共同民主党组成的“在野党联盟”以压倒性优势击.............
  • 回答
    关于加州华裔女博士因持刀袭警被警方击毙的事件,这一案件涉及法律程序、执法权、种族问题等复杂背景,需要从多个角度进行分析。以下从法律、执法程序、社会背景、争议焦点等方面展开详细讨论: 1. 事件背景与法律依据根据公开报道,事件发生在2022年11月,加州一名华裔女性(身份为博士)因涉嫌持刀袭击警察,在.............
  • 回答
    基辛格的《论中国》(On China)是美国前国务卿亨利·基辛格(Henry Kissinger)于1972年访华期间撰写的一部重要著作,也是中美关系史上的关键文献之一。这本书不仅记录了基辛格作为“中间人”在中美关系正常化过程中的角色,还系统阐述了他对中国的政治、文化、历史和外交政策的深刻观察。以下.............
  • 回答
    印度承认误射导弹落入巴基斯坦境内一事,是印巴两国关系紧张的一个缩影,也反映了地区安全局势的复杂性。以下从多个维度详细分析这一事件的背景、影响及可能的后续发展: 一、事件背景与经过1. 时间与地点 事件发生在2023年6月,印度在进行军事演习时,一枚“阿金科特”(Agni5)远程导弹因技术故障.............
  • 回答
    2022年2月24日,俄罗斯在乌克兰发动全面军事行动后,联合国大会通过了一项决议草案,要求俄罗斯立即从乌克兰撤军、停止军事行动,并尊重乌克兰的主权和领土完整。这一决议的通过过程和结果引发了国际社会的广泛关注,以下是详细分析: 一、事件背景1. 俄罗斯的军事行动 2022年2月24日,俄罗斯在.............
  • 回答
    乌克兰副总理呼吁游戏厂商暂停在俄罗斯的业务,并点名腾讯,这一事件反映了俄乌冲突背景下,国际社会通过经济手段施压俄罗斯的策略。以下从背景、动机、可能影响及各方反应等方面进行详细分析: 一、事件背景与动机1. 俄乌冲突的经济压力 俄乌冲突已持续近两年,俄罗斯经济受到严重冲击,包括制裁、能源价格飙.............
  • 回答
    瓦列里·捷杰耶夫(Valery Gergiev)作为俄罗斯著名的指挥家和马林斯基剧院的音乐总监,其被西方音乐界抵制的事件,涉及复杂的国际政治、文化立场与艺术伦理问题。以下从多个角度详细分析这一事件的背景、原因、影响及争议: 一、事件背景:捷杰耶夫与俄罗斯的政治关联1. 职业背景 捷杰耶夫自1.............
  • 回答
    全国政协委员建议推广DNA数据库以实现有效打拐的建议,涉及技术、法律、伦理、实际操作等多方面因素,其可行性需从多个维度综合分析。以下从技术、法律、伦理、操作、风险等角度详细探讨: 一、技术可行性分析1. DNA数据库的原理 DNA数据库通过存储犯罪现场或失踪人员的DNA样本,利用DNA指纹技.............
  • 回答
    关于俄罗斯外交部发布的所谓“乌克兰政府对顿巴斯的暴行”视频,这一问题涉及俄乌冲突的复杂背景、信息战的特征以及国际社会的争议。以下从多个角度进行详细分析: 1. 背景与视频的来源 冲突背景: 顿巴斯地区(包括顿涅茨克和赫尔松两州)自2014年以来一直是俄乌矛盾的焦点。2022年2月,俄罗斯以“保.............
  • 回答
    关于抖音用户“李赛高(佤邦)”被封号的事件,目前公开信息较为有限,但可以从以下几个角度进行分析和探讨: 一、事件背景与可能原因1. 账号主体身份 “李赛高”可能是某位公众人物或网红,而“佤邦”可能与其身份或背景有关。佤邦是缅甸的一个少数民族地区,历史上曾与中国存在复杂关系,涉及民族、历史、政.............
  • 回答
    沈逸是中国人民大学国际关系学院教授,长期从事国际政治研究,尤其关注地缘政治与大国关系。他在俄乌冲突中的分析曾引发争议,但需注意的是,学术观点的准确性往往取决于信息来源、分析框架和时代背景。以下从多个角度分析其判断可能存在的问题及原因: 一、沈逸的分析背景与观点1. 2014年乌克兰危机前的预测 .............
  • 回答
    关于饶毅提到的“在美国校运动队的学生就能上哈佛等一众名校”的说法,需要从多个角度进行分析,既要理解其可能的背景和意图,也要客观看待美国大学的招生政策和实际情况。 一、饶毅的言论背景与可能的误解饶毅作为中国科学院院士,长期关注中国教育体系与国际教育的差异,曾在多个场合讨论中美教育制度的对比。如果他提到.............
  • 回答
    地狱笑话吧的突然爆火,是网络文化、社会情绪、平台算法和亚文化圈层共同作用的结果。以下从多个维度详细分析这一现象: 一、社会情绪的释放与心理需求1. 压力与焦虑的宣泄 在快节奏、高竞争的现代社会,人们普遍面临工作、生活压力。地狱笑话以其“荒诞”“反讽”“黑色幽默”的特点,成为一种情绪宣泄的出口.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有