QLora 里的4-bit NormalFloat Quantization中的分位数量化

news2024/9/23 5:23:35

目录

正态分布的分位数函数详解

1. 正态分布简介

2. 分位数函数定义

3. 正态分布的分位数函数计算

4-bit NormalFloat Quantization

4-bit NormalFloat Quantization详解

1. 4-bit NormalFloat Quantization的定义和应用

2. 4-bit NormalFloat Quantization的工作原理

3. 4-bit NormalFloat Quantization的优势

4. 4-bit NormalFloat Quantization在QLoRA中的应用


正态分布的分位数函数详解

1. 正态分布简介

正态分布,也被称为高斯分布,是连续概率的一种。它的概率密度函数呈钟形,可以完全由两个参数(均值和标准差)确定。在正态分布中,均值、中位数和众数是相等的。

2. 分位数函数定义

分位数函数,又称为逆累积分布函数,是累积分布函数的逆函数。对于正态分布,其分位数函数可以给出对应于预先指定的累积概率的观测值。例如,如果我们知道某个变量服从标准正态分布,我们可以使用分位数函数来找出对应于累积概率0.975的观测值。

3. 正态分布的分位数函数计算

正态分布的分位数函数无法用初等函数表示,但可以通过数值方法计算。在实际应用中,通常会使用查表或者软件(如R、Python等)来计算正态分布的分位数。

在Python中,可以使用scipy库的norm.ppf函数来计算正态分布的分位数。例如,计算标准正态分布(均值为0,标准差为1)累积概率为0.975的分位数,可以使用以下代码:

from scipy.stats import norm
norm.ppf(0.975, loc=0, scale=1)

这将返回约为1.96的结果,这意味着在标准正态分布中,约有97.5%的值小于或等于1.96。

4-bit NormalFloat Quantization

分位数量化的工作原理是将数据分布的分位数用较少的比特数来表示,从而达到数据压缩的目的。具体来说,它首先通过经验累积分布函数来估计输入数据的分位数,然后将这些分位数进行量化,即将连续的分位数转化为离散的数值。

分位数量化的工作方式是通过估算输入张量的分位数来利用经验累积分布函数。然而,分位数量化的主要挑战在于估计分位数的步骤可能需要较大的计算资源。

在神经网络的环境中,预先训练的权重通常呈现出零中心的正态分布,其标准差为σ。通过调整σ,可以使分布刚好符合NF的范围。对于NF,作者设定了一个随意的范围[-1, 1]。因此,数据类型和神经网络权重的分位数都需要被标准化到这个范围。

对于范围在[-1, 1]内的零均值正态分布,计算了从信息理论角度看最优的数据类型。

这个过程包括:(1) 估计理论N(0, 1)分布的 2**k+1 个分位数,从而得到一个k位的分位数量化数据类型;

(2) 将这个NF的值标准化到[-1, 1]范围;

(3) 通过最大绝对值的重新标定,将输入权重张量标准化到[-1, 1]范围,然后进行量化。一旦模型权重的范围与NF的范围相匹配,就可以像通常那样进行量化。这个过程等同于重新调整权重张量的标准差,使其与k位数据类型的标准差相匹配。更详细地,下面这个公式展示了 2**k+1到分位数的映射关系:

公式中的Qx 是分位数函数的表示。

4-bit NormalFloat Quantization详解

1. 4-bit NormalFloat Quantization的定义和应用

4-bit NormalFloat Quantization是一种改进的量化方法,它是基于之前的8-bit量化方法中提到的Block-wise Quantization和Quantile Quantization^1^。该方法被应用在QLoRA中,一个模型加载和训练的方法,其中模型使用4-bit NormalFloat量化加载,并在训练时将数值反量化为bf16进行训练^1^。

2. 4-bit NormalFloat Quantization的工作原理

Block-wise Quantization通过将数值分批量化,每个批次使用独立的常数c,以解决outlier对量化过程的影响^1^。Quantile Quantization通过将数值分为均匀分布的16个区间来充分利用16个可用的量化值,以避免信息丢失^1^。QLoRA使用双重量化方法,对常数c进行额外的量化,以减少显存开销^1^。

