TensorRT int8 calibration table生成及解析

本文详细介绍了TensorRT中INT8量化推理的优势,包括接近FP32精度、减少存储需求和降低内存带宽消耗。INT8推理的关键在于calibration,需要一个有代表性的calibration dataset来生成calibrationtable。通过优化算法确保激活值分布的KL散度接近,最终生成的calibrationtable包含关键数据,用于加速后续推理过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TensorRT int8推理的精度接近fp32, 但是存储空间更小,对memory的带宽消耗也少,同时推理速度也有一定的提升。是一项很重要的技术。

跟fp16和fp32不一样,使用int8推理必须先要做calibriation,其实就是再做浮点数定点化的一些操作,然后将一些关键数据保存下来,下次使用时,就不用重新生成了。这些数据会被记录到一个calibration table的文件中。为了生成calibration table需要准备一个calibration dataset, 通常要500-1000个samples, 这些samples要有代表性,task中的每个类别都要能涵盖住,最好时validation set的一个子集。

有了calibration dataset,使用一些常用的优化算法,比如nvidia介绍的,每一层的activation value 分布的KL散度,fp32的KL散度和int8对应的KL散度要很相似。优化算法跑完会输出一个calibration table或者calibration cache, TensorRT将优化封装到nvinfer library中了,只提供了几个简单的接口,将calibration table保存下来。

calibration table格式如下:

TensorRT: Performing Inference In INT8 Using Custom Calibration

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值