🖥️ Diapositives du cours — Séance 02 (ven. 2 oct.)
Nous allons voir comment travailler dans différents environnements.
Environnement local¶
Pour travailler localement avec Python et les carnets Jupyter.
Nous recommandons Visual Studio Code pour éditer code et carnets, les exécuter et interagir avec GitHub. C’est ainsi que nous avons écrit ce livre, et c’est là que vivent la plupart des assistants IA agentiques (voir 1.8).
Depuis votre système ou depuis VS Code, ouvrez un terminal. Le terminal transmet les commandes à l’ordinateur à travers un shell ; BASH (Bourne Again SHell) en est l’implémentation la plus courante. De bons tutoriels de démarrage se trouvent dans les leçons des Software Carpentries.
Apprenez à connaître votre matériel. Identifiez le CPU, le GPU et la mémoire de votre machine. htop surveille les ressources en temps réel ; installez-le localement (p. ex. brew install htop sur macOS).
CPU, GPU et autres accélérateurs¶
Les charges de calcul du machine learning (ML ; apprentissage automatique) se parallélisent. Les CPU (Central Processing Units, processeurs) suffisent pour l’essentiel du ML classique : matériel par défaut de tout ordinateur, ils gèrent bien les entrées-sorties des gros jeux de données. Un CPU compte typiquement entre 8 et 96 cœurs.
L’apprentissage profond (deep learning) — l’entraînement des modèles comme l’inférence avec des modèles entraînés — est rendu possible par le parallélisme bien plus large des accélérateurs :
- Les GPU NVIDIA restent le choix par défaut. Le modèle de programmation CUDA (2007) a rendu praticable le calcul générique sur GPU, et PyTorch le cible en premier. Un GPU compte des milliers de cœurs (environ 5 000 à 20 000).
- Les Mac Apple silicon intègrent un GPU que PyTorch exploite via le backend MPS (Metal Performance Shaders) :
device = "mps". C’est largement suffisant pour les modèles de ce cours ; un MacBook récent est une machine d’apprentissage profond légitime à l’échelle des projets du cours. - Les TPU (Tensor Processing Units) sont les accélérateurs de Google, disponibles sur Google Cloud et dans Colab.
Pour observer l’utilisation d’un GPU NVIDIA :
watch nvidia-smiLouer des GPU coûte de l’argent réel. En 2026, les tarifs cloud à la demande vont de bien moins d’un dollar de l’heure pour un GPU modeste à plusieurs dollars de l’heure pour un GPU de centre de données récent ; les instances spot (préemptibles) sont moins chères mais peuvent être interrompues. Deux habitudes en découlent : mesurez et rapportez votre temps de calcul (le projet final l’exige), et dimensionnez le matériel au problème — la plupart des projets du cours s’entraînent en quelques minutes sur un portable ou un GPU Colab gratuit, et acheter un plus gros GPU ne remplace pas un problème mieux posé.
Les CPU se regroupent en nœuds. Plusieurs nœuds composent une grappe (cluster). Une grappe peut être locale (si vous avez de la chance !), mais elle est le plus souvent distante. Les niveaux typiques : la machine de votre équipe de recherche, le calculateur institutionnel (p. ex. Hyak à l’Université de Washington, ou le mésocentre de votre université en France), un centre national de calcul (en France, les centres GENCI — l’IDRIS, qui héberge Jean Zay, le calculateur phare de l’IA académique française, le TGCC et le CINES ; aux États-Unis, TACC), ou un fournisseur cloud (AWS, Azure, GCP). En informatique cloud, un nœud est une instance.
HPC¶
Le HPC (High Performance Computing, calcul haute performance) désigne un système de nœuds étroitement interconnectés pour des travaux à grande échelle. Les Software Carpentries proposent des tutoriels sur l’usage des grappes : voir les leçons Introduction to HPC. Ces architectures permettent le passage à l’échelle « vertical » : plus de CPU, de mémoire ou d’entrées-sorties par travail.
Un système HPC comprend 1) une grappe de calcul, 2) un système de fichiers scratch (temporaire) et 3) un système de fichiers home. Le code vit dans le home, les grosses données sur le scratch, et les travaux s’exécutent sur la grappe via une file d’attente gérée par un ordonnanceur. Il est courant d’exécuter de gros travaux sur des centaines à des milliers de nœuds.
Les institutions peuvent avoir leur propre système HPC. À l’Université de Washington, il s’appelle Hyak ; en France, les universités opèrent des mésocentres régionaux.
Les ressources nationales de HPC s’obtiennent sur dossier : en France via GENCI et les accès DARI ; aux États-Unis, typiquement via NSF ACCESS ou TACC. Ces programmes ont des guichets d’entrée adaptés aux projets de cours et à la recherche exploratoire.
On procède typiquement ainsi : 1) choisir la ressource HPC, puis 2) y déplacer les données pour le flux de calcul.
Cloud¶
L’informatique cloud désigne un système de nœuds faiblement interconnectés. Il existe de nombreux fournisseurs, trois dominent : Amazon Web Services (AWS), Google Cloud Platform (GCP) et Microsoft Azure.
Les centres cloud sont répartis dans le monde pour un accès rapide partout ; ces centres s’appellent des regions.
Stocker et déplacer les données est généralement le poste le plus coûteux du cloud en géosciences. On procède typiquement ainsi : 1) trouver où les données sont archivées, puis 2) choisir le fournisseur cloud et la region où ces données résident, pour que le calcul s’exécute à côté des données.
Un tutoriel eScience pour démarrer sur AWS (en anglais) : Getting started on AWS (vidéo).
Carnets gratuits ou à bas coût¶
- Google Colab offre à quiconque possède un compte Google un carnet hébergé, avec un palier gratuit incluant un temps limité de GPU ou de TPU ; les paliers payants ajoutent du matériel plus rapide et des sessions plus longues. Colab est le moyen le plus rapide d’essayer un GPU dans ce cours. Carnet d’exemple :
- GitHub Codespaces lance un environnement VS Code dans le cloud directement depuis un dépôt, avec un quota mensuel gratuit pour les comptes personnels. Parce qu’il part de votre dépôt et de ses fichiers d’environnement, c’est un bon test de la reproductibilité réelle de votre projet.
Données ouvertes sur les clouds¶
Les grands clouds hébergent de vastes archives géoscientifiques ouvertes, et il vaut la peine de savoir où vivent les données même si vous calculez ailleurs :
- Le registre AWS Open Data héberge sur S3 de nombreuses archives géoscientifiques, d’accès gratuit. Exemples utilisables dans ce livre :
- Le Microsoft Planetary Computer catalogue des pétaoctets de données environnementales sur Azure (catalogue, p. ex. Landsat). Les données et l’API STAC sont ouvertes ; le calcul à leurs côtés s’exécute sur vos propres ressources Azure.
- Source Cooperative est un dépôt de données géospatiales ouvertes hébergées dans le cloud, opéré par l’association Radiant Earth (il succède au Radiant MLHub, retiré).
- Hugging Face datasets héberge un nombre croissant de jeux de données de sciences de la Terre prêts pour le ML et de collections de référence, téléchargeables avec la bibliothèque
datasets.
Les modèles d’accès changent ; vérifiez les conditions du moment plutôt que de présumer d’un palier gratuit.