语言人工智能指南

QLoRA 和 4 位微调

QLoRA 是一种技术,可让您通过以每个权重仅 4 位存储冻结模型来微调单个消费级 GPU 上的大规模语言模型。

听听这个指南AI叙述 · ~2 min

在本页阅读时间:2分钟
  1. 概述
  2. 深入探讨
  3. 现实世界的实施
  4. QLoRA 和 4 位微调的未来
  5. 付诸实践
  6. 不断探索
  7. 常见问题

概述

它使得在之前只能处理该尺寸的一小部分的硬件上定制65B参数模型成为可能。

深入探讨

通常,微调大型模型意味着以 16 位精度加载每个权重并更新所有权重,这需要大量内存。 QLoRA 结合了两种想法。首先,它冻结预训练模型并将其量化为 4 位,将内存削减大约四倍。其次,它使用 LoRA:它不是更新巨大的权重矩阵,而是在它们旁边注入微小的可训练低阶适配器矩阵,因此只有几百万个参数得到更新。 4 位底座保持固定,而梯度仅流过小适配器。 QLoRA 由 Dettmers 及其同事于 2023 年推出,表明在一个 48GB GPU 上微调 65B 模型可以与完整 16 位微调的质量相媲美。

现实世界的实施

一家初创公司在单个 48GB GPU 上微调 70B Llama 模型,以用自己的品牌声音构建客户支持助理,而无需租用服务器集群。

一名研究人员使用一台消费级 RTX 4090 一夜之间将开放模型调整为利基医疗问答数据集。

开发人员为不同的任务创建了数十个小型、可交换的 LoRA 适配器,所有适配器都共享内存中加载的一个 4 位基本模型。

业余爱好者使用免费的 Colab 级硬件对个人聊天日志上的模型进行微调,以模仿特定的写作风格。

QLoRA 和 4 位微调的未来

4 位微调已成为标准做法,现在的研究正在朝着更低的精度方向发展,包括 2 位和 1 位(三进制)表示。 AWQ、GPTQ 和 HQQ 等较新的量化方案进一步提高了准确性,而 QA-LoRA 等技术的目标是即使在合并适配器后也能保持模型的量化。随着开放重量模型的发展,爱好者们可以期待工具能够在单个游戏 GPU 上微调 70B 以上的模型,从而成为常规的、民主化的定制。

付诸实践

为什么这很重要

  • 速度与规模. 语言工作流程可以在不牺牲一致性的情况下更快地移动。
  • 交通与覆盖范围. 它扩展了跨语言和沟通方式的访问。
  • 更清晰的判决. 团队可以花更多时间进行判断,而自动化则可以处理重复。

留意

  • 幻觉的事实可以悄悄地进入报告、支持流程或研究成果。
  • 及时的敏感性可能会在类似的请求中产生不一致的结果。
  • 如果访问控制薄弱,敏感文本数据可能会暴露。

后续步骤

  1. 在推出之前定义输出格式、语气和质量标准。
  2. 当准确性很重要时,请使用可信来源进行地面响应。
  3. 为高风险输出保留人工审查检查点。
  4. 跟踪故障模式并定期重新训练提示或工作流程。

不断探索

免费通讯

获取每日AI简报

每个工作日早晨提供三条经过验证的AI故事,使用简明英文撰写。永久免费,无广告。

每个工作日发送一封邮件。一键退订。我们永不出售或分享您的地址。

测试一下自己

Take the QLoRA and 4-Bit Fine-Tuning quiz

每个答案即时反馈,课程通过后可获得可验证ID的可分享证书。

开始测验

支持免费AI教育。AI Understanding是一家501(c)(3)非营利组织——无广告,无付费墙,永不收费。 捐款

常见问题

什么是QLoRA和4位微调?

QLoRA 是一种技术,可让您通过以每个权重仅 4 位存储冻结模型来微调单个消费级 GPU 上的大规模语言模型。它使得在硬件上定制 65B 参数模型成为可能,而以前只能处理该尺寸的一小部分模型。

QLoRA 的“4 位”部分背后的核心内存节省理念是什么?

QLoRA 以每个值 4 位存储冻结的预训练权重,与 16 位相比,内存减少了大约四倍。

在 QLoRA 微调期间,哪些参数实际上是通过梯度下降来更新的?

基础模型被冻结;只有注入的低秩适配器矩阵才会接收梯度更新,这只是参数的一小部分。

QLoRA 背景下的 NF4 是什么?

NF4(NormalFloat 4 位)是一种围绕神经网络权重的钟形曲线分布设计的数据类型,其精度比普通 int4 更高。

QLoRA 中的“分页优化器”解决什么问题?

Paged optimizers use NVIDIA unified memory to page optimizer states between GPU and CPU memory as needed; the QLoRA paper says this helps manage memory spikes and reduce out-of-memory risk during long-sequence fine-tuning.

训练期间什么时候将 4 位权重转换回更高精度?

During a matrix multiplication, quantized weights are dequantized on the fly to a higher-precision compute dtype (for example, BF16 or FP16 in QLoRA configurations); the temporary higher-precision values are not stored as a full base-model copy.