DEV Community

Kybumo
Kybumo

Posted on • Originally published at innovacion-tech.es

Tutorial Completo: Entrenamiento de Modelos con Google Colab

Tutorial Completo: Entrenamiento de Modelos con Google Colab

  **Google Colab machine learning** es la combinacion perfecta para quienes quieren entrenar modelos de inteligencia artificial sin necesidad de hardware propio. Google Colaboratory ofrece acceso gratuito a GPUs en la nube, un entorno basado en Jupyter Notebooks y una integracion nativa con Google Drive, lo que lo convierte en el punto de partida ideal tanto para estudiantes como para profesionales.



  **TL;DR - Puntos clave de este tutorial:**

    - Google Colab proporciona GPUs gratuitas (hasta 12 horas por sesion) y TPUs para entrenar modelos.

    - El entorno es compatible con Python 3 y las principales librerias de ML: TensorFlow, PyTorch, Scikit-learn.

    - En 6 pasos puedes tener un modelo entrenado y guardado en Google Drive.

    - La version Colab Pro reduce las desconexiones y amplia la RAM disponible a 25 GB.

    - Es una plataforma ideal para prototipar antes de escalar a produccion.






## Que es Google Colab y por que usarlo para Machine Learning
Enter fullscreen mode Exit fullscreen mode

Foto: Markus Winkler en Unsplash

  **Google Colaboratory (Colab) es** un servicio gratuito de Google basado en [Jupyter Notebooks](https://es.wikipedia.org/wiki/Proyecto_Jupyter) que permite ejecutar codigo Python directamente en la nube. No requiere instalacion local y ofrece acceso gratuito a unidades de procesamiento grafico (GPU) y unidades de procesamiento tensorial (TPU).



  Para el contexto de **google colab machine learning**, esto significa poder entrenar redes neuronales, procesar grandes volumenes de datos y experimentar con modelos de ultima generacion sin invertir en infraestructura propia.


### Ventajas concretas frente a otras plataformas




      Caracteristica
      Colab Gratuito
      Colab Pro (9,99 $/mes)
      AWS SageMaker




      GPU disponible
      T4 (hasta 12 h/sesion)
      A100 / V100
      Multiples opciones


      RAM maxima
      12 GB
      25 GB
      Segun instancia


      Coste base
      Gratis
      9,99 $/mes
      Por uso (variable)


      Integracion Drive
      Nativa
      Nativa
      No


      Curva de aprendizaje
      Baja
      Baja
      Alta




  Los expertos del sector coinciden en que Colab es la mejor opcion para *prototipar rapidamente* antes de escalar a entornos de produccion mas robustos. Si buscas una introduccion mas amplia al campo, consulta nuestra [Guia Completa de Machine Learning para Principiantes](https://innovacion-tech.es/machine-learning-principiantes-guia-completa/).





## Paso 1: Preparar el Entorno de Google Colab para Machine Learning
Enter fullscreen mode Exit fullscreen mode

Foto: Mariia Shalabaieva en Unsplash

  Antes de entrenar cualquier modelo, hay que configurar el entorno correctamente. Un error comun es saltarse este paso y encontrarse con errores de dependencias a mitad del entrenamiento.


### Habilitar la GPU en Colab


  Por defecto, Colab ejecuta el codigo en CPU. Para activar la GPU sigue estos 3 pasos:



  - Abre tu notebook y ve a **Entorno de ejecucion > Cambiar tipo de entorno de ejecucion**.

  - En el desplegable *Acelerador de hardware*, selecciona **GPU** (o TPU si tu modelo lo soporta).

  - Haz clic en **Guardar**. La sesion se reiniciara automaticamente.


Verifica que la GPU esta activa con el siguiente comando:
Enter fullscreen mode Exit fullscreen mode

Verificar GPU disponible en Google Colab

import tensorflow as tf
print("GPUs disponibles:", tf.config.list_physical_devices('GPU'))

Tambien puedes usar este comando de shell

!nvidia-smi

  Si el comando devuelve el nombre de una GPU (por ejemplo, *Tesla T4*), el entorno esta listo.


### Conectar Google Drive para guardar modelos


  Dado que las sesiones de Colab se desconectan tras un periodo de inactividad (aproximadamente 90 minutos), guardar los pesos del modelo en Google Drive es imprescindible.
Enter fullscreen mode Exit fullscreen mode

Montar Google Drive en Colab

from google.colab import drive
drive.mount('/content/drive')

Ruta de ejemplo para guardar modelos

save_path = '/content/drive/MyDrive/modelos_ml/'

## Paso 2: Cargar y Preparar los Datos en Google Colab Machine Learning
Enter fullscreen mode Exit fullscreen mode

Foto: Growtika en Unsplash

  La calidad del dato determina la calidad del modelo. En la practica, el 70 % del tiempo de un proyecto de machine learning se dedica a la preparacion de datos, segun la tendencia generalizada del sector.


### Opciones para importar datasets

Colab ofrece 4 formas principales de cargar datos:


  - **Desde Google Drive:** ideal para archivos CSV, imagenes o modelos pre-entrenados propios.

  - **Desde URL directa:** usando `wget` o la libreria `requests` de Python.

  - **Desde Kaggle:** instalando la API oficial de Kaggle y descargando datasets con un solo comando.

  - **Subida manual:** usando el explorador de archivos del panel lateral de Colab.
Enter fullscreen mode Exit fullscreen mode

Ejemplo: cargar dataset desde Kaggle en Colab

!pip install kaggle -q
from google.colab import files
files.upload() # Sube tu kaggle.json con las credenciales

!mkdir -p ~/.kaggle
!cp kaggle.json ~/.kaggle/
!chmod 600 ~/.kaggle/kaggle.json

Descarga un dataset de ejemplo (titanic)

!kaggle datasets download -d heptapod/titanic
!unzip titanic.zip -d /content/titanic

### Preprocesamiento basico con Pandas y Scikit-learn


  **El preprocesamiento de datos consiste en** transformar los datos brutos en un formato que el modelo pueda interpretar correctamente: escalar valores numericos, codificar variables categoricas y dividir el conjunto en train/test.
Enter fullscreen mode Exit fullscreen mode

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler

Cargar datos

df = pd.read_csv('/content/titanic/train.csv')

Seleccionar caracteristicas

X = df[['Pclass', 'Age', 'Fare']].fillna(0)
y = df['Survived']

Dividir en entrenamiento (80%) y prueba (20%)

X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)

Escalar los datos

scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)

