Skip to content

Commit 0c2d88b

Browse files
authored
Update Quantization Scheme Standards for better readability (#106)
* adapt fixes on top of latest main that was pushed * fix orders of the quant schemes so that it doesn't create as many line changes * remove unnecessary .value
1 parent fdfe6ce commit 0c2d88b

File tree

1 file changed

+45
-9
lines changed

1 file changed

+45
-9
lines changed

src/compressed_tensors/quantization/quant_scheme.py

Lines changed: 45 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -111,55 +111,91 @@ def is_preset_scheme(name: str) -> bool:
111111
return name.upper() in PRESET_SCHEMES
112112

113113

114+
# 8 bit integer weights and 8 bit activations quantization
114115
W8A8 = dict(
115116
weights=QuantizationArgs(
116117
num_bits=8,
117-
symmetric=True,
118118
type=QuantizationType.INT,
119119
strategy=QuantizationStrategy.CHANNEL,
120+
symmetric=True,
121+
dynamic=False,
120122
),
121123
input_activations=QuantizationArgs(
122124
num_bits=8,
123-
symmetric=True,
124125
type=QuantizationType.INT,
125126
strategy=QuantizationStrategy.TOKEN,
127+
symmetric=True,
126128
dynamic=True,
127129
),
128130
)
129131

132+
# 8 bit integer weights only quantization
130133
W8A16 = dict(
131134
weights=QuantizationArgs(
132135
num_bits=8,
133-
symmetric=True,
134136
type=QuantizationType.INT,
135137
strategy=QuantizationStrategy.CHANNEL,
136-
)
138+
symmetric=True,
139+
dynamic=False,
140+
),
137141
)
138142

143+
# 4 bit integer weights only quantization
139144
W4A16 = dict(
140145
weights=QuantizationArgs(
141146
num_bits=4,
142-
symmetric=True,
143147
type=QuantizationType.INT,
144148
strategy=QuantizationStrategy.GROUP,
145149
group_size=128,
146-
)
150+
symmetric=True,
151+
dynamic=False,
152+
),
147153
)
148154

149-
FP8 = dict(
155+
# 4 bit integer weights and 8 bit activations quantization
156+
W4A8 = dict(
150157
weights=QuantizationArgs(
158+
num_bits=4,
159+
type=QuantizationType.INT,
160+
group_size=128,
161+
strategy=QuantizationStrategy.GROUP,
162+
symmetric=True,
163+
dynamic=False,
164+
),
165+
input_activations=QuantizationArgs(
151166
num_bits=8,
167+
type=QuantizationType.INT,
168+
strategy=QuantizationStrategy.TENSOR,
152169
symmetric=True,
170+
dynamic=True,
171+
),
172+
)
173+
174+
# FP8 weights and FP8 activations quantization
175+
FP8 = dict(
176+
weights=QuantizationArgs(
177+
num_bits=8,
153178
type=QuantizationType.FLOAT,
154179
strategy=QuantizationStrategy.TENSOR,
180+
symmetric=True,
181+
dynamic=False,
155182
),
156183
input_activations=QuantizationArgs(
157184
num_bits=8,
158-
symmetric=True,
159185
type=QuantizationType.FLOAT,
160186
strategy=QuantizationStrategy.TENSOR,
187+
symmetric=True,
161188
dynamic=False,
162189
),
163190
)
164191

165-
PRESET_SCHEMES = {"W8A8": W8A8, "W8A16": W8A16, "W4A16": W4A16, "FP8": FP8}
192+
PRESET_SCHEMES = {
193+
# Integer weight only schemes
194+
"W8A16": W8A16,
195+
"W4A16": W4A16,
196+
# Integer weight and activation schemes
197+
"W8A8": W8A8,
198+
"W4A8": W4A8,
199+
# Float weight and activation schemes
200+
"FP8": FP8,
201+
}

0 commit comments

Comments
 (0)