#NOTE: Install our transformers/liger-kernel/trl/lighteval from source

# [STEP A]
#We provided a non-tokenized dataset due to supplementary size limit.  You need to go to 
# data/sot_tokenization.py to first tokenize it.  Then you upload the tokenized file to hugging face
# Then you can add the training paths to these files and run

#[1] For ssft-32B
./train/ssft_train.sh



#[2] For ssft-32B-random-matching
./train/ssft_random_matching_train.sh



# [STEP B]
# To visualize learned matchings, please save the csv file from train/config_usage_counts_C4, and then extract the value at last epoch. there should be 360 values.
# then change ``values'' in construct_learned_matching.py
# then run and observe the matchings between rows(left vertices, global_forking_tokens) and columns(right vertices, Rtraces).  
# Select the index and run corresponding "...greedy{i+1}" in eval file for using that global forking tokens for all evaluation
python costruct_learned_unions.py



# [STEP C]
#For evaluation, run ssft_eval.sh for reproducing our results on AIME25, AIME24, MATH-500, GPQA-D results
#[1] For evaluating ssft-32B
. ssft_eval.sh 


#[2] For evaluating ssft-random-32B
. ssft_random_eval.sh 






