Skip to content

Commit 8594574

Browse files
committed
make huggingface_example.sh and parser.sh support recipes
Signed-off-by: Hung-Yueh Chiang <hungyuehc@nvidia.com>
1 parent ea1d0b2 commit 8594574

2 files changed

Lines changed: 19 additions & 4 deletions

File tree

examples/llm_ptq/scripts/huggingface_example.sh

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,11 @@ for qformat in $QFORMAT; do
6262
done
6363
IFS=" "
6464

65+
if [ -n "$RECIPE" ] && [ -n "$QFORMAT" ]; then
66+
echo "Error: --recipe and --quant are mutually exclusive." >&2
67+
exit 1
68+
fi
69+
6570
script_dir="$(dirname "$(readlink -f "$0")")"
6671

6772
pushd $script_dir/..
@@ -72,7 +77,12 @@ fi
7277

7378
QFORMAT_MODIFIED="${QFORMAT//,/_}"
7479

75-
MODEL_NAME=$(basename $MODEL_PATH | sed 's/[^0-9a-zA-Z\-]/_/g')_${QFORMAT_MODIFIED}${KV_CACHE_QUANT:+_kv_${KV_CACHE_QUANT}}
80+
if [ -n "$RECIPE" ]; then
81+
RECIPE_LABEL=$(basename "$RECIPE" .yaml | sed 's/[^0-9a-zA-Z\-]/_/g')
82+
MODEL_NAME=$(basename $MODEL_PATH | sed 's/[^0-9a-zA-Z\-]/_/g')_${RECIPE_LABEL}
83+
else
84+
MODEL_NAME=$(basename $MODEL_PATH | sed 's/[^0-9a-zA-Z\-]/_/g')_${QFORMAT_MODIFIED}${KV_CACHE_QUANT:+_kv_${KV_CACHE_QUANT}}
85+
fi
7686

7787
SAVE_PATH=${ROOT_SAVE_PATH}/saved_models_${MODEL_NAME}
7888

@@ -181,11 +191,16 @@ if [[ $TASKS =~ "quant" ]] || [[ ! -d "$SAVE_PATH" ]] || [[ ! $(ls -A $SAVE_PATH
181191

182192
if [[ "$MODEL_CONFIG_EXIST" == false ]]; then
183193
echo "Quantizing original model..."
194+
if [ -n "$RECIPE" ]; then
195+
QUANT_ARG="--recipe=$RECIPE"
196+
else
197+
QUANT_ARG="--qformat=${QFORMAT// /,}"
198+
fi
184199
python hf_ptq.py \
185200
--pyt_ckpt_path=$MODEL_PATH \
186201
--export_path=$SAVE_PATH \
187202
--sparsity_fmt=$SPARSITY_FMT \
188-
--qformat="${QFORMAT// /,}" \
203+
$QUANT_ARG \
189204
--calib_size=$CALIB_SIZE \
190205
--batch_size=$CALIB_BATCH_SIZE \
191206
--inference_tensor_parallel=$TP \

examples/llm_ptq/scripts/parser.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,8 @@ parse_options() {
9999
fi
100100

101101
# Verify required options are provided
102-
if [ -z "$MODEL_PATH" ] || [ -z "$QFORMAT" ] || [ -z "$TASKS" ]; then
103-
echo "Usage: $0 --model=<MODEL_PATH> --quant=<QFORMAT> --tasks=<TASK,...>"
102+
if [ -z "$MODEL_PATH" ] || [ -z "$TASKS" ] || { [ -z "$QFORMAT" ] && [ -z "$RECIPE" ]; }; then
103+
echo "Usage: $0 --model=<MODEL_PATH> (--quant=<QFORMAT> | RECIPE=<recipe>) --tasks=<TASK,...>"
104104
echo "Optional args: --sparsity=<SPARSITY_FMT> --awq_block_size=<AWQ_BLOCK_SIZE> --calib=<CALIB_SIZE>"
105105
exit 1
106106
fi

0 commit comments

Comments
 (0)