Soumission Parameter Golf
Utilisez cette skill lors de la création ou de l'examen d'un dossier de soumission Parameter Golf, indépendamment du fournisseur cloud utilisé pour l'exécution.
Contrat du dossier Record
Un dossier de soumission doit contenir :
records/<track>/<submission-name>/
README.md
submission.json
train_gpt.py
train.log # après une exécution réelle
train_gpt.py doit compiler et s'exécuter depuis ce dossier dans un checkout Parameter Golf propre.
Contraintes de compétition à préserver
- Limite d'artefact :
16 000 000octets décimaux. - Limite d'entraînement pour les records du classement : 10 minutes sur 8xH100 SXM-class.
- Métrique d'évaluation : bits par octet de validation FineWeb (
val_bpb). - Aucune fuite d'ensemble de validation. L'entraînement au moment de l'évaluation ne peut utiliser que des tokens de validation déjà notés, si implémenté.
- Aucun téléchargement/appel réseau caché pendant l'évaluation.
- Aucune importation de référentiel local à moins qu'elle ne soit incluse et comptabilisée dans le dossier record.
- Si le tokenizer change, prouvez soigneusement la comptabilité BPB ; SP1024 standard est plus sûr pour la première participation.
Liste de contrôle Script autonome
Avant l'exécution :
- [ ]
python -m py_compile train_gpt.pyréussit. - [ ] Les imports sont des packages d'environnement standard/autorisés uniquement (
torch,numpy,sentencepiece, etc.). - [ ]
DATA_PATHetTOKENIZER_PATHsont configurables par env. - [ ] Le script charge
fineweb_train_*.binetfineweb_val_*.binavec le format d'en-tête binaire Parameter Golf. - [ ] Le script calcule le BPB de validation à partir de la comptabilité d'octets SentencePiece, pas simplement la perte de token.
- [ ] Le script enregistre le nombre de paramètres et l'estimation de la taille d'artefact.
- [ ] Le script écrit un artefact compressé, généralement
final_model.int8.ptz. - [ ] Le script recharge/dequantize l'artefact compressé et évalue le modèle round-trip.
- [ ] Le log final inclut
final_int8_zlib_roundtrip_exact.
Contenu du README
Le README doit inclure :
- résumé court de l'architecture
- ensemble de données/tokenizer utilisé
- commande exacte
- matériel d'exécution et budget de temps
- métriques finales après l'exécution
- ligne de taille d'artefact après l'exécution
- mises en garde si l'exécution est smoke/non-record/en attente de vérification
Contenu de submission.json
Utilisez les valeurs réelles après l'exécution, pas des espaces réservés :
{
"run_name": "...",
"author": "...",
"github_id": "...",
"track": "track_10min_16mb or track_non_record_16mb",
"val_bpb": 1.2345,
"val_loss": 2.1234,
"artifact_size_bytes": 12345678,
"command": "...",
"status": "completed"
}
Ajoutez des champs d'architecture selon les besoins, mais ne revendiquez pas l'éligibilité au record à moins que le log ne le prouve.
Extraction après exécution
Après une exécution, extrayez ces lignes :
grep -E "final_int8_zlib_roundtrip_exact|Total submission size int8\+zlib|stopping_early|train_time|model_params" train.log
Mettez à jour :
submission.json.val_bpbsubmission.json.val_losssubmission.json.artifact_size_bytes- section métriques README
Étiquettes de statut
Utilisez un statut précis :
prepared_pending_run: dossier créé, aucune exécution réelle encoresmoke_passed: exécution courte/non-finale réussiecompleted_non_record: exécution complète mais non valide pour le classement ou non SOTAcompleted_record_candidate: exécution conforme 8xH100 10 minutes avec log complet et artefact sous la limitefailed: inclure la raison de l'échec et le dernier checkpoint/ligne de log fonctionnel
Modes d'échec courants
- Importation accidentelle de code de modèle local (
from src...) absent du dossier record. - Oubli de copier
train.logdepuislogs/<RUN_ID>.txt. - Rapport de BPB pré-quant au lieu de BPB round-trip int8.
- Dépassement de 16 MB après comptage du code + artefact compressé.
- Exécution sur 1 GPU et affirmation que c'est valide pour le classement.
- Utilisation d'un tokenizer personnalisé sans preuve exacte de comptabilité en octets.