#!/bin/bash # 2e MODELE DE PONCTUATION, pour VOTER avec afro-xlmr (base et large). # # Pourquoi une autre base : c est exactement le mecanisme des juges decorreles qui a # rapporte +0.000655 aujourd hui — deux modeles qui se trompent DIFFEREMMENT relevent # la precision, alors que deux modeles de la meme famille se trompent ensemble. # `afro-xlmr-base` et `afro-xlmr-large` sont deux tailles du MEME modele (XLM-R adapte # aux langues africaines) => correlation forte. `mdeberta-v3-base` est une ARCHITECTURE # differente (attention desenchevetree, pre-entrainement CC100) => vraie decorrelation. # # lr 2e-5 : taille "base", donc pas le taux qui avait fait COLLAPSER le large # (precision/rappel/F1 a 0 des la 1re epoque, effondrement vers la classe majoritaire # avec seulement 2 % de mots positifs). Le large a ete relance a 8e-6. # # REGLE ANTI-AUTO-BLOCAGE : motif a crochet "[t]rain_punct" pour que le pgrep ne matche # jamais sa propre ligne de commande (bug qui a coute 3h45 puis 5h de GPU). exec >> /root/queue_punct2.log 2>&1 echo "########## file 2e ponctuation demarree $(date -u '+%d/%m %H:%M UTC') ##########" M=/scratch/prep/manifests V=/root/venv/bin/python echo "attente de la ponctuation large..." while pgrep -f "[t]rain_punct" > /dev/null; do sleep 30; done sleep 15 echo "GPU libre $(date -u '+%H:%M')" # --- publication du modele large des qu il est pret (B peut etre supprimee ensuite) --- if [ -d /scratch/runs/punct_large2/best ]; then echo "publication du modele large sur HF" $V -c " from huggingface_hub import HfApi HfApi(token=open('/root/.cache/huggingface/token').read().strip()).upload_folder( folder_path='/scratch/runs/punct_large2/best', path_in_repo='punct/large2_best', repo_id='Pricile/waxal2026-backup', repo_type='model') print('PONCT_LARGE_PUBLIEE')" || echo "!! publication large echouee" else echo "!! pas de dossier best pour le large" fi echo "########## 2e modele : mdeberta-v3-base (architecture differente) ##########" $V /root/train_punct.py \ --out /scratch/runs/punct_mdeb --base microsoft/mdeberta-v3-base \ --train $M/waxal_lin_train.jsonl $M/waxal_lin_validation.jsonl $M/waxal_lin_test.jsonl \ $M/waxal_sna_train.jsonl $M/waxal_sna_validation.jsonl $M/waxal_sna_test.jsonl \ --lr 2e-5 --epochs 3 --bs 16 --noise_copies 2 --noise_rate 0.35 \ || echo "!! entrainement mdeberta echoue" if [ -d /scratch/runs/punct_mdeb/best ]; then $V -c " from huggingface_hub import HfApi HfApi(token=open('/root/.cache/huggingface/token').read().strip()).upload_folder( folder_path='/scratch/runs/punct_mdeb/best', path_in_repo='punct/mdeb_best', repo_id='Pricile/waxal2026-backup', repo_type='model') print('PONCT_MDEB_PUBLIEE')" || echo "!! publication mdeberta echouee" fi echo "FILE_PONCT2_TERMINEE $(date -u '+%H:%M')"