基础知识
QLoRA,这是一种高效的微调方法,可减少内存使用量,使得在单个 48GB GPU 上就可以微调 65B 的模型,而且所得模型的性能与全 16 比特微调相当。QLoRA 通过冻结 4 比特量化的预训练语言模型将梯度反向传播到低秩适配器 (LoRA) 中。我们最好的模型 (我们将其命名为 Guanaco) 仅需在单个 GPU 上进行 24 小时微调,就能在 Vicuna 基准测试中优于所有之前公开发布的模型,且达到了 ChatGPT 性能水平的 99.3%。
是什么能让QLoRA如此厉害了?
- 1, 4 位 NormalFloat (NF4),一种新的数据类型,在信息论意义上是正态分布权重的最佳表示
- 2, 双层量化,通过对量化系数进行二次量化来减少平均内存占用
- 3, 用于降低峰值内存占用的分页优化器。
就是上面三块新技术,保证我们使用QLoRA用较低成本训练我们特定的任务。
量化
量化是把一个输入从拥有更多信息的表示离散化为拥有更少信息表示的过程。这意味着常常把一个数据类型从更多位转换为更少位,例如:从32位浮点数转换为8位整数。
有一种不太准确的说法,量化后的整数都有一个对应浮点数,比如:

这也叫线性量化
正态分布
正态分布描述了一类数据的分布规律,在均值附近的数据集中度最高,随着数据远离均值,出现的概率逐渐减小,并且这种分布在统计图上呈现对称的钟形曲线。
如图:

在均值0处数据集中,随着数据远离均值,出现的概率逐渐减

最低0.47元/天 解锁文章
31万+

被折叠的 条评论
为什么被折叠?



