Classificació d'Imatges Massiva amb MareNostrum 5
🎯 Resum
Projecte de classificació d'imatges a gran escala utilitzant el superordinador MareNostrum V del BSC. Entrenament de models Transformer sobre el dataset MAMe (>200GB) aconseguint un F1-score de 0.75 amb tècniques avançades de paral·lelització distribuïda.
Assoliments Clau:
- F1-score de 0.75 en classificació multiclasse
- Processament de >200GB de dades d'imatges
- Optimització per supercomputació distribuïda
- Reducció del temps d'entrenament en un 85%
- Pipeline escalable per datasets massius
🛠️ Stack Tecnològic
📊 Resultats i Mètriques
🏗️ Arquitectura del Sistema
Arquitectura distribuïda que aprofita la potència de MareNostrum V amb 13.900 nodes de còmput. Implementa paral·lelització de dades i models utilitzant PyTorch Distributed, amb gestió optimitzada de memòria i I/O per treballar amb datasets de dimensions massives.
🧩 Reptes i Solucions
-
Repte: Gestió de memòria amb datasets massiusEl dataset de 200GB superava la capacitat de memòria disponible per node✅ Solució: Implementació de data loading eficient amb prefetching i gestió de cache distribuït
-
Repte: Saturació d'I/O en nodes de còmputLa lectura simultània de dades des de múltiples nodes saturava el sistema de fitxers✅ Solució: Estratègia de pre-processament i distribució de dades optimitzada amb sharding intel·ligent
-
Repte: Sincronització d'entrenament distribuïtMantenir la coherència dels gradients entre milers de processos paral·lels✅ Solució: Optimització de communication backends i implementació d'All-Reduce eficient
🎓 Aprenentatges i Conclusions
Aquest projecte va ser una masterclass en computació d'alt rendiment aplicada al deep learning. Aprendre a treballar amb SLURM i gestionar recursos de supercomputació va obrir noves perspectives sobre l'escalabilitat del machine learning. La importància de l'optimització d'I/O i la gestió eficient de memòria es fa crítica quan es treballa amb datasets d'aquesta magnitud. També va quedar clar que l'arquitectura distribuïda no és només sobre paral·lelització, sinó sobre repensar completament com estructurem els algorithms per aprofitar al màxim els recursos disponibles.