这是因为即使某些权重可能单独引入更多误差,但它们会在流程后期量化,此时剩下的其他权重很少,这可能会增加误差。事实证明,列的最终量化仅受对该列更新的影响,而不会受后续列的影响。因此,GPTQ 可以一次将算法应用于一批列(例如 128 列),仅更新这些列和矩阵的相应块。GPTQ 算法由 Frantar 等人 (2023) 提出,它从 OBQ 方法中汲取灵感,但进行了重大改进,可以将其扩展到(非常)大型的语言模型。对于批次中的每一列,它量化权重,计算误差,并相应地更新块中的权重。然后它循环运行,一次处理一批列。