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 :
-
Invoquer des commandes arbitraires (par exemple, "
rm -rf /
") - Accéder au système de fichiers local
- Exécuter un contenu malveillant sur votre machine
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
etasia-docker.pkg.dev
sont des miroirs alternatifs deus-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/runtimePour 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/runtimeL'image a été testée avec des GPU NVIDIA T4, L4 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=0Aprè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".