1#!/usr/bin/env bash
 2
 3set -e
 4
 5QUANTIZED_MODEL="${1:-"$QUANTIZED_MODEL"}"
 6LOGITS_FILE="${2:-"$LOGITS_FILE"}"
 7BUILD_DIR="${3:-"$BUILD_DIR"}"
 8
 9if [ -z "$QUANTIZED_MODEL" ]; then
10    echo "Error: Model path must be provided either as:" >&2
11    echo "  1. Command line argument" >&2
12    echo "  2. QUANTIZED_MODEL environment variable" >&2
13    exit 1
14fi
15
16if [ ! -f ${LOGITS_FILE} ]; then
17    echo "Error: logits file '${LOGITS_FILE} was not found"
18    echo "Did you run the perplexity-gen.sh script?"
19    exit 1
20fi
21
22if [ -z "$BUILD_DIR" ]; then
23    BUILD_DIR="../../build"
24fi
25
26echo "Model: $QUANTIZED_MODEL"
27echo "Data file: $LOGITS_FILE"
28
29cmake --build $BUILD_DIR --target llama-perplexity -j8
30
31${BUILD_DIR}/bin/llama-perplexity -m $QUANTIZED_MODEL \
32    --kl-divergence-base $LOGITS_FILE \
33    --kl-divergence