当前位置: 首页 > news >正文

qlora

QLoRA 代码实现及过程分析 | Liz

几个要点:

QLoRA 结合了 4-bit 量化和 LoRA 技术,具体实现步骤如下:

  • 4-bit 量化:使用 bitsandbytes 库实现 4-bit NormalFloat (NF4) 量化,将预训练模型权重压缩至 4 位,显著降低内存占用
  • LoRA:通过 peft 库实现 LoRA,添加低秩适配器(例如秩 r=16),仅更新少量参数
  • 结合技术:加载量化后的模型,附加 LoRA 适配器,使用 16-bit (bfloat16) 进行前向/反向传播计算

QLoRA(Quantized LoRA)微调步骤

  • 量化预训练模型:加载一个 已经量化的模型,例如 4bit 或 8bit 模型。
  • 冻结量化后的权重,只训练 LoRA 适配矩阵。
  • 在 量化后的模型 上进行微调,优化 LoRA 层的适配矩阵。
  • 推理时,仍然使用 量化后的权重,加上训练好的 LoRA 适配矩阵

为什么量化通常只用于线性层?

  • 线性层是参数最多、计算量最大的部分(参数集中)
  • 线性层结构简单、便于量化和解码(数学结构简单)
  • 非线性操作不好量化(其他层不适合,量化线性层影响较小)
  • 工程上已经高度优化了线性层量化(工程已优化)

相关文章:

  • MTK平台-- 如何在屏幕关闭时过滤组播和广播的数据包
  • Java开发经验——阿里巴巴编码规范实践解析7
  • 【stm32开发板】原理图设计(电源部分)附:设计PCB流程
  • sql查询中in不生效的问题
  • 【SQL Server Management Studio 连接时遇到的一个错误】
  • 额度年审领域知识讲解
  • 中间表/中转表笔记
  • ⚽【足球数据全维度解析】从基础统计到高阶分析,数据如何重塑现代足球?
  • 用 Python 模拟下雨效果
  • [智能算法]蚁群算法原理与TSP问题示例
  • 软考-系统架构设计师-第二章 嵌入式基础知识
  • 计算机总线技术深度解析:从系统架构到前沿演进
  • 软考-系统架构设计师-第七章 软件工程基础知识
  • MySQL 8.0中的mysql.ibd文件
  • 6个月Python学习计划 Day 8 - Python 函数基础
  • PCIe走线注意事项
  • [250529] CrateDB 5.10.7 发布:一系列重要修复与升级注意事项
  • 红 黑 树
  • 在windows环境下安装Nmap并使用
  • MySQL 数据库调优指南:提升性能的全面策略
  • 网站如何做电脑和手机/互联网营销师培训内容
  • 沈阳建设网站/广东疫情防控措施
  • python做网站难么/91手机用哪个浏览器
  • 专门做女性产品的网站/优化网站怎么真实点击
  • 专业做传奇网站解析/个人如何做seo推广
  • 百度不做网站外链是什么/百度竞价优化软件