Colaboratory

Entornos de ejecución locales

Colab te permite conectarte a un entorno de ejecución local. Esto te permite ejecutar código en tu hardware local.

Consideraciones de seguridad

Antes de ejecutar un bloc de notas, asegúrate de que el autor sea de confianza. Con una conexión local, el código que ejecutes podrá leer, escribir y borrar archivos en tu computadora.

Si te conectas a un entorno de ejecución en tu máquina local, puedes obtener muchos beneficios. No obstante, estos beneficios traen aparejados riesgos potenciales graves. Cuando te conectas a un entorno de ejecución local, permites que el frontend de Colab ejecute el código en el notebook mediante los recursos locales que tenga tu máquina. Esto significa que el bloc de notas podría realizar lo siguiente:

Antes de intentar conectarte a un entorno de ejecución local, asegúrate de comprender qué código se está ejecutando y que los autores del bloc de notas sean de confianza. Para obtener más información sobre el modelo de seguridad del servidor de blocs de notas de Jupyter, consulta la documentación de Jupyter.

Instrucciones de configuración

Paso 1: Inicia un entorno de ejecución

Puedes ejecutar Jupyter directamente o usar la imagen de Docker de Colab. La imagen de Docker incluye paquetes que se encuentran en nuestros entornos de ejecución alojados (https://colab.research.google.com) y habilita algunas funciones de la IU, como la depuración y la supervisión del uso de recursos. Sin embargo, los paquetes (los archivos en general) instalados en tu máquina local no están disponibles de forma predeterminada. La imagen de Docker se proporciona para las plataformas linux/amd64.

Opción 1. Imagen del entorno de ejecución de Docker de Colab

Instala Docker en tu máquina local. Ten en cuenta que europe-docker.pkg.dev y asia-docker.pkg.dev son duplicados alternativos de us-docker.pkg.dev a continuación. Las descargas serán más rápidas para los usuarios de esos continentes. Las imágenes son idénticas. Inicia un entorno de ejecución:

        docker run -p 127.0.0.1:9000:8080 us-docker.pkg.dev/colab-images/public/runtime
      

Para conseguir la compatibilidad con GPU, con los controladores de NVIDIA y NVIDIA Container Toolkit instalados, usa lo siguiente:

        docker run --gpus=all -p 127.0.0.1:9000:8080 us-docker.pkg.dev/colab-images/public/runtime
      

La imagen se probó con las GPU NVIDIA T4, V100 y A100.

Una vez que se inicie el contenedor, imprimirá un mensaje con la URL de backend inicial utilizada para la autenticación, con el formato "http://127.0.0.1:9000/?token=…". Haz una copia de esta URL, ya que deberás proporcionarla en el paso 2 a continuación.

Opción 2. Entorno de ejecución de Jupyter

Instala Jupyter en tu máquina local. Si bien los nuevos servidores de notebooks se inician normalmente, deberás establecer un parámetro para determinar de forma explícita que confías en las conexiones de WebSocket del frontend de Colab.

  jupyter notebook \
    --NotebookApp.allow_origin='https://colab.research.google.com' \
    --port=8888 \
    --NotebookApp.port_retries=0
    

Una vez que se inicie el servidor, imprimirá un mensaje con la URL de backend inicial utilizada para la autenticación. Haz una copia de esta URL, ya que deberás proporcionarla en el paso 2 a continuación.

Paso 2: Conéctate al entorno de ejecución local

En Colab, haz clic en el botón "Conectar" y selecciona "Conectar a un entorno de ejecución local… (Connect to local runtime…)". Ingresa la URL del paso anterior en el cuadro de diálogo que aparece y haz clic en el botón "Conectar". A continuación, debería establecerse una conexión con tu entorno de ejecución local.

Configuración específica del navegador

Nota: si usas Mozilla Firefox, deberás establecer la preferencia network.websocket.allowInsecureFromHTTPS en el editor de configuración de Firefox. Colab establece una conexión con tu kernel local mediante un WebSocket. De forma predeterminada, Firefox inhabilita las conexiones de los dominios HTTPS mediante WebSockets estándar.

Uso compartido

Si compartes tu notebook con otras personas, no se compartirá el entorno de ejecución en tu máquina local. De forma predeterminada, cuando abran el notebook compartido, esos usuarios se conectarán a un entorno de ejecución estándar alojado en Colab.

De forma predeterminada, se almacenan en Google Drive todos los resultados de las celdas de código. Si tu conexión local accede a datos sensibles y deseas omitir los resultados de celdas, selecciona la opción Editar > Configuración del notebook > Omitir el resultado de las celdas al guardar este notebook.

Conéctate a un entorno de ejecución en otra máquina

Si el entorno de ejecución al que quieres conectarte se ejecuta en otra máquina (p. ej., una instancia de Google Compute Engine), puedes configurar la redirección de puertos locales SSH para permitir que Colab se conecte a él.

Primero, configura tu entorno de ejecución con las instrucciones anteriores.

Segundo, establece una conexión SSH desde tu máquina local hasta la instancia remota (p. .ej. una instancia de Google Compute Engine) y especifica la marca "-L". Por ejemplo, para redireccionar el puerto 8888 en la máquina local al mismo puerto en la instancia de Google Compute Engine, ejecuta lo siguiente:

gcloud compute ssh --zone YOUR_ZONE YOUR_INSTANCE_NAME -- -L 8888:localhost:8888
    

Luego, establece la conexión al puerto redirigido mediante Colab (sigue las mismas instrucciones que se indican en el Paso 2: Conéctate al entorno de ejecución local).