Classificació d'Imatges Massiva amb MareNostrum 5

Deep Learning a Escala amb Supercomputació
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

PyTorch Transformers (Hugging Face) SLURM Python CUDA MPI Distributed Training Vision Transformer (ViT) ResNet EfficientNet TensorBoard Weights & Biases

📊 Resultats i Mètriques

75.3%
Precisió del Model
200GB+
Registres Processats
48h
Temps d'Inferència
+85%
Millora vs Baseline

🏗️ Arquitectura del Sistema

📋 Diagrama d'Arquitectura

[Aquí aniria un diagrama detallat de l'arquitectura del sistema
mostrant el flux de dades, components principals i integracions]

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 massius
    El 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òmput
    La 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ït
    Mantenir 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.