Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

🖥️ Diapositivas — Sesión 02 (vie 2 oct)

Veremos cómo trabajar con distintos entornos.

Entorno local

Para trabajar localmente con Python y cuadernos de Jupyter.

Recomendamos Visual Studio Code para editar código y cuadernos, ejecutarlos e interactuar con GitHub. Así escribimos este libro, y ahí viven la mayoría de los asistentes de IA agéntica (vea 1.8).

Desde su sistema operativo o desde VS Code, abra una terminal. La terminal pasa comandos a la computadora a través de un shell; BASH (Bourne Again SHell) es la implementación más común. Hay buenos tutoriales para empezar en las lecciones de los Software Carpentries.

Conozca su hardware. Averigüe qué CPU, GPU y memoria tiene su máquina. htop monitorea los recursos en tiempo real; instálelo localmente (por ejemplo, brew install htop en macOS).

CPU, GPU y otros aceleradores

Las cargas de trabajo de aprendizaje automático (machine learning, ML) se paralelizan. Las CPU (unidades centrales de procesamiento) bastan para la mayoría del ML clásico: son el hardware por defecto de toda computadora y manejan bien la entrada/salida de conjuntos de datos grandes. Las CPU suelen tener entre 8 y 96 núcleos.

El aprendizaje profundo (deep learning) — tanto el entrenamiento de modelos como la inferencia con modelos ya entrenados — se apoya en el paralelismo mucho más amplio de los aceleradores:

Para observar cómo se está usando una GPU de NVIDIA:

watch nvidia-smi

Alquilar GPU cuesta dinero real. A 2026, el precio en la nube bajo demanda va desde bastante menos de un dólar por hora para una GPU modesta hasta varios dólares por hora para una GPU actual de centro de datos, y las instancias spot/interrumpibles son más baratas pero pueden interrumpirse. De ahí siguen dos hábitos: medir y reportar su tiempo de cómputo (el proyecto final lo exige), y dimensionar el hardware al problema — la mayoría de los proyectos del curso se entrena en minutos en una laptop o en una GPU gratuita de Colab, y comprar una GPU más grande no sustituye un problema mejor planteado.

Las CPU individuales componen un nodo. Varios nodos componen un clúster. Los clústeres pueden ser locales (¡con suerte!) y, más a menudo, remotos. Niveles típicos: la máquina de su grupo de investigación, el clúster institucional (por ejemplo, Hyak en la Universidad de Washington), un centro nacional de HPC (por ejemplo, TACC en Estados Unidos — muchas universidades latinoamericanas operan clústeres propios, como el Miztli de la UNAM), o un proveedor de nube (AWS, Azure, GCP). En el cómputo en la nube, un nodo es una instancia.

HPC

HPC (cómputo de alto rendimiento, High Performance Computing) se refiere a un sistema de nodos estrechamente conectados para trabajos a gran escala. Los Software Carpentries tienen tutoriales sobre el uso de clústeres: vea las lecciones Introduction to HPC. Estas arquitecturas permiten el «escalado vertical»: más CPU, memoria o entrada/salida por trabajo.

Los sistemas HPC tienen 1) un clúster de cómputo, 2) un sistema de archivos scratch (temporal) y 3) un sistema de archivos home. El código vive en home, los datos grandes en scratch, y los trabajos corren en el clúster de cómputo a través de una cola de planificación. Es habitual correr trabajos grandes en cientos a miles de nodos.

Cada institución puede tener su propio sistema HPC. En la Universidad de Washington, el sistema se llama Hyak.

Los recursos nacionales de HPC de Estados Unidos requieren una solicitud de asignación, típicamente a través de NSF ACCESS o TACC. ACCESS tiene un nivel de entrada adecuado para proyectos de curso e investigación exploratoria.

Típicamente uno 1) elige el recurso HPC y luego 2) mueve los datos ahí para el flujo de cómputo.

Nube

El cómputo en la nube se refiere a un sistema de nodos débilmente conectados. Hay muchos proveedores de nube, con tres a la cabeza: Amazon Web Services (AWS), Google Cloud Platform (GCP) y Microsoft Azure.

Los centros de nube están distribuidos por el mundo para permitir acceso global rápido; los centros se llaman regions.

Almacenar y mover datos suele ser la parte más cara de la geociencia en la nube. Típicamente uno 1) averigua dónde están archivados los datos y luego 2) elige el proveedor de nube y la region donde viven esos datos, para que el cómputo corra junto a los datos.

Vea un tutorial de eScience para empezar en AWS (en inglés): Getting started on AWS (video).

Cuadernos gratuitos y de bajo costo

Datos abiertos en las nubes

Las grandes nubes alojan archivos abiertos de geociencias de gran tamaño, y vale la pena saber dónde viven los datos aunque usted compute en otra parte:

Los modelos de acceso cambian; revise los términos vigentes de cada proveedor en lugar de asumir que hay un nivel gratuito.