## Paso 3: Entrenar un Modelo con Google Colab Machine Learning


  Esta es la etapa central del proceso. Colab facilita el uso de las 2 librerias de deep learning mas populares: [TensorFlow](https://es.wikipedia.org/wiki/TensorFlow) (con Keras como API de alto nivel) y PyTorch. Ambas vienen preinstaladas.


### Ejemplo con TensorFlow y Keras


  A continuacion se muestra como construir, compilar y entrenar una red neuronal sencilla para clasificacion binaria. El entrenamiento con GPU puede ser **hasta 10 veces mas rapido** que en CPU para modelos de tamano medio.
Enter fullscreen mode Exit fullscreen mode

import tensorflow as tf
from tensorflow.keras import Sequential
from tensorflow.keras.layers import Dense, Dropout

Definir la arquitectura del modelo

model = Sequential([
Dense(64, activation='relu', input_shape=(3,)),
Dropout(0.3),
Dense(32, activation='relu'),
Dense(1, activation='sigmoid')
])

Compilar el modelo

model.compile(
optimizer='adam',
loss='binary_crossentropy',
metrics=['accuracy']
)

Entrenar el modelo (30 epocas)

history = model.fit(
X_train, y_train,
epochs=30,
batch_size=32,
validation_split=0.1,
verbose=1
)

Guardar el modelo en Google Drive

model.save('/content/drive/MyDrive/modelos_ml/modelo_titanic.h5')
print("Modelo guardado correctamente.")

### Monitorizar el entrenamiento con TensorBoard


  Colab integra **TensorBoard**, la herramienta de visualizacion de TensorFlow, directamente en el notebook. Esto permite supervisar metricas como la perdida (*loss*) y la exactitud (*accuracy*) en tiempo real durante el proceso de **entrenar modelo colab**.
Enter fullscreen mode Exit fullscreen mode

Cargar TensorBoard en el notebook

%load_ext tensorboard
%tensorboard --logdir logs/

## Paso 4: Evaluar y Optimizar tu Modelo en Colab


  Entrenar no es suficiente: hay que medir el rendimiento real del modelo sobre datos que nunca ha visto.


### Metricas de evaluacion esenciales


  Para un proyecto de **google colab machine learning** de clasificacion, las metricas mas relevantes son:



  - **Accuracy (exactitud):** porcentaje de predicciones correctas. Util cuando las clases estan balanceadas.

  - **Precision y Recall:** especialmente importantes cuando el coste de los falsos positivos o negativos es alto.

  - **F1-Score:** media armonica de precision y recall. Es la metrica recomendada para datasets desbalanceados.

  - **AUC-ROC:** mide la capacidad discriminativa del modelo. Un valor superior a 0,85 se considera bueno en la mayoria de contextos.
Enter fullscreen mode Exit fullscreen mode

from sklearn.metrics import classification_report

Predecir sobre el conjunto de prueba

y_pred = (model.predict(X_test) > 0.5).astype(int)

Mostrar informe completo

print(classification_report(y_test, y_pred))

### Tecnicas de optimizacion en Colab

Un error comun entre principiantes es asumir que mas epocas siempre mejoran el modelo. En la practica, el sobreajuste (*overfitting*) aparece cuando el modelo memoriza los datos de entrenamiento. Estas tecnicas lo mitigan:


  - **Early Stopping:** detiene el entrenamiento cuando la perdida de validacion deja de mejorar durante N epocas consecutivas.

  - **Dropout:** desactiva aleatoriamente neuronas durante el entrenamiento para forzar generalizacion.

  - **Learning Rate Scheduling:** reduce la tasa de aprendizaje de forma progresiva para mejorar la convergencia.



  Para profundizar en el proceso completo, te recomendamos nuestro articulo sobre como [entrenar un modelo de IA personalizado paso a paso](https://innovacion-tech.es/tutorial-entrenar-un-modelo-de-ia-personalizado-paso-a-paso/), donde se cubren escenarios mas avanzados.





## Buenas Practicas y Errores Comunes en Google Colab Machine Learning


  Nuestra experiencia muestra que la mayoria de problemas en proyectos de **colab tutorial IA** se repiten. Conocerlos de antemano ahorra horas de depuracion.


### Los 5 errores mas frecuentes al entrenar modelos en Colab


  - **No guardar el modelo periodicamente:** una desconexion inesperada puede borrar horas de entrenamiento. Usa *ModelCheckpoint* para guardar pesos cada N epocas.

  - **Ignorar la desconexion automatica:** Colab desconecta sesiones inactivas. Planifica sesiones cortas o usa Colab Pro para sesiones mas largas.

  - **Cargar datasets muy grandes en RAM:** para datasets superiores a 5 GB, usa generadores de datos (*tf.data.Dataset* o *DataLoader* de PyTorch) para procesar por lotes.

  - **No fijar la semilla aleatoria (*random seed*):** dificulta la reproducibilidad de los resultados. Fija siempre `random_state=42` y `tf.random.set_seed(42)`.

  - **Mezclar entornos de CPU y GPU:** asignar tensores a dispositivos diferentes genera errores. Comprueba siempre el dispositivo activo con `tf.device`.



### Recomendaciones para proyectos reales


  Los expertos en machine learning recomiendan seguir estas practicas desde el primer dia:



  - Documenta cada experimento con comentarios en el notebook o herramientas como **MLflow** o **Weights & Biases**.

  - Usa control de versiones para tus notebooks con **GitHub** o **DVC**.

  - Separa siempre el conjunto de test antes de cualquier preprocesamiento para evitar *data leakage*.

  - Valida los resultados con al menos 3 metricas distintas antes de concluir que el modelo es valido.



  Si tu objetivo es llevar estos modelos a entornos empresariales, te puede interesar el articulo sobre [como funciona el machine learning en aplicaciones empresariales](https://innovacion-tech.es/como-funciona-el-machine-learning-en-aplicaciones-empresariales-guia-completa-2024/).





## Conclusion: Domina Google Colab Machine Learning Paso a Paso


  **Google Colab machine learning** democratiza el acceso a la inteligencia artificial al eliminar las barreras de hardware. Con una GPU gratuita, integracion nativa con Google Drive y soporte para las principales librerias del sector, Colab es el entorno mas accesible para aprender a **entrenar modelos en Colab** hoy en dia.



  En este tutorial has aprendido a:



  - Configurar el entorno de Colab con GPU y conectar Google Drive.

  - Cargar y preprocesar datos desde multiples fuentes.

  - Construir y entrenar una red neuronal con TensorFlow y Keras.

  - Evaluar el rendimiento del modelo con metricas profesionales.

  - Aplicar tecnicas de optimizacion y evitar los errores mas comunes.



  El siguiente paso natural es experimentar con arquitecturas mas complejas, trabajar con [transfer learning](https://es.wikipedia.org/wiki/Aprendizaje_por_transferencia) o explorar modelos preentrenados del hub de Hugging Face. La curva de aprendizaje es progresiva, pero con Colab como plataforma, el unico limite es tu curiosidad.
Enter fullscreen mode Exit fullscreen mode

Top comments (0)