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

llm-compressor添加新量化策略 -- 邪修方法

常规步骤请参考自定义 INT4 Block 量化从 llm-compressor 到 vLLM 完整讲解-CSDN博客这篇文章主要讲解一下另一条非常规但是特别简单的添加量化策略的路径从上一篇文章我们知道添加自定义的量化策略是需要通过继承Modifier自己实现一边完整流程包括计算scale等。但是量化整体上来区分无非也就一下几种group分组block分块per-channelper-tokenper-tensor这些其实在compressor里面都有的只不过定义在另一个依赖包compressed-tensors里compressed-tensors\src\compressed_tensors\quantization\quant_scheme.py文件太长就不完全粘贴过来了留两个示例# 4 bit integer weights only quantization W4A16 dict( weightsQuantizationArgs( num_bits4, typeQuantizationType.INT, strategyQuantizationStrategy.GROUP, group_size128, symmetricTrue, dynamicFalse, ), ) # 4 bit integer weights only asymmetric quantization W4A16_ASYM dict( weightsQuantizationArgs( num_bits4, typeQuantizationType.INT, strategyQuantizationStrategy.GROUP, group_size128, symmetricFalse, dynamicFalse, ), ) FP8_BLOCK dict( weightsQuantizationArgs( num_bits8, typeQuantizationType.FLOAT, strategyQuantizationStrategy.BLOCK, symmetricTrue, dynamicFalse, block_structure[128, 128], ), input_activationsQuantizationArgs( num_bits8, typeQuantizationType.FLOAT, strategyQuantizationStrategy.GROUP, symmetricTrue, dynamicTrue, group_size128, ), )那如果我们直接自己组合一个新的QuantizationArgs能不能行呢QuantizationArgs(num_bits4,typeQuantizationType.INT,strategyQuantizationStrategy.GROUP,group_size128,symmetricTrue,dynamicFalse,)答案是还真行下面来详细讲解一些怎么通过这种方式实现上一篇文章中的int4_block量化1. 定义新的QuantizationArgs有两种方式可以实现自行选取方式一复制 W4A16 的所有字段只改分组方式from compressed_tensors.quantization import ( QuantizationArgs, QuantizationStrategy, QuantizationType, ) W4A16_BLOCK dict( weightsQuantizationArgs( **{**W4A16[weights].model_dump(), # 继承 W4A16 的所有字段 strategy: QuantizationStrategy.BLOCK, group_size: None, # 清掉 group 配置 block_structure: [16, 16]}, # 加上 block 配置 ), )方式二直接写新配置更清晰from compressed_tensors.quantization import ( QuantizationArgs, QuantizationStrategy, QuantizationType, ) W4A16_BLOCK dict( weightsQuantizationArgs( num_bits4, typeQuantizationType.INT, strategyQuantizationStrategy.BLOCK, block_structure[16, 16], symmetricTrue, dynamicFalse, ), )这样写是不是简单多了避免了继承 Modifier 的复杂流程2. 注册新的scheme这是最重要的一步把这个自定义的scheme注册到quant_scheme中from compressed_tensors.quantization import quant_scheme if W4A16_BLOCK not in quant_scheme.PRESET_SCHEMES: quant_scheme.PRESET_SCHEMES[W4A16_BLOCK] W4A16_BLOCK print([register_block_scheme] W4A16_BLOCK registered)完整代码 register_custom_scheme.pyImport this module to register W4A16_BLOCK preset scheme. from compressed_tensors.quantization import ( QuantizationArgs, QuantizationStrategy, QuantizationType, ) from compressed_tensors.quantization import quant_scheme W4A16_BLOCK dict( weightsQuantizationArgs( num_bits4, typeQuantizationType.INT, strategyQuantizationStrategy.BLOCK, block_structure[16, 16], symmetricTrue, dynamicFalse, ), ) if W4A16_BLOCK not in quant_scheme.PRESET_SCHEMES: quant_scheme.PRESET_SCHEMES[W4A16_BLOCK] W4A16_BLOCK print([register_block_scheme] W4A16_BLOCK registered)量化时只要导入register_custom_scheme.py 执行注册就可以直接使用了import register_block_scheme # register custom quant scheme recipe QuantizationModifier(targetsLinear, schemeW4A16_BLOCK, ignore[lm_head]) oneshot(modelmodel, reciperecipe, pipelinedatafree)这样是不是就简单多了不过这是针对llm-compressor这部分量化sheme的组合想要在vllm顺利执行推理还要在vllm侧添加对应的scheme分发路由可以参考上一篇文章自定义 INT4 Block 量化从 llm-compressor 到 vLLM 完整讲解-CSDN博客
http://www.zskr.cn/news/1362197.html

