File size: 2,807 Bytes
c887738 | 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 58 59 | #!/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')"
|