EquivalentTransformation Configuration#
|
Mobilint SDK qb Compiler v1.0
MCS002-EN
|
EquivalentTransformation configuration definitions used by Mobilint compiler for model quantization. More...
Classes | |
| class | qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig |
| Configuration for equivalent transformation techniques. More... | |
Functions | |
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.__init__ (self, int seed, bool apply_hadamard_rotation_matrix, bool norm_conv_apply, bool norm_conv_learn, float norm_conv_smoothing_factor, float norm_conv_min_gamma, float norm_conv_max_gamma, bool qk_apply, float qk_smoothing_factor, float qk_min_gamma, float qk_max_gamma, bool ud_apply, bool ud_learn, float ud_smoothing_factor, float ud_min_gamma, float ud_max_gamma, bool vo_apply, float vo_smoothing_factor, float vo_min_gamma, float vo_max_gamma, bool ff_multi_lut_apply, List[float] ff_multi_lut_breakpoints, bool spin_r1_apply, str spin_r1_matrix_path, bool head_out_ch_rotation_apply, str head_out_ch_rotation_matrix_path, bool spin_r2_apply, bool spin_r2_learn, str spin_r2_matrix_path, bool qk_rotation_apply, str qk_rotation_matrix_path, bool flatten_quant_apply, bool flatten_quant_learn, float flatten_quant_apply_threshold, float flatten_quant_max_overhead, bool optimize_ffn_apply, int optimize_ffn_ch_per_ffn, bool optional=optional) | |
| Initialize the EquivalentTransformationConfig. | |
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.check_valid (self, except_list=["optional"]) | |
| Override to skip py_to_cpp_name check (uses nested structure in to_dict) | |
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.default_config (cls) | |
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.from_dict (cls, dict config_dict) | |
| Create EquivalentTransformationConfig from dictionary (JSON structure) | |
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.to_dict (self) | |
| EquivalentTransformationConfig | qbcompiler.configs.equivalent_transformation_config.get_equivalent_transformation_config (**kwargs) |
| Create EquivalentTransformationConfig with partial parameters merged with defaults. | |
Detailed Description
EquivalentTransformation configuration definitions used by Mobilint compiler for model quantization.
Function Documentation
◆ __init__()
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.__init__ | ( | self, | |
| int | seed, | ||
| bool | apply_hadamard_rotation_matrix, | ||
| bool | norm_conv_apply, | ||
| bool | norm_conv_learn, | ||
| float | norm_conv_smoothing_factor, | ||
| float | norm_conv_min_gamma, | ||
| float | norm_conv_max_gamma, | ||
| bool | qk_apply, | ||
| float | qk_smoothing_factor, | ||
| float | qk_min_gamma, | ||
| float | qk_max_gamma, | ||
| bool | ud_apply, | ||
| bool | ud_learn, | ||
| float | ud_smoothing_factor, | ||
| float | ud_min_gamma, | ||
| float | ud_max_gamma, | ||
| bool | vo_apply, | ||
| float | vo_smoothing_factor, | ||
| float | vo_min_gamma, | ||
| float | vo_max_gamma, | ||
| bool | ff_multi_lut_apply, | ||
| List[float] | ff_multi_lut_breakpoints, | ||
| bool | spin_r1_apply, | ||
| str | spin_r1_matrix_path, | ||
| bool | head_out_ch_rotation_apply, | ||
| str | head_out_ch_rotation_matrix_path, | ||
| bool | spin_r2_apply, | ||
| bool | spin_r2_learn, | ||
| str | spin_r2_matrix_path, | ||
| bool | qk_rotation_apply, | ||
| str | qk_rotation_matrix_path, | ||
| bool | flatten_quant_apply, | ||
| bool | flatten_quant_learn, | ||
| float | flatten_quant_apply_threshold, | ||
| float | flatten_quant_max_overhead, | ||
| bool | optimize_ffn_apply, | ||
| int | optimize_ffn_ch_per_ffn, | ||
| bool | optional = optional ) |
Initialize the EquivalentTransformationConfig.
- Parameters
-
seed int. Random seed used for equivalent transformation operations. Default is 0. apply_hadamard_rotation_matrix bool. If True, apply the Hadamard rotation matrix where applicable. Default is True.
NormConv
- Parameters
-
norm_conv_apply bool. If True, enable NormConv transformation. Default is False. norm_conv_learn bool. If True, learn NormConv parameters during calibration/optimization. Default is False. norm_conv_smoothing_factor float. Smoothing factor used in NormConv. Default is 0.5. norm_conv_min_gamma float. Minimum gamma value (lower bound clamp) for NormConv. Default is 0.0001. norm_conv_max_gamma float. Maximum gamma value (upper bound clamp) for NormConv. Default is 10000.0.
QK
- Parameters
-
qk_apply bool. If True, enable QK transformation. Default is False. qk_smoothing_factor float. Smoothing factor used in QK. Default is 0.5. qk_min_gamma float. Minimum gamma value (lower bound clamp) for QK. Default is 0.0001. qk_max_gamma float. Maximum gamma value (upper bound clamp) for QK. Default is 10000.0.
UD
- Parameters
-
ud_apply bool. If True, enable UD transformation. Default is False. ud_learn bool. If True, learn UD parameters during calibration/optimization. Default is False. ud_smoothing_factor float. Smoothing factor used in UD. Default is 0.5. ud_min_gamma float. Minimum gamma value (lower bound clamp) for UD. Default is 0.0001. ud_max_gamma float. Maximum gamma value (upper bound clamp) for UD. Default is 10000.0.
VO
- Parameters
-
vo_apply bool. If True, enable VO transformation. Default is False. vo_smoothing_factor float. Smoothing factor used in VO. Default is 0.5. vo_min_gamma float. Minimum gamma value (lower bound clamp) for VO. Default is 0.0001. vo_max_gamma float. Maximum gamma value (upper bound clamp) for VO. Default is 10000.0.
FeedForwardMultiLUT
- Parameters
-
ff_multi_lut_apply bool. If True, enable FeedForward Multi-LUT. Default is False. ff_multi_lut_breakpoints List[float]. Breakpoints used for FeedForward Multi-LUT piecewise regions. Default is [-8.0, -4.0, 0].
SpinR1
- Parameters
-
spin_r1_apply bool. If True, enable SpinR1 rotation. Default is False. spin_r1_matrix_path str. Path to the SpinR1 rotation matrix file. Default is "".
HeadOutChRotation
- Parameters
-
head_out_ch_rotation_apply bool. If True, enable HeadOutChRotation. Default is False. head_out_ch_rotation_matrix_path str. Path to the HeadOutChRotation matrix file. Default is "".
SpinR2
- Parameters
-
spin_r2_apply bool. If True, enable SpinR2 rotation. Default is False. spin_r2_learn bool. If True, learn the SpinR2 rotation matrix/parameters during calibration/optimization. Default is False. spin_r2_matrix_path str. Path to the SpinR2 rotation matrix file. Default is "".
QKRotation
- Parameters
-
qk_rotation_apply bool. If True, enable QKRotation. Default is False. qk_rotation_matrix_path str. Path to the QKRotation matrix file. Default is "".
FlattenQuant
- Parameters
-
flatten_quant_apply bool. If True, enable FlattenQuant. Default is False. flatten_quant_learn bool. If True, learn FlattenQuant parameters during calibration/optimization. Default is False. flatten_quant_apply_threshold float. Threshold for applying FlattenQuant. Default is 0.33. flatten_quant_max_overhead float. Maximum allowed overhead when applying FlattenQuant. Default is 0.05.
OptimizeFFN
- Parameters
-
optimize_ffn_apply bool. If True, enable OptimizeFFN. Default is False. optimize_ffn_ch_per_ffn int. Number of channels per FFN used when OptimizeFFN is enabled. Default is -1. optional bool. Indicates whether this config is optional. Use the default value defined as a class variable.
Definition at line 96 of file equivalent_transformation_config.py.
◆ check_valid()
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.check_valid | ( | self, | |
| except_list = ["optional"] ) |
Override to skip py_to_cpp_name check (uses nested structure in to_dict)
Definition at line 277 of file equivalent_transformation_config.py.
◆ default_config()
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.default_config | ( | cls | ) |
Definition at line 283 of file equivalent_transformation_config.py.
◆ from_dict()
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.from_dict | ( | cls, | |
| dict | config_dict ) |
Create EquivalentTransformationConfig from dictionary (JSON structure)
Definition at line 287 of file equivalent_transformation_config.py.
◆ to_dict()
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.to_dict | ( | self | ) |
Definition at line 418 of file equivalent_transformation_config.py.
◆ get_equivalent_transformation_config()
| EquivalentTransformationConfig qbcompiler.configs.equivalent_transformation_config.get_equivalent_transformation_config | ( | ** | kwargs | ) |
Create EquivalentTransformationConfig with partial parameters merged with defaults.
Definition at line 482 of file equivalent_transformation_config.py.
Variable Documentation
◆ optional
|
static |
Definition at line 22 of file equivalent_transformation_config.py.
◆ py_to_cpp_name
|
static |
Definition at line 23 of file equivalent_transformation_config.py.
◆ DEFAULTS
|
static |
Definition at line 27 of file equivalent_transformation_config.py.
◆ min_max_check
|
static |
Definition at line 79 of file equivalent_transformation_config.py.
◆ seed
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.seed = seed |
Definition at line 215 of file equivalent_transformation_config.py.
◆ apply_hadamard_rotation_matrix
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.apply_hadamard_rotation_matrix = apply_hadamard_rotation_matrix |
Definition at line 216 of file equivalent_transformation_config.py.
◆ norm_conv_apply
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.norm_conv_apply = norm_conv_apply |
Definition at line 219 of file equivalent_transformation_config.py.
◆ norm_conv_learn
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.norm_conv_learn = norm_conv_learn |
Definition at line 220 of file equivalent_transformation_config.py.
◆ norm_conv_smoothing_factor
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.norm_conv_smoothing_factor = norm_conv_smoothing_factor |
Definition at line 221 of file equivalent_transformation_config.py.
◆ norm_conv_min_gamma
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.norm_conv_min_gamma = norm_conv_min_gamma |
Definition at line 222 of file equivalent_transformation_config.py.
◆ norm_conv_max_gamma
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.norm_conv_max_gamma = norm_conv_max_gamma |
Definition at line 223 of file equivalent_transformation_config.py.
◆ qk_apply
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.qk_apply = qk_apply |
Definition at line 226 of file equivalent_transformation_config.py.
◆ qk_smoothing_factor
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.qk_smoothing_factor = qk_smoothing_factor |
Definition at line 227 of file equivalent_transformation_config.py.
◆ qk_min_gamma
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.qk_min_gamma = qk_min_gamma |
Definition at line 228 of file equivalent_transformation_config.py.
◆ qk_max_gamma
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.qk_max_gamma = qk_max_gamma |
Definition at line 229 of file equivalent_transformation_config.py.
◆ ud_apply
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.ud_apply = ud_apply |
Definition at line 232 of file equivalent_transformation_config.py.
◆ ud_learn
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.ud_learn = ud_learn |
Definition at line 233 of file equivalent_transformation_config.py.
◆ ud_smoothing_factor
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.ud_smoothing_factor = ud_smoothing_factor |
Definition at line 234 of file equivalent_transformation_config.py.
◆ ud_min_gamma
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.ud_min_gamma = ud_min_gamma |
Definition at line 235 of file equivalent_transformation_config.py.
◆ ud_max_gamma
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.ud_max_gamma = ud_max_gamma |
Definition at line 236 of file equivalent_transformation_config.py.
◆ vo_apply
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.vo_apply = vo_apply |
Definition at line 239 of file equivalent_transformation_config.py.
◆ vo_smoothing_factor
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.vo_smoothing_factor = vo_smoothing_factor |
Definition at line 240 of file equivalent_transformation_config.py.
◆ vo_min_gamma
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.vo_min_gamma = vo_min_gamma |
Definition at line 241 of file equivalent_transformation_config.py.
◆ vo_max_gamma
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.vo_max_gamma = vo_max_gamma |
Definition at line 242 of file equivalent_transformation_config.py.
◆ ff_multi_lut_apply
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.ff_multi_lut_apply = ff_multi_lut_apply |
Definition at line 245 of file equivalent_transformation_config.py.
◆ ff_multi_lut_breakpoints
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.ff_multi_lut_breakpoints = ff_multi_lut_breakpoints |
Definition at line 246 of file equivalent_transformation_config.py.
◆ spin_r1_apply
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.spin_r1_apply = spin_r1_apply |
Definition at line 249 of file equivalent_transformation_config.py.
◆ spin_r1_matrix_path
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.spin_r1_matrix_path = spin_r1_matrix_path |
Definition at line 250 of file equivalent_transformation_config.py.
◆ head_out_ch_rotation_apply
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.head_out_ch_rotation_apply = head_out_ch_rotation_apply |
Definition at line 253 of file equivalent_transformation_config.py.
◆ head_out_ch_rotation_matrix_path
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.head_out_ch_rotation_matrix_path = head_out_ch_rotation_matrix_path |
Definition at line 254 of file equivalent_transformation_config.py.
◆ spin_r2_apply
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.spin_r2_apply = spin_r2_apply |
Definition at line 257 of file equivalent_transformation_config.py.
◆ spin_r2_learn
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.spin_r2_learn = spin_r2_learn |
Definition at line 258 of file equivalent_transformation_config.py.
◆ spin_r2_matrix_path
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.spin_r2_matrix_path = spin_r2_matrix_path |
Definition at line 259 of file equivalent_transformation_config.py.
◆ qk_rotation_apply
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.qk_rotation_apply = qk_rotation_apply |
Definition at line 262 of file equivalent_transformation_config.py.
◆ qk_rotation_matrix_path
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.qk_rotation_matrix_path = qk_rotation_matrix_path |
Definition at line 263 of file equivalent_transformation_config.py.
◆ flatten_quant_apply
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.flatten_quant_apply = flatten_quant_apply |
Definition at line 266 of file equivalent_transformation_config.py.
◆ flatten_quant_learn
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.flatten_quant_learn = flatten_quant_learn |
Definition at line 267 of file equivalent_transformation_config.py.
◆ flatten_quant_apply_threshold
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.flatten_quant_apply_threshold = flatten_quant_apply_threshold |
Definition at line 268 of file equivalent_transformation_config.py.
◆ flatten_quant_max_overhead
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.flatten_quant_max_overhead = flatten_quant_max_overhead |
Definition at line 269 of file equivalent_transformation_config.py.
◆ optimize_ffn_apply
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.optimize_ffn_apply = optimize_ffn_apply |
Definition at line 272 of file equivalent_transformation_config.py.
◆ optimize_ffn_ch_per_ffn
| qbcompiler.configs.equivalent_transformation_config.EquivalentTransformationConfig.optimize_ffn_ch_per_ffn = optimize_ffn_ch_per_ffn |
Definition at line 273 of file equivalent_transformation_config.py.
Generated by