Inférence de batch pour les travaux

Découvrez comment utiliser les différents types d'inférence de batch avec les travaux.

L'entrée de batch traditionnelle est un processus asynchrone qui exécute des prédictions en fonction d'observations et de modèles existants, puis stocke la sortie. Cette inférence de batch est un travail de machine virtuelle unique que vous pouvez exécuter avec des travaux Data Science.

En général, la charge globale varie, mais elle est plus volumineuse qu'une inférence de mini batch et peut nécessiter plusieurs heures ou jours. Ce type de charge globale ne requiert pas la production de résultats en temps réel ou quasi-réel. Son exécution peut s'accompagner d'exigences conséquentes au niveau de l'UC/du GPU et de la mémoire.

Pour de meilleures performances, utilisez le modèle d'IA et d'apprentissage automatique directement plutôt que de l'appeler via HTTP ou un autre réseau. L'utilisation directe du modèle est particulièrement importante lorsque vous avez besoin d'un traitement intensif avec des ensembles de données volumineux, par exemple pour le traitement d'images.

Montre un ensemble de données traité par un traitement batch à l'aide d'un modèle du catalogue de modèles avec stockage des résultats.

Inférence de mini batch

L'inférence de mini batch est semblable à l'inférence de batch. La différence est que vous pouvez fractionner les tâches en petits batches à l'aide de plusieurs travaux ou d'un travail qui exécute plusieurs petites tâches simultanément.

Etant donné que les tâches sont réduites et que les mini batches sont exécutés régulièrement, leur exécution ne prend généralement que quelques minutes. Ce type de charge globale est exécuté régulièrement à l'aide de programmateurs ou de déclencheurs pour travailler sur de petits groupes de données. Le traitement par mini batch vous aide à charger et traiter de façon incrémentielle de petites portions des données ou de l'inférence.

Vous pouvez exécuter des mini batches sur un modèle du catalogue de modèles lorsque les meilleures performances sont requises, ou sur le modèle déployé car les charges globales et l'entrée de données ne sont généralement pas lourdes.

Affiche un ensemble de données traité par plusieurs mini-traitements batch avec plusieurs modèles du catalogue de modèles et stockant les résultats.

Inférence de batch distribué

Utilisez l'inférence de batch distribué pour les travaux les plus lourds.

Ne confondez pas l'inférence de batch distribué avec l'entraînement de modèle distribué car ils sont différents. Par ailleurs, il ne s'agit pas d'un type d'inférence de déploiement de modèle car généralement, vous provisionnez et utilisez l'infrastructure uniquement au moment de l'inférence de batch, et la détruisez automatiquement une fois l'opération terminée.

L'inférence de batch distribué est requise sur un ensemble de données volumineux, en cas d'inférence lourde qui ne peut pas être traitée en temps opportun sur une seule machine virtuelle ou instance Bare Metal et nécessite un redimensionnement horizontal. Une seule ou plusieurs configurations de travail (1+n) peuvent déclencher des traitements de travail sur différents types d'infrastructure et fractionner l'ensemble de données. Ce type de charge globale offre les meilleures performances lorsqu'il s'appuie sur le modèle d'IA et d'apprentissage automatique directement à partir du catalogue de modèles avec le maximum de mémoire d'infrastructure et d'UC ou de GPU à l'aide de travaux.

Affiche un ensemble de données traité par plusieurs traitements batch distribués avec plusieurs modèles du catalogue de modèles et stocke les résultats.

Comparaison des charges globales d'inférence de batch

Comparaison de haut niveau entre les différents types de charge globale et les types d'inférence de batch correspondants :

Inférence de batch

Inférence de mini batch

Inférence de batch distribué

Infrastructure

Grande taille

Petite à moyenne taille

Très grande taille

Machine virtuelle

Unique

Simple ou plusieurs (à petite échelle)

N

Vitesse de provisionnement - Requise

Moyenne

Rapide

Moyenne à lente

Programmateur - Requis

Oui

Oui

Dépend du cas d'emploi

Déclencheur - Requis

Oui

Oui

Non

Charges globales

Grande taille

Petite taille

Grande taille ou lourde

Taille des ensembles de données

Grande taille

Petite taille

Très grande taille ou redimensionnement automatique

Temps de processus de batch (estimation qui peut varier selon le cas d'emploi)

Moyen à très long (de quelques minutes à quelques jours ou heures)

Court à temps quasi-réel

Moyen à très long (de quelques heures à quelques jours)

Déploiement de modèle

Non requis

Oui, mais non requis

Non requis

Adresses

Non

Non

Non