Présentation de l'inférence de modèle
Ce document décrit les types d'inférences par lots compatibles avec BigQuery ML, dont les suivants :
L'inférence de machine learning est le processus consistant à exécuter des points de données dans un modèle de machine learning pour calculer une sortie, telle qu'un score numérique unique. Ce processus est également appelé "opérationnalisation d'un modèle de machine learning" ou "mise en production d'un modèle de machine learning".
Prédiction par lot
Les sections suivantes décrivent les différentes méthodes disponibles pour effectuer des prédictions dans BigQuery ML.
Inférence utilisant des modèles entraînés BigQuery ML
La prédiction dans BigQuery ML est utilisée non seulement pour les modèles d'apprentissage supervisé, mais également pour les modèles d'apprentissage non supervisés.
BigQuery ML accepte les fonctionnalités de prédiction via la fonction ML.PREDICT
, avec les modèles suivants :
Catégorie de modèle | Types de modèles | Fonction ML.PREDICT |
---|---|---|
Apprentissage supervisé |
Régression linéaire et logistique Arbres de décision à boosting Forêt d'arbres décisionnels Réseaux de neurones profonds Wide et deep learning AutoML Tables |
Prédire l'étiquette, soit une valeur numérique pour les tâches de régression, soit une valeur catégorielle pour les tâches de classification. |
Apprentissage non supervisé | K-moyennes | Attribuer le cluster à l'entité. |
PCA | Appliquer une réduction de la dimensionnalité à l'entité en la transformant dans l'espace délimité par les eigenvectors (composants principaux). | |
Auto-encodeur | Transformer l'entité en espace intégré. |
Inférence utilisant des modèles importés
Avec cette approche, vous créez et entraînez un modèle en dehors de BigQuery, vous importez le modèle à l'aide de l'instruction CREATE MODEL
, puis vous exécutez l'inférence sur le modèle à l'aide de la fonction ML.PREDICT
.
L'intégralité du traitement de l'inférence s'effectue dans BigQuery à l'aide des données de BigQuery. Les modèles importés peuvent effectuer un apprentissage supervisé ou non supervisé.
BigQuery ML est compatible avec les types de modèles importés suivants :
- Open Neural Network Exchange (ONNX) pour les modèles entraînés dans PyTorch, scikit-learn et d'autres frameworks de ML courants
- TensorFlow
- TensorFlow Lite
- XGBoost
Utilisez cette approche pour employer des modèles personnalisés développés avec plusieurs frameworks de ML tout en tirant parti de la vitesse d'inférence et de la colocation avec les données de BigQuery ML.
Pour en savoir plus, consultez l'un des tutoriels suivants :
- Effectuer des prédictions à l'aide des modèles TensorFlow importés
- Effectuer des prédictions à l'aide de modèles scikit-learn au format ONNX
- Effectuer des prédictions à l'aide de modèles PyTorch au format ONNX
Inférence utilisant des modèles distants
Avec cette approche, vous créez une référence à un modèle hébergé dans Vertex AI Prediction à l'aide de l'instructionCREATE MODEL
, puis vous exécutez l'inférence sur le modèle à l'aide de la fonction ML.PREDICT
.
Tous les traitements d'inférence s'effectuent dans Vertex AI à l'aide des données de BigQuery. Les modèles distants peuvent effectuer un apprentissage supervisé ou non supervisé.
Utilisez cette approche pour exécuter l'inférence sur des modèles volumineux nécessitant la compatibilité matérielle des GPU fournie par Vertex AI. Si la plupart de vos modèles sont hébergés par Vertex AI, cela vous permet également d'exécuter l'inférence sur ces modèles à l'aide de SQL, sans avoir à créer manuellement des pipelines de données pour transférer des données vers Vertex AI et fournir des résultats de prédiction à BigQuery.
Pour obtenir des instructions détaillées, consultez la page Effectuer des prédictions à l'aide de modèles distants sur Vertex AI.
Inférence par lot avec des modèles BigQuery dans Vertex AI
BigQuery ML présente une compatibilité intégrée avec les prédictions par lots, sans avoir à utiliser Vertex AI. Vous pouvez également enregistrer un modèle BigQuery ML dans Model Registry afin d'effectuer des prédictions par lots dans Vertex AI en utilisant une table BigQuery en entrée. Toutefois, cela ne peut se faire qu'en utilisant l'API Vertex AI et en définissant InstanceConfig.instanceType
sur object
.
Prédiction en ligne
La fonctionnalité d'inférence intégrée de BigQuery ML est optimisée pour les cas d'utilisation à grande échelle, tels que la prédiction par lots. Bien que BigQuery ML fournisse des résultats d'inférence à faible latence lors du traitement de données d'entrée de petite taille, vous pouvez obtenir des prédictions en ligne plus rapides grâce à une intégration parfaite avec Vertex AI.
Vous pouvez gérer les modèles BigQuery ML au sein de l'environnement Vertex AI, ce qui élimine le besoin d'exporter les modèles de BigQuery ML avant de les déployer en tant que points de terminaison Vertex AI. En gérant des modèles dans Vertex AI, vous accédez à toutes les fonctionnalités de MLOps de Vertex AI, ainsi qu'à des fonctionnalités telles que Vertex AI Feature Store.
En outre, vous avez la possibilité d'exporter des modèles BigQuery ML vers Cloud Storage pour les rendre disponibles sur d'autres plates-formes d'hébergement de modèles.
Étapes suivantes
- Pour en savoir plus sur l'utilisation de modèles Vertex AI pour générer du texte et des embeddings, consultez la page Présentation de l'IA générative.
- Pour en savoir plus sur l'utilisation des API Cloud AI pour effectuer des tâches d'IA, consultez la page Présentation des applications d'IA.
- Pour en savoir plus sur les types de modèle compatibles et les fonctions SQL pour chaque type d'inférence, consultez la section Parcours de bout en bout pour chaque modèle.