EquivalentTransformation Configuration#
|
Mobilint SDK qb Compiler v0.12.0.0
MCS002-KR
|
EquivalentTransformation configuration definitions used by Mobilint compiler for model quantization. More...
Classes | |
| class | qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig |
| Configuration for equivalent transformation techniques. More... | |
Functions | |
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.__init__ (self, int seed, Dict[str, str] layer_name_pattern, 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 lut_rescale_apply, bool lut_rescale_alpha, bool lut_rescale_beta, 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 split_ffn_apply, int split_ffn_ch_per_ffn, bool optional=optional) | |
| Initialize the EquivalentTransformationConfig. | |
| qubee.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) | |
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.default_config (cls) | |
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.from_dict (cls, dict config_dict) | |
| Create EquivalentTransformationConfig from dictionary (JSON structure) | |
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.to_dict (self) | |
| EquivalentTransformationConfig | qubee.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__()
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.__init__ | ( | self, | |
| int | seed, | ||
| Dict[str, str] | layer_name_pattern, | ||
| 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 | lut_rescale_apply, | ||
| bool | lut_rescale_alpha, | ||
| bool | lut_rescale_beta, | ||
| 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 | split_ffn_apply, | ||
| int | split_ffn_ch_per_ffn, | ||
| bool | optional = optional ) |
Initialize the EquivalentTransformationConfig.
- Parameters
-
seed int. Random seed used for equivalent transformation operations. Default is 0. layer_name_pattern Dict[str, str]. Mapping from logical layer groups (e.g., "head") to name patterns used to match target layers. Default is {"head": ""}. 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.
LUTRescale
- Parameters
-
lut_rescale_apply bool. If True, enable LUT rescaling. Default is False. lut_rescale_alpha bool. If True, apply alpha rescaling in LUTRescale. Default is True. lut_rescale_beta bool. If True, apply beta rescaling in LUTRescale. Default is False.
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.
SplitFFN
- Parameters
-
split_ffn_apply bool. If True, enable SplitFFN. Default is False. split_ffn_ch_per_ffn int. Number of channels per FFN used when SplitFFN 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 101 of file equivalent_transformation_config.py.
◆ check_valid()
| qubee.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 298 of file equivalent_transformation_config.py.
◆ default_config()
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.default_config | ( | cls | ) |
Definition at line 304 of file equivalent_transformation_config.py.
◆ from_dict()
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.from_dict | ( | cls, | |
| dict | config_dict ) |
Create EquivalentTransformationConfig from dictionary (JSON structure)
Definition at line 308 of file equivalent_transformation_config.py.
◆ to_dict()
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.to_dict | ( | self | ) |
Definition at line 451 of file equivalent_transformation_config.py.
◆ get_equivalent_transformation_config()
| EquivalentTransformationConfig qubee.configs.equivalent_transformation_config.get_equivalent_transformation_config | ( | ** | kwargs | ) |
Create EquivalentTransformationConfig with partial parameters merged with defaults.
Definition at line 521 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 84 of file equivalent_transformation_config.py.
◆ seed
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.seed = seed |
Definition at line 230 of file equivalent_transformation_config.py.
◆ layer_name_pattern
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.layer_name_pattern = layer_name_pattern |
Definition at line 231 of file equivalent_transformation_config.py.
◆ apply_hadamard_rotation_matrix
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.apply_hadamard_rotation_matrix = apply_hadamard_rotation_matrix |
Definition at line 232 of file equivalent_transformation_config.py.
◆ norm_conv_apply
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.norm_conv_apply = norm_conv_apply |
Definition at line 235 of file equivalent_transformation_config.py.
◆ norm_conv_learn
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.norm_conv_learn = norm_conv_learn |
Definition at line 236 of file equivalent_transformation_config.py.
◆ norm_conv_smoothing_factor
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.norm_conv_smoothing_factor = norm_conv_smoothing_factor |
Definition at line 237 of file equivalent_transformation_config.py.
◆ norm_conv_min_gamma
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.norm_conv_min_gamma = norm_conv_min_gamma |
Definition at line 238 of file equivalent_transformation_config.py.
◆ norm_conv_max_gamma
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.norm_conv_max_gamma = norm_conv_max_gamma |
Definition at line 239 of file equivalent_transformation_config.py.
◆ qk_apply
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.qk_apply = qk_apply |
Definition at line 242 of file equivalent_transformation_config.py.
◆ qk_smoothing_factor
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.qk_smoothing_factor = qk_smoothing_factor |
Definition at line 243 of file equivalent_transformation_config.py.
◆ qk_min_gamma
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.qk_min_gamma = qk_min_gamma |
Definition at line 244 of file equivalent_transformation_config.py.
◆ qk_max_gamma
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.qk_max_gamma = qk_max_gamma |
Definition at line 245 of file equivalent_transformation_config.py.
◆ ud_apply
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.ud_apply = ud_apply |
Definition at line 248 of file equivalent_transformation_config.py.
◆ ud_learn
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.ud_learn = ud_learn |
Definition at line 249 of file equivalent_transformation_config.py.
◆ ud_smoothing_factor
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.ud_smoothing_factor = ud_smoothing_factor |
Definition at line 250 of file equivalent_transformation_config.py.
◆ ud_min_gamma
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.ud_min_gamma = ud_min_gamma |
Definition at line 251 of file equivalent_transformation_config.py.
◆ ud_max_gamma
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.ud_max_gamma = ud_max_gamma |
Definition at line 252 of file equivalent_transformation_config.py.
◆ vo_apply
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.vo_apply = vo_apply |
Definition at line 255 of file equivalent_transformation_config.py.
◆ vo_smoothing_factor
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.vo_smoothing_factor = vo_smoothing_factor |
Definition at line 256 of file equivalent_transformation_config.py.
◆ vo_min_gamma
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.vo_min_gamma = vo_min_gamma |
Definition at line 257 of file equivalent_transformation_config.py.
◆ vo_max_gamma
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.vo_max_gamma = vo_max_gamma |
Definition at line 258 of file equivalent_transformation_config.py.
◆ lut_rescale_apply
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.lut_rescale_apply = lut_rescale_apply |
Definition at line 261 of file equivalent_transformation_config.py.
◆ lut_rescale_alpha
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.lut_rescale_alpha = lut_rescale_alpha |
Definition at line 262 of file equivalent_transformation_config.py.
◆ lut_rescale_beta
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.lut_rescale_beta = lut_rescale_beta |
Definition at line 263 of file equivalent_transformation_config.py.
◆ ff_multi_lut_apply
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.ff_multi_lut_apply = ff_multi_lut_apply |
Definition at line 266 of file equivalent_transformation_config.py.
◆ ff_multi_lut_breakpoints
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.ff_multi_lut_breakpoints = ff_multi_lut_breakpoints |
Definition at line 267 of file equivalent_transformation_config.py.
◆ spin_r1_apply
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.spin_r1_apply = spin_r1_apply |
Definition at line 270 of file equivalent_transformation_config.py.
◆ spin_r1_matrix_path
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.spin_r1_matrix_path = spin_r1_matrix_path |
Definition at line 271 of file equivalent_transformation_config.py.
◆ head_out_ch_rotation_apply
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.head_out_ch_rotation_apply = head_out_ch_rotation_apply |
Definition at line 274 of file equivalent_transformation_config.py.
◆ head_out_ch_rotation_matrix_path
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.head_out_ch_rotation_matrix_path = head_out_ch_rotation_matrix_path |
Definition at line 275 of file equivalent_transformation_config.py.
◆ spin_r2_apply
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.spin_r2_apply = spin_r2_apply |
Definition at line 278 of file equivalent_transformation_config.py.
◆ spin_r2_learn
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.spin_r2_learn = spin_r2_learn |
Definition at line 279 of file equivalent_transformation_config.py.
◆ spin_r2_matrix_path
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.spin_r2_matrix_path = spin_r2_matrix_path |
Definition at line 280 of file equivalent_transformation_config.py.
◆ qk_rotation_apply
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.qk_rotation_apply = qk_rotation_apply |
Definition at line 283 of file equivalent_transformation_config.py.
◆ qk_rotation_matrix_path
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.qk_rotation_matrix_path = qk_rotation_matrix_path |
Definition at line 284 of file equivalent_transformation_config.py.
◆ flatten_quant_apply
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.flatten_quant_apply = flatten_quant_apply |
Definition at line 287 of file equivalent_transformation_config.py.
◆ flatten_quant_learn
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.flatten_quant_learn = flatten_quant_learn |
Definition at line 288 of file equivalent_transformation_config.py.
◆ flatten_quant_apply_threshold
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.flatten_quant_apply_threshold = flatten_quant_apply_threshold |
Definition at line 289 of file equivalent_transformation_config.py.
◆ flatten_quant_max_overhead
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.flatten_quant_max_overhead = flatten_quant_max_overhead |
Definition at line 290 of file equivalent_transformation_config.py.
◆ split_ffn_apply
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.split_ffn_apply = split_ffn_apply |
Definition at line 293 of file equivalent_transformation_config.py.
◆ split_ffn_ch_per_ffn
| qubee.configs.equivalent_transformation_config.EquivalentTransformationConfig.split_ffn_ch_per_ffn = split_ffn_ch_per_ffn |
Definition at line 294 of file equivalent_transformation_config.py.
Generated by