perplexity-gen.sh 987 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #!/usr/bin/env bash
  2. set -e
  3. CONVERTED_MODEL="${1:-"$CONVERTED_MODEL"}"
  4. BUILD_DIR="${2:-"$BUILD_DIR"}"
  5. # Final check if we have a model path
  6. if [ -z "$CONVERTED_MODEL" ]; then
  7. echo "Error: Model path must be provided either as:" >&2
  8. echo " 1. Command line argument" >&2
  9. echo " 2. CONVERTED_MODEL environment variable" >&2
  10. exit 1
  11. fi
  12. # Check if data/wikitext-2-raw directory exists
  13. if [ ! -d "ppl/wikitext-2-raw" ]; then
  14. echo "ppl/wikitext-2-raw directory does not exist. Downloading..." >&2
  15. mkdir -p ppl
  16. pushd ppl
  17. ./../../../scripts/get-wikitext-2.sh
  18. popd
  19. fi
  20. mkdir -p ppl
  21. OUTPUTFILE="ppl/$(basename $CONVERTED_MODEL).kld"
  22. echo "Model: $CONVERTED_MODEL"
  23. if [ -z "$BUILD_DIR" ]; then
  24. BUILD_DIR="../../build"
  25. fi
  26. cmake --build $BUILD_DIR --target llama-perplexity -j8
  27. ${BUILD_DIR}/bin/llama-perplexity -m $CONVERTED_MODEL \
  28. -f ppl/wikitext-2-raw/wiki.test.raw \
  29. --kl-divergence-base $OUTPUTFILE
  30. echo "Generated logits in $OUTPUTFILE"