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