File size: 1,335 Bytes
fed1832
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/bin/bash
#SBATCH --job-name=activation-multiple
#SBATCH --gres=gpu:1
#SBATCH --cpus-per-task=8
#SBATCH --partition=physical-gpu
#SBATCH --mem=32G
#SBATCH --output=logs/%j-activation-multiple.out

ENV_FILE=$1

if [ -z "$ENV_FILE" ]; then
    echo "Error: No environment file specified"
    exit 1
fi

if [ ! -f "$ENV_FILE" ]; then
    echo "Error: Environment file $ENV_FILE not found"
    exit 1
fi

# Load the environment
source "$ENV_FILE"

# Example expected variables in $ENV_FILE:
# MODEL="/path/to/parent_checkpoint_folder"
# LANGS="en zh ga eu"
# OUTPUT_DIR="/path/to/save/activations"

if [ -z "$MODEL" ] || [ -z "$LANGS" ] || [ -z "$OUTPUT_DIR" ]; then
    echo "Error: MODEL, LANGS, or OUTPUT_DIR not set in environment file"
    exit 1
fi

# Create output folder
mkdir -p "$OUTPUT_DIR"

export PYTHONUNBUFFERED=1
export VLLM_USE_V1=0

# Loop through each checkpoint subfolder inside MODEL
for CHECKPOINT in "$MODEL"/*; do
    if [ -d "$CHECKPOINT" ]; then
        for LANG in $LANGS; do
            echo "Processing checkpoint: $CHECKPOINT, language: $LANG"

            python ../activation_v2.py \
                --model "$CHECKPOINT" \
                --lang "$LANG" \
                --save-folder "$OUTPUT_DIR"

            echo "Done: $CHECKPOINT, $LANG"
        done
    fi
done

echo "All activations complete!"