Exécution de travaux
Decision Optimization utilise les API asynchrones de watsonx.ai Runtime pour permettre l'exécution des tâches en parallèle.
Pour résoudre un problème, vous pouvez créer un nouveau travail à partir du déploiement de modèle et lui associer des données. Voir Etapes de déploiement et l' exemple d'API REST. Vous n'êtes pas facturé pour le déploiement d'un modèle. Seule la résolution d'un modèle avec des données est facturée, en fonction de la durée d'exécution.
Si vous voulez résoudre plusieurs travaux simultanément, spécifiez plusieurs noeuds lors de la création de votre déploiement. Par exemple, dans cet exemple d'API REST, incrémentez le nombre de nœuds en modifiant la valeur de la propriété des nœuds : "nodes" : 1
.
POD (nœuds)
Lorsqu'un travail est créé et soumis, la façon dont il est traité dépend de la configuration actuelle et des travaux en cours pour l'instance watsonx.ai Runtime. Ce processus est illustré dans le diagramme suivant.
- Le nouveau travail est envoyé à la file d'attente.
- Si un pod est démarré mais inactif (pas d'exécution de travail), il commence immédiatement à traiter ce travail.
- Sinon, si le nombre maximal de noeuds n'est pas atteint, un nouveau pod est démarré. (Le démarrage d'un pod peut prendre quelques secondes). Le travail est ensuite affecté à ce nouveau pod pour traitement.
- Sinon, le travail attend dans la file d'attente jusqu'à ce que l'un des pods en cours d'exécution soit terminé et peut récupérer le travail en attente.
La configuration des PODS de chaque taille est la suivante :
Définition | Nom | Descriptif |
---|---|---|
2 vCPU et 8 Go | S | Petit |
4 vCPU et 16 Go | M | Moyen |
8 vCPU et 32 Go | L | Grand |
16 vCPU et 64 Go | XL | Très grand |
Pour toutes les configurations, 1 vCPU et 512 Mo sont réservés à l'usage interne.
En plus du temps de résolution, la tarification dépend de la taille sélectionnée via un multiplicateur.
Dans la configuration de déploiement, vous pouvez également définir le nombre maximal de noeuds à utiliser.
Les PODS inactifs sont automatiquement arrêtés après un délai d'attente. Si un nouveau travail est soumis alors qu'aucun pod n'est actif, le redémarrage du pod prend un certain temps (environ 30 secondes).
Tarification basée sur la durée d'exécution (CUH)
Seul le temps de résolution des tâches est facturé : le temps d'inactivité des POD est facturé selon le " pas .
Selon la taille du POD utilisé, un multiplicateur différent est utilisé pour calculer le nombre d'unités de capacité-heures (CUH) utilisées.
Exemple d'API REST
Pour la procédure complète de déploiement d'un modèle et les liens vers la documentation Swagger, voir l'exemple d'API REST.
Exemple d'API Python
En plus des API REST, une API " Python est fournie avec le " watsonx.ai Temps d'exécution afin que vous puissiez facilement créer, déployer et utiliser un modèle " Decision Optimization " à partir d'un modèle " Python " notebook".
Pour plus d'informations, voir l'exemple de clientPython.
Un " exemple " notebook décrivant et documentant toutes les étapes est disponible à partir du " Centre de ressources.