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,16 @@ 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 ,
89+ ModelBuilder .BlockSize .B64 ,
90+ ModelBuilder .BlockSize .B128 ]),
8691 description = "Specify the block_size for int4 quantization. Acceptable values: 16/32/64/128/256." ,
8792 ),
8893 "int4_is_symmetric" : PassConfigParam (
8994 type_ = bool ,
9095 required = False ,
96+ search_defaults = Boolean (),
9197 description = "Specify whether symmetric or asymmetric INT4 quantization needs to be used." ,
9298 ),
9399 "int4_op_types_to_quantize" : PassConfigParam (
@@ -106,6 +112,12 @@ def _default_config(cls, accelerator_spec: AcceleratorSpec) -> dict[str, PassCon
106112 "int4_algo_config" : PassConfigParam (
107113 type_ = str ,
108114 required = False ,
115+ search_defaults = Categorical ([
116+ "default" ,
117+ "rtn" ,
118+ "k_quant_mixed" ,
119+ "k_quant_last" ,
120+ ]),
109121 description = "Specify the INT4 quantization algorithm to use in GenAI Model Builder" ,
110122 ),
111123 "use_qdq" : PassConfigParam (
0 commit comments