Yi 模型 GPTQ 量化实战:使用 AutoGPTQ 对 Yi-1.5-6B-Chat 进行 8-bit 量化、保存与推理

发布时间:2026/11/12 15:38:58

Yi 模型 GPTQ 量化实战:使用 AutoGPTQ 对 Yi-1.5-6B-Chat 进行 8-bit 量化、保存与推理 Yi 模型 GPTQ 量化实战使用 AutoGPTQ 对 Yi-1.5-6B-Chat 进行 8-bit 量化、保存与推理【免费下载链接】YiA series of large language models trained from scratch by developers 01-ai项目地址: https://gitcode.com/GitHub_Trending/yi/Yi本文以 01-ai 开源仓库中的 AutoGPTQ 量化教程 为主体讲解如何基于 GPTQ 算法对 Yi 系列模型以 Yi-1.5-6B-Chat 为例进行训练后量化PTQ覆盖环境安装、模型加载、量化超参数配置、校准数据构造、量化模型保存与推理的完整闭环并辅以仓库内 quantization/gptq 目录下的源码实现作为底层依据。读完本文你将能够独立将 Yi 模型含微调后的模型量化为 GPTQ 格式并了解如何用 HuggingFace transformers 直接加载、使用量化产物。一、AutoGPTQ 与 GPTQ 量化概述AutoGPTQ 是一个基于 GPTQ 算法的大语言模型量化工具包简单易用且提供用户友好型接口通过它可以很方便地对 Yi 系列模型进行量化。GPTQGenerative Pre-trained Transformer Quantization是一种训练后量化Post-Training Quantization, PTQ方法无需重新训练仅借助少量校准数据即可把模型权重从 FP16 压缩到更低位宽从而在显著降低显存占用的同时保留模型精度并带来潜在的推理加速。仓库中 GPTQ 量化说明 也明确指出Yi 模型可以“毫不费力”地完成 GPTQ 量化官方同时提供基于 AutoGPTQ 的量化脚本与基于 transformers 的评估脚本。以 Yi-1.5-6B-Chat 为例使用 AutoGPTQ 完成 8-bit 量化后的资源占用情况如下量化前后磁盘占用差异明显显存需求也随之下降| 模型 | 显存使用 | 硬盘占用 | |--|------|------| | Yi-1.5-6B-Chat | 7G | 27G |说明上表为教程作者在 8-bitbits8量化配置下实测的资源占用具体数值会随量化位数、上下文长度max_position_embeddings、group_size以及输入 batch 大小而变化仅作参考基线。二、安装 AutoGPTQ推荐从源码安装AutoGPTQ 的官方推荐安装方式是直接从源码安装以获得与当前 CUDA / PyTorch 环境最匹配的编译产物git clone AutoGPTQ 源码仓库 cd AutoGPTQ pip install .安装完成后即可在 Python 中导入auto_gptq包使用AutoGPTQForCausalLM与BaseQuantizeConfig两个核心类。三、加载待量化模型AutoGPTQ 与 HuggingFace transformers 生态完全兼容因此加载模型的方式与常规 transformers 用法一致。既可以加载 HuggingFace 上发布的 Yi 原始权重也可以直接替换model_path为本地下载好的模型或已经微调好的 Yi 模型——量化流程与加载流程完全复用from auto_gptq import AutoGPTQForCausalLM, BaseQuantizeConfig from transformers import AutoTokenizer # 配置量化超参数 # 加载分词器和模型 model_path 01-ai/Yi-1.5-6B-Chat quant_path Yi-1.5-6B-Chat-GPTQ quantize_config BaseQuantizeConfig( bits8, # 量化为 8-bit 模型 group_size128, # 推荐 128 damp_percent0.01, desc_actFalse, # 设为 False 可以显著提升推理速度 ) tokenizer AutoTokenizer.from_pretrained(model_path) model AutoGPTQForCausalLM.from_pretrained(model_path, quantize_config)量化超参数逐项解读bits量化位宽。教程示例使用bits88-bit也可按需设为 4 以进一步压缩模型体积。仓库脚本 quant_autogptq.py 中默认值为--bits 4与教程的 8-bit 演示互为补充可根据精度与资源的权衡自行选择。group_size权重分组的通道数推荐 128。它控制量化尺度scale/zero point的计算粒度分组越小量化误差越小但存储开销与计算复杂度越高。damp_percentHessian 矩阵对角线上加入的阻尼项比例用于稳定矩阵求逆过程默认约 0.01 即可通常无需调整。desc_actdescending activation是否对激活值按重要性降序排列后再量化。设为False可以显著提升推理速度代价是极端离群值场景下的少量精度损失若更看重精度可设为True。四、构造校准数据并执行量化GPTQ 是训练后量化方法需要少量校准样本来估计权重重要性Hessian 信息。model.quantize(examples)中样本的数据类型应为List[Dict]且字典的键有且仅有input_ids和attention_mask——这是本步骤最容易出错的地方务必核对数据格式。以下示例演示如何把一条 Yi 的 Chat 格式对话role/content通过apply_chat_template转成文本再分词得到量化所需的输入import torch examples [] messages [ {role: user, content: hi}, {role: assistant, content: Hello! Its great to see you today. How can I assist you} ] text tokenizer.apply_chat_template(messages, tokenizeFalse, add_generation_promptFalse) model_inputs tokenizer([text]) input_ids torch.tensor(model_inputs.input_ids[:max_len], dtypetorch.int) examples.append(dict(input_idsinput_ids, attention_maskinput_ids.ne(tokenizer.pad_token_id))) model.quantize(examples)几个实操要点apply_chat_template(..., add_generation_promptFalse)生成不含生成提示符的完整对话文本确保校准数据贴近真实推理输入分布上例中max_len需要预先定义为截断长度如max_len 512用于控制单条校准样本的序列长度防止校准阶段显存溢出attention_mask通过input_ids.ne(tokenizer.pad_token_id)从input_ids直接推导无需额外构造实际应用中可准备多条多样化的对话样本组成examples列表样本越有代表性量化后的精度损失通常越小。五、保存量化模型量化完成后将模型与分词器一并保存到本地目录后续即可随时加载使用。使用use_safetensorsTrue以 safetensors 格式安全存储权重model.save_quantized(quant_path, use_safetensorsTrue) tokenizer.save_pretrained(quant_path)执行后Yi-1.5-6B-Chat-GPTQ目录下即为完整的量化模型产物含量化配置、safetensors 权重与分词器文件可以直接分发或部署。六、加载量化模型进行推理使用AutoGPTQForCausalLM.from_quantized从量化目录加载模型配合 transformers 的AutoTokenizer即可完成对话式推理from auto_gptq import AutoGPTQForCausalLM, BaseQuantizeConfig from transformers import AutoTokenizer, GenerationConfig quantized_model_dir Yi-1.5-6B-Chat-GPTQ tokenizer AutoTokenizer.from_pretrained(quantized_model_dir, use_fastTrue, trust_remote_codeTrue) model AutoGPTQForCausalLM.from_quantized(quantized_model_dir, device_mapauto, use_safetensorsTrue, trust_remote_codeTrue) output tokenizer.decode(model.generate( **tokenizer(|im_start|user Hi!|im_end| |im_start|assistant, return_tensorspt).to(model.device), max_new_tokens512)[0] ) print(output)要点说明device_mapauto让 transformers 自动将各层分配到可用设备显存有限时可自动卸载到 CPUtrust_remote_codeTrue用于加载 Yi 这类依赖远程代码remote code的模型配置与实现提示词采用 Yi 系列 Chat 模型的官方模板格式|im_start|user ...|im_end| |im_start|assistant与模型预训练时的对话格式保持一致可保证生成质量。七、仓库源码佐证脚本化量化与快速验证除了教程中的纯 API 流程仓库 quantization/gptq 目录还提供了两条可直接运行的命令行脚本可作为批量量化和验证的参考实现。7.1 一键量化脚本 quant_autogptq.pyquant_autogptq.py 封装了完整量化流程命令行用法python quant_autogptq.py --model /base_model \ --output_dir /quantized_model --bits 4 --group_size 128 --trust_remote_code从源码实现可以看出几个与教程互补的关键细节使用 transformers 的GPTQConfig而非BaseQuantizeConfig并内置datasetwikitext2作为校准数据集、disable_exllamaFalse启用 ExLlama 内核以加速推理加载配置后强制model_config.max_position_embeddings 4096代码注释明确说明这是为了避免量化阶段 OOM——与大序列校准样本导致显存超限的常见问题直接相关参数解析支持--bits默认 4、--group_size默认 128、--trust_remote_code与教程中的超参数一一对应模型以safe_serializationTrue保存与教程的use_safetensorsTrue行为一致。7.2 量化模型快速验证脚本 eval_quantized_model.py量化是否可用、精度是否符合预期可通过 eval_quantized_model.py 快速验证python eval_quantized_model.py --model /quantized_model --trust_remote_code该脚本加载量化模型后device_mapcuda:0、use_safetensorsTrue以count to 1000: 0 1 2 3为提示词、do_sampleFalse贪婪解码、max_new_tokens4096生成长序列文本从而直观检验量化模型在长文本生成任务上的连贯性与能力。它可以作为量化质量回归的简易手段配合教程中的对话式推理一起使用。八、使用注意事项小结数据格式严格性model.quantize(examples)要求List[Dict]字典只能包含input_ids与attention_mask两个键多余键会导致报错长序列显存量化阶段同样消耗显存建议控制校准样本长度如 5121024 token仓库脚本通过限制max_position_embeddings4096规避 OOM自定义流程时可参考此思路Chat 模板推理时必须使用 Yi 的|im_start|...|im_end|对话模板或apply_chat_template否则模型输出质量会明显下降微调模型复用无论是 HuggingFace 官方权重还是本地微调产物只需替换model_path即可走完全部量化流程无需改动任何代码精度与速度权衡desc_actFalse换推理速度、bits越低体积越小具体取舍应结合部署环境显存、延迟要求与精度评测结果决定仓库提供了 eval_quantized_model.py 帮助做量化前后对比验证。至此你已经掌握从零开始用 AutoGPTQ 量化 Yi 系列模型的完整链路安装 → 加载 → 配置超参数 → 构造校准数据 → 量化 → 保存 → 推理验证并可结合仓库 quantization/gptq 下的脚本实现工程化量产与验证。【免费下载链接】YiA series of large language models trained from scratch by developers 01-ai项目地址: https://gitcode.com/GitHub_Trending/yi/Yi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/11/12 15:38:55