相关文章:

  • CANN 昇腾训练食谱全景解读:cann-recipes-train 架构与使用指南
  • 2026系统运维培训机构点评榜|真机实战、就业兜底怎么选?资深运维一次讲透
  • 置信预测中APS与RAPS的覆盖差距:效率与可靠性的权衡
  • 2026南京娱乐许可证办理优质服务商推荐:南京农药兽药许可证办理/南京出版物许可证办理/南京危化品许可证办理/南京增值电信许可证办理/选择指南 - 优质品牌商家
  • 在Ubuntu 20.04上从源码编译Asterisk 18:保姆级避坑指南(解决pjproject、jansson依赖问题)
  • 鸿蒙electron跨端框架PC课业板实战:课程、截止时间、提交物和风险都放到桌面上
  • Cortex-R MPU配置与推测访问风险防范
  • 团队协作项目开发流程复盘:为什么需求分析之后一定要做原型评审?
  • 1000个文件重命名,1秒完成!批量文件重命名软件
  • 机环交互会产生新形态的机器智能吗?
  • 最小生成树 详解
  • 2026年现阶段,如何选择武汉诚信的沸石转轮+RTO设备服务商?武汉润华环保设备领航者深度解析 - 2026年企业推荐榜
  • 从‘搭积木’到‘懂原理’:手把手拆解CNN-BiLSTM,用Python预测股价为什么有效(附完整代码)
  • 2026煤矿用涂塑复合钢管品牌推荐榜:聚氨酯保温管材、聚氨酯保温钢管、聚氨酯发泡保温管、聚氨酯成品保温管、聚氨酯热水保温管选择指南 - 优质品牌商家
  • 官宣了,黎家盈成为港澳地区的首位航天员!
  • 前端实习面试手写题分享
  • 2026年5月4日 OCS技术方案路线选择与优劣深度调研报告
  • 2026南京本地推广公司推荐榜:腾讯元宝推广公司/苏州抖音代运营公司/苏州本地推广公司/门窗行业线上怎么获客/高端全屋定制IP打造团队/选择指南 - 优质品牌商家
  • Ettin Reranker 出了一整个家族,我帎你把选哪个说清楚
  • 为什么你的渐变总像PPT?揭秘Midjourney v6.2中未公开的--color-bleed机制与渐变锚点定位技术
  • 超详细图解Attention机制:从原理到Self-Attention、多头注意力全覆盖
  • 【深度解析】制造业选AI Agent,应看重行业经验还是通用能力?
  • 从纸质报表到Excel:PaddleOCR+Python自动化识别复杂表格(附完整代码)
  • 2026进户门精选:四川保温门/四川入户门/四川别墅入户门/四川加厚防盗门/四川单开门/四川子母门/四川安全门/选择指南 - 优质品牌商家
  • 工具变量评估与合成:从核心原理到机器学习实践
  • 如何在Mac上实现NTFS完美读写:Free NTFS for Mac终极指南
  • 使用SenseNova-U1开源模型生图新体验
  • Laravel10.x重磅升级:8大新特性解析
  • Taotoken在容灾与路由方面的稳定性保障机制解析
  • rk3566 配置HDMI的屏的流程