Agent / 官方
专为量化推理设计的高性能 JIT 编译 GEMM 内核库
inclusionAI 在 GitHub 上开源了 Humming,一款专为量化推理场景打造的高性能、轻量级、高灵活性 JIT(即时编译)GEMM 内核库。Humming 支持 FP16、BF16、FP8、FP4、INT8、INT4 等多种激活类型,并可在 8 位以下任意权重类型上完成推理,同时兼容多种量化策略与缩放类型。在硬件兼容性方面,Humming 支持 SM75 及以上全系 NVIDIA GPU,覆盖从 Turing 到最新架构的设备。该库的极致轻量化是其一大亮点:仅需 PyTorch 和 NVCC 两项依赖,安装包体积仅 100 余 KB。项目设计参考了 DeepGEMM、Marlin Kernel 及 CUTLASS 等业界主流实现,并以 Apache-2.0 协议开源,目前已获得 214 个 Star 与 36 次 Fork。
Humming 是 inclusionAI 推出的一款面向量化推理的 JIT 编译 GEMM 内核库,核心目标是在保持极低依赖与极小体积的前提下,提供业界领先的吞吐量与计算效率。与传统静态编译内核不同,Humming 采用即时编译机制,能够根据实际运行环境动态生成最优内核,从而在多样化的计算场景中持续保持高性能表现。
在灵活性方面,Humming 支持 8 位以下任意权重类型的推理,激活类型涵盖 FP16、BF16、FP8(e4m3 与 e5m2)、FP4、INT8 及 INT4。量化策略上,支持对称量化、带动态零点的非对称量化,以及任意有符号浮点格式。缩放类型则兼容 BF16、FP16、E4M3、E5M2 和 UE8M0,并同时支持 Dense GEMM 与 MoE GEMM 两种计算模式。
硬件兼容性是 Humming 的另一大优势。该库支持 SM75 及以上全系 NVIDIA GPU,即从 2018 年发布的 Turing 架构(如 RTX 20 系列)起,直至最新的 SM120 架构均可运行。不同激活类型对应不同的最低 SM 版本要求:FP16 与 INT8 支持 SM75+,BF16 与 INT4 需要 SM80+,FP8 需要 SM89+,FP4 则需要 SM120+。
在使用方式上,Humming 提供了简洁的 Python API。用户只需通过 HummingLayer 定义矩阵形状与权重配置,调用 load_from_unquantized 加载原始权重并完成量化,再通过 transform 方法将权重转换为 Humming 格式并准备默认内核,最终直接调用 layer 即可执行量化 GEMM 运算。整个流程无需手动管理内核选择,系统会自动匹配最优配置。
Humming 的设计理念强调极致轻量化:整个库仅依赖 PyTorch 和 NVCC,安装包体积仅 100 余 KB,远低于同类内核库。项目以 Apache-2.0 协议开源,设计上参考并致敬了 DeepGEMM、Marlin Kernel、lmdeploy GEMM kernel 及 CUTLASS 等业界主流实现。目前项目已获得 214 个 Star,适合需要在生产环境中部署高效量化推理的工程团队参考使用。
要点
- Humming 是专为量化推理设计的 JIT 编译 GEMM 内核库,支持 FP16 至 FP4 多种激活类型及 8 位以下任意权重格式
- 仅依赖 PyTorch 与 NVCC,安装包体积仅 100+KB,极致轻量化便于集成部署
- 兼容 SM75 及以上全系 NVIDIA GPU,覆盖 Turing 至最新架构,硬件适配范围广
- 同时支持 Dense GEMM 与 MoE GEMM,适配主流大模型推理架构需求
- 以 Apache-2.0 协议开源,API 简洁,内核自动选择,降低工程接入门槛
原始标题:inclusionAI/humming — Humming is a high-performance, lightweight, and highly flexible JIT (Just-In-Time) compiled GEMM kernel library specifically designed for quantized inference.
本文由 DataHub 基于公开来源整理,用于信息发现与摘要阅读;具体事实、数据和后续更新以原始来源为准。