23款AI写作工具实测:学术论文高效写作全攻略

1. 论文写作工具测评背景与价值作为一名经历过自考论文写作全过程的过来人,我深刻理解学术写作中遇到的三大痛点:文献检索效率低、格式规范难把握、写作过程缺乏智能辅助。去年撰写教育管理专业毕业论文时,我耗时两个月测试了市面上23款AI写作…

2026/11/12 4:13:56

Java录屏录音实战:JavaCV+FFmpeg实现MP4视频与AAC音频同步编码

简介:一份JavaFX桌面录屏录音软件项目源码,面向Java桌面应用与多媒体处理的开发者。项目完整实现录屏、录音、暂停、播放、MP4保存等功能,覆盖从界面搭建到音视频流处理的常见路径。压缩包共48个文件,以PNG截图、Java源码、class编…

2026/11/8 15:42:13

AI写作助手如何解决学术论文的结构化难题

1. 论文写作困境的本质剖析本科阶段的论文写作往往陷入一种"焦虑填空"的怪圈:学生手头堆积着零散的文献片段、未成形的观点和导师的碎片化建议,却缺乏将这些元素组织成有机整体的能力。这种困境源于三个层面的结构性矛盾:首先在认知…

2026/11/12 15:36:44

工地施工用电工证多少钱?忙到没时间复习怎么办?

