1.1 为什么要把大模型量化到 INT4:本地推理的动机与显存墙 设想这样一个场景:你手头有一个对业务至关重要的模型,每天要处理成千上万条内部数据——客户合同、财务报表、员工信息。如果把它交给公有云 API,意味着这些敏感数据要离开你的内网;如果自建一台满血服务器跑原始精度的模型,光是显存就得按 TB 计,预算直接劝退。于是你自然地冒出一个念头:能不能把模型“塞”进手边那台配有消费级显卡的开发机,在本地、离线、私密地把活干了? 这个念头,就是本教程全部内容的起点。而“量化到 INT4”正是让这个念头从幻想变成现实的关键一招。本节我们先不碰任何命令和参数,而是把“为什么”讲透——只有想清楚动机和约束,后面每一步技术取舍你才做得到位。
设想这样一个场景:你手头有一个对业务至关重要的模型,每天要处理成千上万条内部数据——客户合同、财务报表、员工信息。如果把它交给公有云 API,意味着这些敏感数据要离开你的内网;如果自建一台满血服务器跑原始精度的模型,光是显存就得按 TB 计,预算直接劝退。于是你自然地冒出一个念头:能不能把模型“塞”进手边那台配有消费级显卡的开发机,在本地、离线、私密地把活干了?
这个念头,就是本教程全部内容的起点。而“量化到 INT4”正是让这个念头从幻想变成现实的关键一招。本节我们先不碰任何命令和参数,而是把“为什么”讲透——只有想清楚动机和约束,后面每一步技术取舍你才做得到位。
把大模型用起来,本质上只有两条路:要么调用云端推理接口,要么在自己机器上本地加载权重自己跑。二者没有绝对优劣,但本地推理在三类场景下几乎是必选项:
第一,数据隐私与合规。医疗、金融、法务、企业内部知识库等场景,数据出境本身就是红线。本地推理让原始数据全程不出域,审计和责任边界都清晰。
第二,成本结构。云端按 token 计费,规模上来后账单是线性增长的;本地推理是一次性硬件投入,边际调用成本趋近于零。当你每天要跑海量、低价值的批量任务(比如给十万份文档打标)时,本地方案的长期成本优势极其明显。
第三,延迟、可控与离线。没有网络往返、不受限流影响、不依赖第三方 SLA;在弱网或断网环境(工厂、车载、边缘设备)里,只有本地模型能工作。而且本地部署让你对批大小、上下文长度、采样策略拥有完全控制权。
当然,本地推理的代价是:你得自己解决“模型装得下、跑得动”这件硬核工程问题。这就引出了下一节的核心矛盾。
大模型之所以“重”,根本原因是参数多。一个参数在原始精度(FP16,半精度浮点)下占 2 个字节。于是模型体积可以一句话算清:
模型体积(GB)≈ 参数量(B)× 2(FP16 下每十亿参数约 2GB)
以 DeepSeek V3 / R1 级别的 671B MoE 模型为参照(V4 延续同一路线,体量相当),FP16 全精度权重就需要约 1342GB 显存——这已经超过任何单台、甚至多数多卡服务器的显存总和。即使只考虑每次推理实际激活的 37B 参数(MoE 的稀疏激活特性),光激活部分的 KV Cache 加上权重也远非消费级硬件能承受。
更麻烦的是,推理时除了权重,还要为**激活值(activation)**和 KV Cache 留显存:上下文越长、批越大,KV Cache 越膨胀。这就是为什么“模型能下载,但根本加载不起来”是新手最常见的 first blood。
这里有一组对照,直观展示精度选择如何改变“能不能跑”的结局(数值以 671B 级别权重为例,仅计权重,不含激活与 KV Cache):
看图说话:从 FP16 切到 INT4,权重显存从约 1342GB 直降到约 335GB,整整 4 倍压缩。如果配合 MoE 的稀疏激活、权重的 CPU/磁盘卸载(offload),以及第 4 章会讲到的部署技巧,把这样一个巨型模型放到多卡工作站甚至高内存机器上跑通,就从一个不可能变成了“仔细调一调就能成”。
为了让你对“显存墙”有更具体的体感,下面把几个典型体量在 FP16、INT8、INT4 下的权重显存(仅权重,不含激活与 KV Cache)一并列出。你会发现一个残酷的现实:在消费级显卡(常见 12GB–24GB)上,连 70B 的 FP16 都装不下,但 INT4 的 7B/13B 却能轻松塞进一张游戏卡。
这条对照直接决定了你的采购与部署策略:想“一张卡跑大模型”,INT4 几乎是唯一路径;而越往上走,光靠 INT4 还不够,还要叠加第 4 章的工程手段。
INT4,就是“用 4 个比特表示一个数值”。4 个比特能表示 2^4 = 16 个整数,通常取有符号范围 [-8, 7](或等效的无符号 [0, 15])。把原本用 FP16(16 比特、约 3 位有效十进制精度)保存的权重,映射到这 16 个离散整数上,存储体积自然变为原来的 4/16 = 1/4。
但这里必须说清一个关键真相:量化不是“无损压缩”。它本质上是把连续的、高精度的实数,强行离散化到 16 个格子上。格子的间隔(由缩放因子 scale 决定)越大,量化误差越大。INT4 只有 16 个档位,是所有“还能用”的精度里最激进的一档——档位越少,越容易把模型原本精细区分的权重“揉”在一起,造成精度损失。这正是本教程后半部分要帮你管理和最小化的东西。
很多人会问:INT8 不也能压一半吗?为什么非要冒 INT4 的险?答案在于目标硬件与体积门槛。下面这张决策图帮你快速定位该选哪种精度:
一句话建议:如果你的目标是“在有限硬件上跑尽可能大的模型”,INT4 是当前性价比最高的前沿;如果你更在意精度、且硬件够用,INT8/FP8 是更稳的选择。 本教程选择 INT4 作为主线,正是因为它的工程挑战最集中、最能代表“本地推理”的硬核价值。
INT4 不是凭空能跑的。好在最近几代硬件已经原生加速低比特推理:
换句话说,软件侧的量化技术和硬件侧的整型加速,是“同一枚硬币的两面”——没有硬件支持,INT4 只是纸面上的数字游戏。
把“量化后的 INT4 模型”真正跑起来,需要一条完整的软件链。理解这条链,你才知道每一步工具该干什么:
本教程第 4 章会带你用其中一条链路,完整走一遍从原始权重到本地可对话服务的全过程。
在动手之前,我必须把你可能会踩的坑先摆出来,免得后面白忙。这些不是抽象警告,而是几乎每个本地部署新手都会真实撞上的“落败现场”:
在结束本节前,给你一个可以直接照做的判断框架,省得你反复在“买什么卡”上纠结:
这条框架会在第 4 章真正派上用场——到时你会看到,显存账算对了,部署就成功了一大半。
读到这里,你应该能用一句话回答“为什么要把大模型量化到 INT4”:因为 FP16 的显存墙把巨型模型挡在本地之外,而 INT4 提供的 4 倍压缩,配合硬件整型加速,是把它们请回你自己的机器、实现私密、低成本、离线推理的唯一可行杠杆——代价是需要用对方法管理精度损失。
下一节,我们正式进入量化的数学本质:比特宽度、对称/非对称量化、以及决定成败的校准。