#!/usr/bin/env sh set -eu export CUDA_VISIBLE_DEVICES=0 CONDA_BIN=${CONDA_BIN:-} if [ -z "$CONDA_BIN" ]; then if command -v conda >/dev/null 2>&1; then CONDA_BIN=$(command -v conda) elif [ -x /opt/miniconda/bin/conda ]; then CONDA_BIN=/opt/miniconda/bin/conda fi fi if [ -n "$CONDA_BIN" ]; then eval "$("$CONDA_BIN" shell.bash hook)" conda activate focallora else echo "[TestInstructiveHead.sh] Warning: conda not found; running in current environment." >&2 fi echo "=========================================================================================================================================" echo "Mask attack only, for all heads" echo "(test masking works. 100% heads can't see attack instruction, if model respond any related attack inctruction means mask does not work)." python ./TestInstructiveHead.py \ --model-path ../../models/Llama-3.1-8B-Instruct \ --heads ../2-2_head_identification/head_scoring/llama31-8b_sep/head_roc_inst.json \ --topk 100p \ --SEP-dataset ../1_raw_dataset/Should-It-Be-Executed-Or-Processed/datasets/validation_dataset.json \ --mask-attack-only 1 \ --data-index 0,1,2 \ # --no-print-input # --debug-mask echo "=========================================================================================================================================" echo "Mask whole data, for whole heads" echo "(test masking works. 100% heads can't see whole, the model should can't do anything)." python ./TestInstructiveHead.py \ --model-path ../../models/Llama-3.1-8B-Instruct \ --heads ../2-2_head_identification/head_scoring/llama31-8b_sep/head_roc_inst.json \ --topk 100p \ --SEP-dataset ../1_raw_dataset/Should-It-Be-Executed-Or-Processed/datasets/validation_dataset.json \ --mask-attack-only 0 \ --data-index 0,1,2 \ --no-print-input # --debug-mask echo "=========================================================================================================================================" echo "Mask whole data, for instruction sensitive heads" echo "(test my approch works, make **instruction following** heads unable to see data segment to prevent attack, but other heads can see data to answer user question)" python ./TestInstructiveHead.py \ --model-path ../../models/Llama-3.1-8B-Instruct \ --heads ../2-2_head_identification/head_scoring/llama31-8b_sep/head_roc_inst.json \ --topk 20p \ --SEP-dataset ../1_raw_dataset/Should-It-Be-Executed-Or-Processed/datasets/validation_dataset.json \ --mask-attack-only 0 \ --data-index 0,1,2 \ --no-print-input # --debug-mask python ./TestInstructiveHead.py \ --model-path ../../models/Llama-3.1-8B-Instruct \ --heads ../2-2_head_identification/head_scoring/llama31-8b_sep/head_roc_inst.json \ --topk 30p \ --SEP-dataset ../1_raw_dataset/Should-It-Be-Executed-Or-Processed/datasets/validation_dataset.json \ --mask-attack-only 0 \ --data-index 0,1,2 \ --no-print-input # --debug-mask