Colaboratory

Environnements d'exécution locaux

Colab vous permet de vous connecter à un environnement d'exécution local. Vous pouvez ainsi exécuter du code sur votre matériel local.

Points à noter concernant la sécurité

Avant d'exécuter un notebook, assurez-vous que son auteur est digne de confiance. Avec une connexion locale, le code que vous exécutez peut lire, écrire et supprimer des fichiers sur votre ordinateur.

Se connecter à un environnement d'exécution sur votre machine locale peut présenter de nombreux avantages, mais aussi de sérieux risques potentiels. En vous connectant à un environnement d'exécution local, vous autorisez l'interface Colab à exécuter du code dans le notebook avec les ressources locales de votre machine. Autrement dit, le notebook peut effectuer les actions suivantes :

Avant de vous connecter à un environnement d'exécution local, assurez-vous que l'auteur du notebook est digne de confiance, tout en veillant à bien comprendre le code en cours d'exécution. Pour en savoir plus sur le modèle de sécurité du serveur de notebooks Jupyter, consultez la documentation relative à Jupyter.

Instructions de configuration

Étape 1 : Démarrez un environnement d'exécution

Vous pouvez exécuter Jupyter directement ou utiliser l'image Docker de Colab. L'image Docker inclut des packages présents dans nos environnements d'exécution hébergés (https://colab.research.google.com) et active certaines fonctionnalités d'UI comme le débogage et le contrôle de l'utilisation des ressources. Toutefois, les packages (fichiers en général) installés sur votre machine locale ne sont pas disponibles par défaut. L'image Docker est fournie pour les plates-formes linux/amd64.

Option 1. Image de l'environnement d'exécution Docker de Colab

Installez Docker sur votre machine locale. Notez que europe-docker.pkg.dev et asia-docker.pkg.dev sont des miroirs alternatifs de us-docker.pkg.dev ci-dessous. Les téléchargements sont plus rapides pour les utilisateurs se trouvant dans ces continents. Les images sont identiques. Démarrez un environnement d'exécution :

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

Pour la compatibilité GPU, après avoir installé les pilotes NVIDIA et le NVIDIA Container Toolkit, utilisez :

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

L'image a été testée avec des GPU NVIDIA T4, V100 et A100.

Après avoir démarré, le conteneur affichera un message contenant l'URL de backend initiale utilisée pour l'authentification, au format "http://127.0.0.1:9000/?token=…". Créez une copie de cette URL, car vous en aurez besoin à l'étape 2 ci-dessous.

Option 2. Environnement d'exécution Jupyter

Installez Jupyter sur votre machine locale. Même si les nouveaux serveurs de notebooks sont démarrés normalement, vous devez définir un indicateur pour approuver clairement les connexions WebSocket depuis l'interface Colab.

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

Après avoir démarré, le serveur affichera un message contenant l'URL de backend initiale utilisée pour l'authentification. Créez une copie de cette URL, car vous en aurez besoin à l'étape 2 ci-dessous.

Étape 2 : Connectez-vous à l'environnement d'exécution local

Dans Colab, cliquez sur le bouton "Connecter", puis sélectionnez "Connecter à un environnement d'exécution local". Dans la boîte de dialogue qui s'affiche, indiquez l'URL copiée à l'étape précédente, puis cliquez sur le bouton "Connecter". Vous devriez maintenant être connecté à votre environnement d'exécution local.

Paramètres spécifiques au navigateur

Remarque : Si vous utilisez Mozilla Firefox, vous devez définir la préférence network.websocket.allowInsecureFromHTTPS dans l'éditeur de configuration pour Firefox. Colab établit une connexion avec votre noyau local à l'aide d'un WebSocket. Par défaut, Firefox interdit les connexions à partir de domaines HTTPS à l'aide de WebSockets standards.

Partage

Sachez que si vous partagez votre notebook avec d'autres personnes, l'environnement d'exécution sur votre machine locale ne l'est pas. Par conséquent, lorsque ces personnes ouvrent le notebook partagé, elles sont connectées par défaut à un environnement d'exécution Colab standard.

Par défaut, tous les éléments de sortie de cellules de code sont enregistrés dans Google Drive. Si votre connexion locale accède à des données sensibles et que vous souhaitez omettre ces éléments, sélectionnez Modifier > Paramètres du notebook > Omettre l'élément de sortie des cellules de code lors de l'enregistrement de ce notebook.

Se connecter à un environnement d'exécution sur une autre machine

Si l'environnement d'exécution auquel vous voulez vous connecter s'exécute sur une autre machine (par exemple, une instance Google Compute Engine), vous pouvez configurer un transfert de port local SSH pour permettre à Colab de s'y connecter.

Commencez par configurer votre environnement d'exécution en suivant les instructions ci-dessus.

Ensuite, établissez une connexion SSH entre votre machine locale et l'instance distante (par exemple, l'instance Google Compute Engine) et spécifiez l'indicateur "-L". Par exemple, pour transférer le port 8888 de votre machine locale vers le port 8888 de votre instance Google Compute Engine, exécutez la commande suivante :

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

Enfin, établissez la connexion dans Colab en vous connectant au port transféré. Pour cela, suivez les instructions de l'étape 2, "Connectez-vous à l'environnement d'exécution local".