3. 4-bit NormalFloat Quantization的优势

4-bit NormalFloat(NF4)量化数据类型是一种对于正态分布数据而言在信息论上最优的量化数据类型^2^。使用4-bit NormalFloat Quantization,可以有效地减少显存使用,尽管实际训练是在bf16水平上进行的^1^。

4. 4-bit NormalFloat Quantization在QLoRA中的应用

QLoRA使用4位NormalFloat(NF4)量化数据类型,以及分页优化器,用于管理内存波动^2^。使用QLoRA进行微调的Guanaco模型在Vicuna基准测试上达到了ChatGPT性能水平的99.3%^2^。

以上就是关于4-bit NormalFloat Quantization的详细介绍,希望对您有所帮助。

参考文献

  1. "QLoRA: 4bit量化+LoRA训练=瞬间起飞 - 知乎" link
  2. "QLoRA: Efficient Finetuning of Quantized LLMs论文解读" link

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1645402.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

接口自动化测试之-requests模块详解

一、requests背景 Requests 继承了urllib2的所有特性。Requests支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动确定响应内容的编码,支持国际化的 URL 和 POST 数据自动编码。 二、requests安装 利用p…

古墓丽影年度版喜加一 亚马逊免费游戏领取教程+下载安装教程

最近我们的老朋友亚马逊平台又为玩家们带来了一款免费的3A大作,这款游戏作为古墓丽影的续作在全球范围内都有着很高的热度和评价。但是许多玩家不知道这款游戏该如何领取,下面小编就为大家带来详细教程。 在领取之前,我们一定要优化我们的网…

Debian mariadb 10.11设定表名 大小写不敏感方法

目录 问题表现:应用中查询 表提示 表不存在 处理步骤: 1、查询表名大小写敏感情况: show global variables like %case%; 2、修改mariadb 配置设置大小写 不敏感 mysql 配置大小写不敏感 mariadb 10.11设置表名大小写不敏感 /etc/mysq…

性能拉满!NeRF与SLAM结合,最新SOTA参数减少30倍!

给大家推荐一个非常新兴的,有大量创新点可以挖掘的好方向:NeRF结合SLAM。 通过结合NeRF的高质量三维场景重建能力和SLAM的动态定位与环境理解能力,我们可以利用逐帧收集的数据,逐渐构建出高质量的3D场景模型,实现更加…

centos无法tab补全至文件

很奇怪的需求:redhat 7.9版本用cd 只能到目录,无法到文件 我个人认为不是个问题,但是甲方需求,你懂的 首先,我们要搞清楚tab补全功能的包bash-completion是否安装,这里肯定是安装了,不过还是看…

引领智算变革,九章云极DataCanvas公司激活油气行业新质生产力

近日,“2024中国石油石化企业信息技术交流大会暨油气产业数字化转型高峰论坛”在京成功举办,九章云极DataCanvas公司携“油气行业AI智算服务全栈解决方案”震撼亮相,为油气行业数智化转型和新质生产力发展提供领先的技术视角和前瞻实战经验分…

热敏电阻符号与常见术语详细解析

