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
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. Elle n'est utilisée que pour les modèles entraînés avec des données IID (variables indépendantes et identiquement distribuées). Pour les données de séries temporelles qui ne sont pas des IID, le terme prévision est utilisé. Consultez la section prévisions ci-dessous.
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é. |
ACP | 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é. |
Pour obtenir des informations sur l'inférence de modèle de factorisation matricielle, consultez la page Recommandation.
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.
Prévision
La prévision est une technique qui utilise des données historiques comme entrée pour effectuer des estimations éclairées pour l'avenir. Dans BigQuery ML, les prévisions sont appliquées aux données de séries temporelles. Pour les données IID, reportez-vous à la section prédiction.
BigQuery ML accepte les fonctionnalités de prévision via la fonction ML.FORECAST
, avec les modèles ARIMA_PLUS et ARIMA_PLUS_XREG. Le modèle de série temporelle n'est pas un modèle unique, mais un pipeline de modélisation de séries temporelles qui comprend plusieurs modèles et algorithmes. Pour en savoir plus, consultez la page Pipeline de modélisation de séries temporelles.
Recommandation
Les systèmes de recommandation sont l'une des applications les plus performantes et les plus répandues des technologies de machine learning pour les entreprises. Un système de recommandation aide les utilisateurs à trouver du contenu intéressant dans un volume de travail important. Par exemple, Google Play Store fournit des millions d'applications et YouTube des milliards de vidéos, avec toujours plus d'applications et de vidéos ajoutées chaque jour. Pour trouver de nouveaux contenus attrayants, les utilisateurs peuvent effectuer des recherches, mais un moteur de recommandations peut afficher des contenus que les utilisateurs n'auraient peut-être pas envisagés de rechercher par eux-mêmes. Pour en savoir plus, consultez la page Présentation des systèmes de recommandation.
Les algorithmes de machine learning dans les systèmes de recommandation sont généralement classés dans deux catégories : les méthodes de filtrage basé sur le contenu et les méthodes de filtrage collaboratif.
Type | Définition | Exemple |
---|---|---|
Filtrage basé sur le contenu | Utilise une similitude entre les éléments pour recommander des éléments semblables à ceux que l'utilisateur apprécie. | Si l'utilisateur A regarde deux vidéos de chats mignons, le système peut lui recommander des vidéos d'animaux mignons. |
Filtrage collaboratif | Utilise les similitudes entre les requêtes et les éléments simultanément pour fournir des recommandations. | Si l'utilisateur A est semblable à l'utilisateur B, et que l'utilisateur B aime la vidéo 1, le système peut recommander la vidéo 1 à l'utilisateur A (même si l'utilisateur A n'a vu aucune vidéo semblable à la vidéo 1). |
Le modèle de factorisation matricielle est couramment utilisé comme méthode de filtrage collaboratif pour les systèmes de recommandation. BigQuery ML propose la fonction ML.RECOMMEND
pour faciliter l'utilisation de la factorisation matricielle à des fins de recommandation.
Pour en savoir plus sur l'application de la factorisation matricielle aux recommandations, consultez la section Factorisation matricielle.
Dans les moteurs de recommandations modernes, les modèles de réseau de neurones profond (DNN, Deep Neural Network), y compris les modèles de wide et deep learning, sont couramment utilisés. Ils peuvent être considérés comme une extension du filtrage collaboratif basé sur la factorisation matricielle. Ils peuvent intégrer des fonctionnalités de requête et des fonctionnalités d'élément pour améliorer la pertinence des recommandations. Pour en savoir plus, consultez les pages Recommandations utilisant des modèles de réseaux de neurones profonds, Réseaux de neurones profonds pour les recommandations YouTube ou Wide learning et deep learning pour les systèmes de recommandation. Rappelons également que tout modèle d'apprentissage supervisé peut être utilisé pour effectuer des tâches de recommandation.
Détection d'anomalies
La détection d'anomalies est une étape d'exploration des données qui identifie les points de données, les événements et les observations qui diffèrent du comportement normal d'un ensemble de données. Les données anormales peuvent indiquer des incidents critiques tels que des problèmes techniques ou des opportunités telles que des changements de comportement des consommateurs.
L'un des défis de la détection d'anomalies est l'identification et la définition de l'anomalie.
Les données étiquetées avec des anomalies connues vous permettent de choisir entre les types de modèles de machine learning supervisé déjà compatibles avec BigQuery ML.
Sans type d'anomalie connu ou données étiquetées, vous pouvez toujours utiliser le machine learning non supervisé pour détecter les anomalies. Selon que vos données d'entraînement sont des séries temporelles ou non, vous pouvez détecter des anomalies dans les données d'entraînement ou dans les nouvelles données d'entrée à l'aide de la fonction ML.DETECT_ANOMALIES
avec les modèles suivants :
Type de données | Types de modèles | Fonction ML.DETECT_ANOMALIES |
---|---|---|
Séries temporelles | ARIMA_PLUS | Détecter les anomalies dans la série temporelle. |
ARIMA_PLUS_XREG | Détecter les anomalies dans les séries temporelles à l'aide de régresseurs externes. | |
Variables indépendantes et identiquement distribuées (IID) | K-moyennes | Détecter les anomalies en fonction de la distance la plus courte parmi les distances normalisées des données d'entrée vers chaque centroïde du cluster. Pour obtenir la définition des distances normalisées, consultez la page ML.DETECT_ANOMALIES . |
Auto-encodeur | Détecter les anomalies basées sur la perte de reconstruction en termes d'erreur quadratique moyenne. Pour en savoir plus, consultez ML.RECONSTRUCTION_LOSS ML.RECONSTRUCTION_LOSS peut récupérer tous les types de pertes de reconstruction. |
|
ACP | Détecter les anomalies basées sur la perte de reconstruction en termes d'erreur quadratique moyenne. |
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 lot. Tandis que BigQuery ML fournit des résultats d'inférence à faible latence lors du traitement de petites données d'entrée, vous pouvez obtenir des prédictions en ligne plus rapidement grâce à une intégration parfaite avec Vertex AI.
Vous pouvez gérer les modèles BigQuery ML dans l'environnement Vertex AI, ce qui élimine le besoin d'exporter des modèles à partir 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 pouvez accéder à toutes les fonctionnalités MLOps de Vertex AI, ainsi qu'à des fonctionnalités comme Vertex AI Feature Store.
De plus, vous avez la possibilité d'exporter des modèles BigQuery ML vers Cloud Storage pour d'autres disponibilités sur les autres plates-formes d'hébergement de modèles.
Étapes suivantes
- Pour en savoir plus sur l'utilisation de grands modèles de langage (LLM) et des API d'IA dans le cloud pour générer du texte et effectuer d'autres tâches d'IA, consultez la page Présentation des applications de l'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.