2525from olive .passes import Pass
2626from olive .passes .olive_pass import PassConfigParam
2727from olive .passes .pass_config import BasePassConfig
28+ from olive .search .search_parameter import Boolean , Categorical
2829
2930logger = logging .getLogger (__name__ )
3031
@@ -83,11 +84,15 @@ def _default_config(cls, accelerator_spec: AcceleratorSpec) -> dict[str, PassCon
8384 "int4_block_size" : PassConfigParam (
8485 type_ = ModelBuilder .BlockSize ,
8586 required = False ,
87+ search_defaults = Categorical (
88+ [ModelBuilder .BlockSize .B32 , ModelBuilder .BlockSize .B64 , ModelBuilder .BlockSize .B128 ]
89+ ),
8690 description = "Specify the block_size for int4 quantization. Acceptable values: 16/32/64/128/256." ,
8791 ),
8892 "int4_is_symmetric" : PassConfigParam (
8993 type_ = bool ,
9094 required = False ,
95+ search_defaults = Boolean (),
9196 description = "Specify whether symmetric or asymmetric INT4 quantization needs to be used." ,
9297 ),
9398 "int4_op_types_to_quantize" : PassConfigParam (
@@ -106,6 +111,14 @@ def _default_config(cls, accelerator_spec: AcceleratorSpec) -> dict[str, PassCon
106111 "int4_algo_config" : PassConfigParam (
107112 type_ = str ,
108113 required = False ,
114+ search_defaults = Categorical (
115+ [
116+ "default" ,
117+ "rtn" ,
118+ "k_quant_mixed" ,
119+ "k_quant_last" ,
120+ ]
121+ ),
109122 description = "Specify the INT4 quantization algorithm to use in GenAI Model Builder" ,
110123 ),
111124 "use_qdq" : PassConfigParam (
0 commit comments