Decision Optimization utilise les API asynchrones de watsonx.ai Runtime pour permettre aux tâches d'être exécutées 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
.
Pods (noeuds)
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.
Configuration des différentes tailles de pod :
Définition | Nom | Descriptif |
---|---|---|
2 vCPU et 8 Go | S | Petite |
4 vCPU et 16 Go | M | Moyen |
8 vCPU et 32 Go | L | Grande |
16 vCPU et 64 Go | XL | Très grand |
Pour toutes les configurations, 1 vCPU et 512 Mo sont réservés pour une utilisation 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 certain délai. 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 l'exécution (CUH)
Seul le temps de résolution du travail est facturé: le temps d'inactivité des pods n'est pas facturé.
En fonction de la taille du pod utilisé, un multiplicateur différent est utilisé pour calculer le nombre d'heures d'unité de capacité (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 concentrateur de ressources.