Weight Dequantization
2026/6/6大约 1 分钟
Weight Dequantization
题目描述
编写一个 GPU 程序,在 GPU 上对权重矩阵进行"解量化"。给定一个包含量化值的输入矩阵 ()和一个缩放矩阵 (),其中 为 tile 大小。
对于每个元素 ,对应的缩放因子为 ,其中:
输出 计算为:
实现要求
- 不允许使用外部库。
solve函数签名必须保持不变。- 最终结果必须存储在输出缓冲区 中。
示例
Input: M=4, N=4, T=2
X = [[10,10,5,5],[10,10,5,5],[2,2,8,8],[2,2,8,8]]
S = [[0.5, 2.0],[4.0, 0.25]]
Output: Y = [[5,5,10,10],[5,5,10,10],[8,8,2,2],[8,8,2,2]]
(Tile (0,0)×0.5, (0,1)×2.0, (1,0)×4.0, (1,1)×0.25)约束条件
- 。
- 。
- 性能测试在 的规模下进行。
解题思路
权重解量化是量化推理的逆操作——将低精度权重乘以每个 tile 的缩放因子恢复为浮点值。每 block 内的所有元素共享同一个缩放因子。通过先加载缩放因子到寄存器,然后复用计算整个 tile,可以显著减少对缩放矩阵的全局内存访问。每个线程块处理一个或多个 tile 时可以利用共享内存广播缩放因子。欢迎在 GitHub Discussions 分享你的解法。