forensics-grpo / code /tempsamp_r1 /scripts /run_tempsamp_no_cot.sh
sdzt's picture
Add source code
33569f9 verified
Raw
History Blame Contribute Delete
2.5 kB
#!/bin/bash
# TempSamp-R1 (no-CoT) baseline on ActivityForensics.
# Algorithm comes from forensics_grpo's existing trainer; this script just
# locks in the TempSamp-R1 configuration:
# - no-CoT prompt (FORENSICS_COT=false)
# - mix-policy + non-linear shaping (default trainer behavior, no flag needed)
# - one IoU reward only (--reward_funcs hungarian_iou)
# - no forensics-specific extras (FORENSICS_*_ADV, FORENSICS_CTA_*, ...)
set -e
# --- TempSamp-R1 algorithmic configuration (do not edit lightly) ----------
export FORENSICS_COT=false
unset FORENSICS_DECOMP_ADV FORENSICS_HUNGARIAN_DECOMP
unset FORENSICS_CTA_GRPO FORENSICS_FORGERY_AWARE
unset FORENSICS_USE_EXTERNAL_VERIFIER FORENSICS_VERIFIER_CONTEXT
# --------------------------------------------------------------------------
export FORENSICS_GRPO_ROOT=${FORENSICS_GRPO_ROOT:-/mnt/local-fast/zhangt/forensics_grpo}
export WANDB_PROJECT=Forensics-Baselines
export WANDB_NAME=TempSampR1_nocot_forensics_7B
export PYTHONPATH="${FORENSICS_GRPO_ROOT}:.:$PYTHONPATH"
OUTDIR=./logs/${WANDB_NAME}
mkdir -p "${OUTDIR}"
export DEBUG_MODE="true"
export LOG_PATH="${OUTDIR}/${WANDB_NAME}.txt"
MODEL_PATH=${MODEL_PATH:-Qwen/Qwen2.5-VL-7B-Instruct}
ANNOT_DIR=${ANNOT_DIR:-/ces/zt/activityforensics/annot}
VIDEO_ROOT=${VIDEO_ROOT:-/ces/zt}
PREPROC_DIR=${PREPROC_DIR:-/mnt/local-fast/zhangt/forensics_grpo/preprocessed}
torchrun --nproc_per_node="${NPROC:-4}" \
--nnodes="${NNODES:-1}" \
--node_rank="${NODE_RANK:-0}" \
--master_addr="${MASTER_ADDR:-127.0.0.1}" \
--master_port="${MASTER_PORT:-12371}" \
src/tempsamp_main.py \
--deepspeed "${FORENSICS_GRPO_ROOT}/scripts/zero3_offload.json" \
--output_dir "${OUTDIR}" \
--model_name_or_path "${MODEL_PATH}" \
--annot_dir "${ANNOT_DIR}" \
--video_root "${VIDEO_ROOT}" \
--preprocessed_data_path "${PREPROC_DIR}" \
--dataset_name forensics \
--max_prompt_length 8192 \
--max_completion_length 256 \
--num_generations 8 \
--per_device_train_batch_size 1 \
--gradient_accumulation_steps 2 \
--logging_steps 1 \
--bf16 \
--torch_dtype bfloat16 \
--data_seed 42 \
--gradient_checkpointing true \
--attn_implementation flash_attention_2 \
--num_train_epochs 2 \
--run_name "${WANDB_NAME}" \
--report_to tensorboard \
--reward_funcs hungarian_iou \
--temperature 1.0 \
--beta 0.0 \
--logging_dir "${OUTDIR}" \
--save_steps 100 \
--save_only_model true