热敏电阻是一种电阻器,其特点是电阻值随温度的变化而显著变化,这使得它们成为非常有用的温度传感器。它们可以由单晶、多晶或玻璃、塑料等半导体材料制成,并分为两大类:正温度系数热敏电阻(#PTC热敏电阻#)和…

2024上半年软考机考新政策:科目连考、分批次考试

辽宁省信息技术教育中心发布了《关于2024年上半年计算机技术与软件专业技术资格(水平)考试批次安排的通知》。 该通知明确了2024上半年软考辽宁考区的考试时间、考试方式、考试批次安排,与2023下半年软考机考形式有多处调整。 1、考试时间&am…

四川易点慧电子商务抖音小店:潜力无限的新零售风口

在当今数字化浪潮中,电子商务已经成为推动经济发展的重要引擎。四川易点慧电子商务有限公司凭借其敏锐的市场洞察力和创新精神,成功在抖音小店这一新兴平台上开辟出一片新天地。本文将探讨四川易点慧电子商务抖音小店的潜力及其在新零售领域的影响力。 一…

基于Spring Boot的校园疫情防控系统设计与实现

基于Spring Boot的校园疫情防控系统设计与实现 开发语言:Java框架:springbootJDK版本:JDK1.8数据库工具:Navicat11开发软件:eclipse/myeclipse/idea 系统部分展示 管理员登录首页界面图,管理员进入校园疫…

.OpenNJet应用引擎实践——从 0-1 体验感受

目录 一. 🦁 写在前面二. 🦁 安装使用2.1 安装环境2.2 配置yum源2.3 安装软件包2.4 编译代码2.5 启动 三. 🦁 使用效果3.1 编辑配置文件3.2 编辑 HTML 代码 四. 🦁 使用感受 一. 🦁 写在前面 现在互联网体系越来越往云…

C语言—控制语句

控制语句就是用来实现对流程的选择、循环、转向和返回等控制行为。 分支语句 if语句 基本结构 if(表达式) { 语句块1; } else { 语句块2; } 执行顺序: 如果表达式判断成立(即表达式为真),则执行语句块…

fork后如何同步最新的代码

1.查看自己的库并添加远程源库 #查看所有远程库的url git remote -v; #添加源项目url(upstream是自己定义的一个名字,可以删 git remote remove upstream) git remote add upstream 这里替换为源项目url; #查看所有远程库的url&…

【信息安全管理与评估】某年“信息安全管理与评估”第二阶段:Windows应急响应例题

文章目录 1、提交攻击者的IP地址;2、识别攻击者使用的操作系统;3、找出攻击者资产收集所使用的平台;4、提交攻击者目录扫描所使用的工具名称;5、提交攻击者首次攻击成功的时间,格式:DD /MM/YY:HH:MM:SS&…

高效、精准:皮秒激光切割机在陶瓷基板加工中的应用

皮秒激光切割机(激光划片机)在陶瓷基板切割领域具有显著的优势和潜力,主要体现在以下几个方面: 1. 高精度:皮秒激光切割机能够实现极高的切割精度,对于陶瓷基板这种需要精细加工的材料尤为重要。它能够在不…

生产管理驾驶舱模板分享,制造业都来抄作业!

今天要讲的是一张从组织、生产车间、物料、仓库、时间等不同维度,展示产能、产量、投入成本、产能达成率等关键信息,让企业运营决策者全面了解生产产能情况、产量情况、投入成本情况、产能达成率情况的BI生产管理驾驶舱模板。这是奥威BI标准方案为设有生…

【Web漏洞指南】XSS漏洞详细指南

【Web漏洞指南】XSS漏洞详细指南 概述XSS的三种类型执行任意 JS 代码的方式在原始HTML中注入绕过手法在 HTML标记内注入绕过手法在JavaScript代码中注入绕过手法其他绕过手法XSS常见有效载荷检索Cookies窃取页面内容键盘记录器查找内部IP地址端口扫描器自动填充密码捕获窃取 Po…

小猫咪邮件在线发送系统源码v1.1,支持添加附件

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 小猫咪邮件在线发送系统源码v1.1,支持添加附件 一款免登录发送邮件,支持发送附件,后台可添加邮箱,前台可选择发送邮箱 网站数据采取本地保存&…

Jmeter性能测试(三)

token鉴权处理 1、添加json提取器 2、写jsonpath表达式在响应Body中提取鉴权token token:变量名,可以直接引用 $…token:token数据在响应中的字段名称,根据自己情况写就行 3、将提取出来的token添加到请求头中 重点&#xff…

2024年电化学、可再生能源与绿色发展国际会议(ICERGD2024)

2024年电化学、可再生能源与绿色发展国际会议(ICERGD2024) 会议简介 2024国际电化学、可再生能源与绿色发展大会(ICERGD2024)将在青岛隆重举行。本次会议聚焦电化学、可再生能源和绿色发展领域的最新研究成果和技术趋势,旨在促进相关领域…