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 :

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 :

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.

TypeDéfinitionExemple
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