{ "input_model": { "type": "PyTorchModel", "config": { "model_path": "", "model_loader": "text_encoder_load", "model_script": "modules/olive_script.py", "io_config": { "input_names": ["input_ids", "output_hidden_states"], "output_names": [ "last_hidden_state", "pooler_output", "hidden_states.0", "hidden_states.1", "hidden_states.2", "hidden_states.3", "hidden_states.4", "hidden_states.5", "hidden_states.6", "hidden_states.7", "hidden_states.8", "hidden_states.9", "hidden_states.10", "hidden_states.11", "hidden_states.12" ], "dynamic_axes": { "input_ids": { "0": "batch_size", "1": "sequence_length" }, "last_hidden_state": { "0": "batch_size", "1": "sequence_length" }, "pooler_output": { "0": "batch_size" }, "hidden_states.0": { "0": "batch_size", "1": "sequence_length" }, "hidden_states.1": { "0": "batch_size", "1": "sequence_length" }, "hidden_states.2": { "0": "batch_size", "1": "sequence_length" }, "hidden_states.3": { "0": "batch_size", "1": "sequence_length" }, "hidden_states.4": { "0": "batch_size", "1": "sequence_length" }, "hidden_states.5": { "0": "batch_size", "1": "sequence_length" }, "hidden_states.6": { "0": "batch_size", "1": "sequence_length" }, "hidden_states.7": { "0": "batch_size", "1": "sequence_length" }, "hidden_states.8": { "0": "batch_size", "1": "sequence_length" }, "hidden_states.9": { "0": "batch_size", "1": "sequence_length" }, "hidden_states.10": { "0": "batch_size", "1": "sequence_length" }, "hidden_states.11": { "0": "batch_size", "1": "sequence_length" }, "hidden_states.12": { "0": "batch_size", "1": "sequence_length" } } }, "dummy_inputs_func": "text_encoder_conversion_inputs" } }, "systems": { "local_system": { "type": "LocalSystem", "config": { "accelerators": [ { "device": "gpu", "execution_providers": ["DmlExecutionProvider"] } ] } } }, "evaluators": { "common_evaluator": { "metrics": [ { "name": "latency", "type": "latency", "sub_types": [{ "name": "avg" }], "user_config": { "user_script": "modules/olive_script.py", "dataloader_func": "text_encoder_data_loader", "batch_size": 1 } } ] } }, "passes": { "optimize_DmlExecutionProvider": { "type": "OrtTransformersOptimization", "config": { "model_type": "clip", "opt_level": 0, "float16": true, "use_gpu": true, "keep_io_types": true, "optimization_options": { "enable_gelu": true, "enable_layer_norm": true, "enable_attention": true, "use_multi_head_attention": true, "enable_skip_layer_norm": false, "enable_embed_layer_norm": true, "enable_bias_skip_layer_norm": false, "enable_bias_gelu": true, "enable_gelu_approximation": false, "enable_qordered_matmul": false, "enable_shape_inference": true, "enable_gemm_fast_gelu": false, "enable_nhwc_conv": false, "enable_group_norm": true, "enable_bias_splitgelu": false, "enable_packed_qkv": true, "enable_packed_kv": true, "enable_bias_add": false, "group_norm_channels_last": false }, "force_fp32_ops": ["RandomNormalLike"], "force_fp16_inputs": { "GroupNorm": [0, 1, 2] } } }, "optimize_CUDAExecutionProvider": { "type": "OrtTransformersOptimization", "config": { "model_type": "clip", "opt_level": 0, "float16": true, "use_gpu": true, "keep_io_types": true } }, "optimize_ROCMExecutionProvider": { "type": "OrtTransformersOptimization", "config": { "model_type": "clip", "opt_level": 0, "float16": true, "use_gpu": true, "keep_io_types": true } } }, "pass_flows": [["optimize_AutoExecutionProvider"]], "engine": { "evaluator": "common_evaluator", "evaluate_input_model": false, "host": "local_system", "target": "local_system", "cache_dir": "cache", "output_name": "text_encoder", "output_dir": "footprints" } }