工地施工用电工证多少钱?忙到没时间复习怎么办? 工地太忙根本没时间复习考试,这是很多一线施工人员的真实写照,尤其是需要持证上岗的电工岗位。工地施工用电工证不仅是上岗的门槛,更是保障施工安全的重要凭证。但很多人因为时间紧、任务重,对这个证的含…

2026/11/12 15:36:44

德庆在哪里报考电工证 2026河南最新政策你知道吗

德庆在哪里报考电工证 2026河南最新政策你知道吗 现在找电工相关的工作, 特种作业证 几乎成了硬门槛。我之前帮驻马店一家小施工队跑过手续,老板因为没及时考电工证,被罚了两万块,还被责令停工整顿。这事儿让不少老板和一线工人开始重视起来,特别…

2026/11/12 15:36:44

电工证能在县城报考吗?考前押题攻略帮你少走弯路

电工证能在县城报考吗?考前押题攻略帮你少走弯路 怕考不过白交培训费?电工证在县城能不能报?这些问题你是不是也遇到过?今天就带你搞清楚, 电工证能在县城报考吗 ,还有 考前押题 的干货,别错过。 一、电工证在县城能报考吗?真相在这里…

2026/11/12 15:36:44

电工证能在县城报考吗 电子证书怎么换 附备考攻略

电工证能在县城报考吗 电子证书怎么换 附备考攻略 之前考的证在外省能不能转过来?这个问题困扰了太多人,尤其是像你这样在驻马店从事房建工程的电工,经常要跑工地,手里有一本 电子证书…

2026/11/12 15:36:44

电工证证审是什么?全国通用特种作业证丢了怎么补办

电工证证审是什么?全国通用特种作业证丢了怎么补办 现在找工作,特种作业证几乎是门槛,尤其是电工证, 全国通用 ,不办证连面试都过不了。很多刚入行的朋友可能第一次听说“电工证证审”这个说法,其实说白了,这就是电工证审核流程,也就是考取电工证过…

2026/11/11 12:42:59

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/12 0:04:01

工地太忙根本没时间复习考试?学习电工证到哪里学通过率揭秘

工地太忙根本没时间复习考试?学习电工证到哪里学通过率揭秘 工地太忙根本没时间复习考试?你不是一个人。作为一名在南阳卧龙区干了七八年市政公用工程的电工,我深知这个问题的现实性。电工证不仅是工作的“入场券”,更是职业发展的“通行证”,但备考过程…

2026/11/12 0:04:01

双流电工证考别怕挂科!郑州报考避坑指南全攻略

双流电工证考别怕挂科!郑州报考避坑指南全攻略 实操考试心里没底怕挂科?双流电工证考在郑州报名,很多人因为不了解流程、准备不充分,白白浪费时间和金钱。作为三门峡应届工程类毕业生,我也曾经历过这样的焦虑。今天就从零开始,手把手教你如何避开郑州报…

2026/11/12 0:04:01

之前考的证在外省能不能转过来 怎么报名考电工证培训价格多少

之前考的证在外省能不能转过来 怎么报名考电工证培训价格多少 之前考的证在外省能不能转过来?这个问题确实让不少准备换城市工作的朋友犯了难,尤其像电工证这种实操性很强的证书,很多人担心跨省后证书能不能继续用。其实,只要符合相关流程,是可以顺利转…

2026/11/11 20:27:01

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/12 9:51:42

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