Options de ressource de calcul pour l'éditeur de bloc-notes dans les projets

Lorsque vous exécutez des blocs-notes dans l'éditeur de bloc-notes d'un projet, vous choisissez un modèle d'environnement pour l'environnement d'exécution. Le modèle d'environnement indique le type, la taille et la puissance de la configuration matérielle, ainsi que le modèle de logiciel. Pour les ordinateurs portables, les modèles d'environnement incluent une langue prise en charge de Python, R ou Scala.

Types d'environnement

{: #types}Vous pouvez utiliser ces types d'environnement pour exécuter un bloc-notes :

La plupart des types d'environnement pour les ordinateurs portables ont Modèles d'environnement par défaut pour que vous puissiez démarrer rapidement. Sinon, vous pouvez Créer des modèles d'environnement personnalisés.

Type d'environnement Modèles par défaut Modèles par défaut
UC Anaconda
Clusters Spark
Processeur graphique (GPU)

IBM versions d'exécution

En commençant par l'ajout de Python 3.9 à Cloud Pak for Data en tant que service, les modèles d'environnement de bloc-notes par défaut seront ajoutés en tant qu'affilié d'une édition d'exécution et préfixés avec IBM Runtime suivi de l'année de publication et de la version d'édition.

Une édition d'exécution spécifie une liste de bibliothèques de sciences de données et d'une version de langage. Tous les environnements d'une édition d'exécution sont basés sur les versions de bibliothèque définies dans la version, assurant ainsi l'utilisation cohérente des bibliothèques de données de données dans toutes les applications de science des données.

La première édition d'exécution en 2022 n'est disponible que pour Python 3.9. Le préfixe d'édition d'exécution est IBM Runtime 22.1.

Si IBM Runtime 22.1 est pris en charge, IBM met à jour les versions de bibliothèque pour répondre aux exigences de sécurité. Notez que ces mises à jour ne modifieront pas les versions <Major>.<Minor> des bibliothèques, mais uniquement les versions <Patch>. Cela garantit que vos actifs de bloc-notes continueront à s'exécuter.

Par exemple : IBM Runtime 22.1 prend en charge TensorFlow 2.7 dans sa version initiale. Lors des mises à jour régulières de Cloud Pak for Data en tant que service, TensorFlow peut être mis à jour vers la version 2.7.1 ou 2.7.2, mais pas vers la version 2.8.

Bibliothèques dans IBM Runtime 22.1

IBM Runtime 22.1 inclut les modules de bibliothèque de sciences de données populaires suivants :

Bibliothèque Version
Dali 1.9
Horovod 0.23
Keras 2.7
Lale 0.6
LightGBM 3.3
NumPy 1.20
ONNX 1.10
Environnement d'exécution ONNX 1.10
OpenCV 4.5
pandas 1.3
PyArrow 5.0
PyTorch 1.10
scikit-learn 1.0
SciPy 1.7
SnapML 1.8
TensorBoard 2.7
TensorFlow 2.7
XGBoost 1.5

IBM Runtime 22.1 inclut un grand nombre d'autres bibliothèques utiles en plus des bibliothèques répertoriées dans le tableau. Pour afficher la liste complète, sélectionnez la définition d'environnement IBM Runtime 22.1 on Python 3.9 sur la page Environnements d'un projet et affichez les détails de la configuration logicielle.

Modèles d'environnement d'UC par défaut

Vous pouvez sélectionner l'un des modèles d'environnement d'UC par défaut suivants pour les ordinateurs portables. Ces modèles d'environnement par défaut sont répertoriés dans la page Environnements du projet.

+ DO Indique que les modèles d'environnement incluent les bibliothèques CPLEX et DOcplex pour modéliser et résoudre les problèmes d'optimisation des décisions qui dépassent la complexité prise en charge par l'édition communautaire des bibliothèques dans les autres environnements Python par défaut. Voir Bloc-notes Decision Optimization.

+ Watson NLP Indique que les modèles d'environnement incluent la bibliothèque Watson Natural Language Processing avec des modèles prédéfinis pour les tâches de traitement des langues que vous pouvez exécuter sur des données non structurées. Voir Utilisation de la bibliothèque Watson Natural Language Processing. Cet environnement par défaut doit être suffisamment grand pour exécuter les modèles préformés.

# Indique que l'environnement est en mode restreint. Vous ne pouvez plus créer de nouveaux ordinateurs portables avec cet environnement.

~ Indique que les modèles d'environnement requièrent le plan Watson Studio Standard ou Enterprise. Voir Plans d'offres.

Nom Configuration matérielle Taux CUH par heure
IBM Runtime 22.1 sur Python 3.9 XXS 1 UC virtuelle et 2 Go RAM 0,5
IBM Runtime 22.1 sur Python 3.9 XS 2 UC virtuelles et 8 Go RAM 2
IBM Runtime 22.1 sous Python 3.9 S 4 vCPU et 16 Go de mémoire RAM 4
IBM DO Runtime 22.1 sous Python 3.9 2 UC virtuelles et 8 Go RAM 6
Valeur par défaut Python 3.8 + Watson NLP XS (bêta) 2 UC virtuelles et 8 Go RAM 6
Python 3.8 XXS # par défaut 1 UC virtuelle et 4 Go RAM 0,5
Python 3.8 XS # par défaut 2 UC virtuelles et 8 Go RAM 2
Valeur par défaut Python 3.8 XS + DO # 2 UC virtuelles et 8 Go RAM 6
Valeur par défaut Python 3.8 S # 4 vCPU et 16 Go de mémoire RAM 4
Default R 3.6 S 4 vCPU et 16 Go de mémoire RAM 4
Valeur par défaut R 3.6 M ~ 16 vCPU et 64 Go de mémoire RAM 8

Pour éviter de consommer des unités de capacité-heures (CUH) supplémentaires, pensez à arrêter tous les environnements d'exécution CPU actifs lorsque vous n'en avez plus besoin. Voir Délai d'inactivité de l'UC.

Blocs-notes et environnements CPU

Lorsque vous ouvrez un bloc-notes en mode édition dans un environnement d'exécution CPU, une session interactive se connecte à un noyau Jupyter pour le langage de bloc-notes et l'environnement d'exécution que vous sélectionnez. L'environnement d'exécution est démarré par utilisateur et non par bloc-notes. Cela signifie que si vous ouvrez un second bloc-notes avec le même modèle d'environnement dans le même projet, un second noyau est démarré dans le même environnement d'exécution. Les ressources des environnements d'exécution sont partagées. Les ressources d'exécution sont également partagées si l'unité centrale dispose de GPU.

Si vous souhaitez éviter le partage des exécutions mais que vous souhaitez utiliser le même modèle d'environnement pour plusieurs ordinateurs portables dans un projet, vous devez créer des modèles d'environnement personnalisés avec les mêmes spécifications et associer chaque bloc-notes à sa propre définition.

Si nécessaire, vous pouvez redémarrer le noyau ou rétablir la connexion au noyau. Lorsque vous redémarrez un noyau, il s'arrête, puis redémarre dans la même session, mais tous les résultats d'exécution sont perdus. Lorsque vous rétablissez une connexion à un noyau, le bloc-notes est connecté à la même session de noyau et tous les résultats d'exécution précédents qui avaient été sauvegardés sont disponibles.

Modèles d'environnement Spark par défaut

Vous pouvez sélectionner l'un des modèles d'environnement Spark par défaut suivants pour les blocs-notes. Ces modèles d'environnement par défaut sont répertoriés dans la page Environnements du projet.

* Indique que l'environnement inclut les bibliothèques de IBM Runtime 22.1.

# Indique que l'environnement est en mode restreint. Vous ne pouvez plus créer de nouveaux ordinateurs portables avec cet environnement.

Nom Configuration matérielle Taux CUH par heure
Spark par défaut 3.0 & Python 3.9 *
Spark par défaut 3.0 & Python 3.8 #
Spark par défaut 3.0 & R 3.6
Spark par défaut 3.0 & Scala 2.12
2 Exécuteurs chacun : 1 vCPU et 4 Go de RAM ;
Driver : 1 vCPU et 4 Go de RAM
1
Spark par défaut 2.4 & R 3.6 #
Spark par défaut 2.4 & Scala 2.11 #
2 Exécuteurs chacun : 1 vCPU et 4 Go de RAM ;
Driver : 1 vCPU et 4 Go de RAM
1
Spark par défaut 2.3 & Scala 2.11 #
Spark par défaut 2.3 & R 2.4 #
2 Exécuteurs chacun : 1 vCPU et 4 Go de RAM ;
Driver : 1 vCPU et 4 Go de RAM
1

Pour éviter de consommer des unités de capacité-heures (CUH) supplémentaires, pensez à arrêter tous les environnements d'exécution Spark actifs lorsque vous n'en avez plus besoin. Voir Délai d'inactivité de Spark.

Grands environnements de Spark

Les utilisateurs des plans Standard et Entreprise peuvent créer des modèles d'environnement personnalisés pour des environnements Spark plus importants.

Les utilisateurs de plan standard et d'entreprise peuvent avoir jusqu'à 35 exécuteurs et peuvent choisir parmi les options suivantes pour le pilote et l'exécuteur :

Configuration matérielle
1 UC virtuelle et 4 Go RAM
1 unité centrale virtuelle et 8 Go de RAM
1 unité centrale virtuelle et 12 Go de RAM

Le taux de CUH par heure augmente de 0,5 pour chaque unité centrale ajoutée. Par exemple, 1x Driver: 3vCPU with 12GB of RAM et 4x Executors: 2vCPU with 8GB of RAM sont (3 + (4 * 2)) = 11 vCPUs et 5.5 CUH.

Blocs-notes et environnements Spark

Vous pouvez sélectionner le même modèle d'environnement Spark pour plus d'un bloc-notes. Chaque bloc-notes associé à l'environnement possède son propre cluster Spark dédié et aucune ressource n'est partagée.

Lorsque vous démarrez un environnement Spark, des ressources supplémentaires sont nécessaires pour Jupyter Enterprise Gateway, Spark Master et les démons worker Spark. Ces ressources supplémentaires représentent au total 1 UC virtuelle et 2 Go RAM pour le pilote et 1 Go RAM pour chaque programme d'exécution. Vous devez les prendre en compte au moment de choisir la taille du matériel d'un environnement Spark. Par exemple : si vous créez un bloc-notes et que vous sélectionnez Default Spark 3.0 & Python 3.9, le cluster Spark consomme 3 vCPU et 12 Go de RAM mais, comme 1 vCPU et 4 Go de RAM sont requis pour les ressources supplémentaires, les ressources restantes pour le bloc-notes sont 2 vCPU et 8 Go de RAM.

Système de fichiers sur un cluster Spark

Si vous souhaitez partager des fichiers entre des exécuteurs et le pilote ou le noyau d'un cluster Spark, vous pouvez utiliser le système de fichiers partagé à l'adresse /home/spark/shared.

Si vous souhaitez utiliser vos propres bibliothèques personnalisées, vous pouvez les stocker sous /home/spark/shared/user-libs/. Il existe quatre sous-répertoires sous /home/spark/shared/user-libs/ qui sont préconfigurés pour être mis à la disposition des environnements d'exécution Python, R et Scala ou Java.

Les tableaux suivants répertorient les sous-répertoires préconfigurés dans lesquels vous pouvez ajouter vos bibliothèques personnalisées :

Répertoire Type de bibliothèque
/home/spark/shared/user-libs/python3/ Bibliothèques Python 3
/home/spark/shared/user-libs/R/ Packages R
/home/spark/shared/user-libs/spark2/ Fichiers Java ou JAR Scala

Pour partager des bibliothèques entre un pilote et des programmes d'exécution Spark :

  1. Téléchargez vos bibliothèques personnalisées ou fichiers JAR dans le répertoire préconfiguré approprié.
  2. Redémarrez le noyau dans le menu du bloc-notes en cliquant sur Noyau > Redémarrer le noyau. Cette action charge vos bibliothèques personnalisées ou fichiers JAR dans Spark.

Notez que ces bibliothèques ne sont pas conservées. Lorsque vous arrêtez l'environnement d'exécution et que vous le redémarrez ultérieurement, vous devez recharger les bibliothèques.

Définitions d'environnement GPU par défaut

Vous pouvez sélectionner les définitions d'environnement GPU par défaut suivantes pour les blocs-notes. Cette définition d'environnement par défaut est répertoriée sur la page Environnements du projet.

~ Indique que la définition d'environnement requiert le plan Watson Studio Standard ou Enterprise. Le taux du CUH passe de 4 à 6 CUH pour les plans standard et d'entreprise le 06 mai 2022. Voir Plans d'offres.

* Indique que l'environnement inclut les bibliothèques de IBM Runtime 22.1.

# Indique que l'environnement est en mode restreint. Vous ne pouvez plus créer de nouveaux ordinateurs portables avec cet environnement.

Nom Configuration matérielle Taux CUH par heure
IBM GPU Runtime 22.1 on Python 3.9 ~ * 4 vCPU + 24 Go + 0,5 NVIDIA TESLA K80 (1 GPU) 6
GPU par défaut Python 3.8 ~ # 4 vCPU + 24 Go + 0,5 NVIDIA TESLA K80 (1 GPU) 6

Pour éviter de consommer des unités de capacité-heures (CUH) supplémentaires, pensez à arrêter tous les environnements d'exécution GPU actifs lorsque vous n'en avez plus besoin. Voir Délai d'inactivité de GPU.

Blocs-notes et environnements GPU

Les environnements GPU pour les blocs-notes sont disponibles uniquement dans la région de service IBM Cloud de Dallas.

Vous pouvez sélectionner la même définition d'environnement Python et GPU pour plusieurs bloc-notes dans un projet. Dans ce cas, chaque noyau de bloc-notes s'exécute dans la même instance d'exécution et les ressources sont partagées. Pour éviter de partager les ressources des environnements d'exécution, créez plusieurs définitions d'environnement personnalisées avec les mêmes spécifications et associez chaque bloc-notes à sa propre définition.

Spécifications de matériel par défaut pour l'évaluation des modèles avec Watson Machine Learning

Lorsque vous appelez l'API Watson Machine Learning dans un bloc-notes, vous consommez les ressources de calcul du service Watson Machine Learning ainsi que les ressources de calcul pour le noyau du bloc-notes.

Lorsque vous vous connectez à Watson Machine Learning et créez un déploiement, vous pouvez sélectionner l'une des spécifications de matériel suivantes.

Taille de la capacité Configuration matérielle Taux CUH par heure
Très petite 1x4 = 1 vCPU et 4 Go de RAM 0,5
Petite 2x8 = 2 vCPU et 8 Go de RAM 1
Moyen 4x16 = 4 vCPU et 16 Go de RAM 2
Grande 8x32 = 8 vCPU et 32 Go de RAM 4
Extra large (obsolète) 16x64 = 16 vCPU et 64 Go de RAM 8

Remarque : La spécification matérielle extra large est obsolète. Le soutien sera interrompu le 14 avril 2022.

Fichiers de données dans les environnements de bloc-notes

Si vous utilisez des jeux de données volumineux, scindez-les en blocs plus petits dans l'IBM Cloud Object Storage associé à votre projet et traitez-les par blocs dans le bloc-notes. Vous pouvez également exécuter ce dernier dans un environnement Spark.

Gardez à l'esprit que le système de fichiers de chaque environnement d'exécution n'est pas persistant et ne peut pas être partagé entre plusieurs environnements. Pour conserver les fichiers dans Watson Studio, utilisez IBM Cloud Object Storage. Le moyen le plus simple d'utiliser IBM Cloud Object Storage dans les blocs-notes dans les projets est de tirer parti de Module project-lib pour Python ou de Module project-lib pour R.

Utilisation du calcul par service

Les exécutions de bloc-notes consomment des ressources de calcul sous forme d'unités de capacité-heures (CUH, Capacity Units-Hours) obtenues de l'un des services suivants dans les projets :

  • Watson Studio : lors de l'exécution d'environnements par défaut ou personnalisés. Vous pouvez surveiller la consommation de CUH Watson Studio dans le projet sur la page Environnements.
  • IBM Analytics Engine : lors de l'exécution d'un bloc-notes dans un environnement Spark fourni par le service.

Les blocs-notes peuvent également consommer des CUH du service Watson Machine Learning lorsqu'ils appellent celui-ci pour évaluer un modèle. Vous pouvez surveiller le montant mensuel total de la consommation de CUH pour le service Watson Machine Learning sur la page Environnements.

Suivi de la consommation d'unités de capacité-heures (CUH) pour Watson Machine Learning dans un bloc-notes

Pour calculer les CUH consommées par un bloc-notes, exécutez le code suivant dans le bloc-notes :

CP =  client.service_instance.get_details()
CUH = CUH["entity"]["usage"]["capacity_units"]["current"]/(3600*1000)
print(CUH)

Par exemple :

'capacity_units': {'current': 19773430}

19773430/(3600*1000)

renvoie 5,49 CUH

Pour plus d'informations, voir la section Instances de service de la documentation API IBM Watson Machine Learning.

Portée d'environnement d'exécution

Les environnements d'exécution {: #scope} Environment sont toujours limités à un modèle d'environnement et à un utilisateur dans un projet. Si plusieurs utilisateurs travaillent avec le même environnement dans un projet, chacun d'eux disposera de son propre environnement d'exécution.

Si l'exécution d'une version d'un bloc-notes s'effectue de manière planifiée, chaque travail planifié démarre toujours dans un environnement d'exécution dédié. L'exécution s'arrête lorsque le travail se termine.

Changer l'environnement d'un bloc-notes

Vous pouvez changer d'environnement pour différentes raisons, par exemple vous pouvez :

  • Sélectionner un environnement avec plus de puissance de traitement ou plus de RAM
  • Remplacer un environnement sans Spark par un environnement Spark

Vous ne pouvez modifier l'environnement d'un bloc-notes que si le bloc-notes est déverrouillé. Vous pouvez modifier l'environnement :

  • A partir du bloc-notes ouvert en mode édition :

    1. Sauvegardez vos modifications de bloc-notes.
    2. Cliquez sur l'icône Informations du bloc-notes (Icône d'informations du bloc-notes) dans la barre d'outils du bloc-notes, puis sur Environnement. Une brève description de l'environnement s'affiche.
    3. Sélectionnez un autre environnement d'exécution avec la puissance de calcul et la capacité de mémoire dans la liste sous Environnements. L'environnement d'exécution actif est arrêté et celui que vous avez sélectionné est instancié.
    4. Sélectionnez Modifier l'environnement. Cela arrête l'environnement d'exécution actif et démarre l'environnement nouvellement sélectionné.
  • A partir de la page Actifs de votre projet :

    1. Sélectionnez le bloc-notes dans la section Carnets de notes, cliquez sur Actions > Modifier l'environnement et sélectionnez un autre environnement. Le noyau doit être arrêté pour que vous puissiez changer l'environnement. Ce nouvel environnement d'exécution sera instancié lors de la prochaine ouverture du bloc-notes à des fins d'édition.
  • Dans le travail du bloc-notes, en éditant le modèle de travail. Voir Édition des paramètres de travail.

Etapes suivantes

En savoir plus

Rubrique parent : Choix des ressources de calcul pour les outils