Exécutez un pipeline complet d'apprentissage automatique (préparation des données, entraînement du modèle, évaluation et prédiction) directement dans AnalyticDB for MySQL à l'aide de SQL, sans quitter votre environnement de base de données.
Ce guide explique comment déployer un modèle BST (Behavior Sequence Transformer) pour classifier les séquences de comportement des utilisateurs. Le modèle BST prend en entrée une séquence d'ID d'événements de comportement et renvoie un résultat de classification binaire (0 ou 1).
Fonctionnement
Tous les jobs d'apprentissage automatique dans AnalyticDB for MySQL utilisent deux types de groupes de ressources :
AI resource group : gère les ressources GPU pour les opérations intensives en calcul, telles que l'entraînement et l'inférence de modèles.
General resource group : traite les requêtes SQL standard, comme la génération de données d'entraînement et l'exécution des fonctions de prédiction.
Lorsque vous soumettez une instruction SQL liée à l'apprentissage automatique, le general resource group la traite en premier lieu. Si l'instruction nécessite des calculs d'IA, elle est automatiquement transférée vers l'AI resource group associé.
Le flux de travail complet comprend cinq étapes :
-- Step 1: Set up resource groups (one-time console setup)
-- Step 2: (Optional) Transform raw data into the required format
-- Step 3: Create and train a model
/*+resource_group=itrain*/
CREATE MODEL bstdemo.bst
OPTIONS (
model_type='bst_classification',
feature_cols=(event_list),
target_cols=(target),
hyperparameters = (
use_best_ckpt = 'False',
early_stopping_patience='0'
)
)
AS SELECT event_list, target FROM bstdemo.adb;
-- Step 4: Evaluate the model
/*resource_group=rg1*/
EVALUATE MODEL bstdemo.bst
OPTIONS (
feature_cols=(event_list),
target_cols=(target),
)
AS SELECT event_list, target FROM bstdemo.adb01;
-- Step 5: Run predictions
SELECT ML_PREDICT('bstdemo.bst', event_list) FROM bstdemo.adb02;
Cas d'utilisation
Les modèles BST conviennent aux scénarios nécessitant l'analyse de schémas de comportement utilisateur séquentiels pour prédire des résultats ou fournir des recommandations personnalisées :
Jeux vidéo : Capturez les dépendances à long terme entre les actions des joueurs (connexion, acceptation de tâche, combat, recharge) pour prédire des catégories de comportement, telles que le risque de désabonnement ou la probabilité d'achat.
Commerce électronique : Analysez les séquences de navigation et d'achat pour recommander des produits ou prédire la conversion.
À propos du modèle BST
Le modèle BST traite les données de séquence de comportement. Il accepte une séquence d'ID d'événements de comportement au format chaîne et renvoie 0 ou 1 comme résultat de classification.
Par exemple, l'activité d'un joueur peut générer la séquence de comportement suivante : connexion, réception des récompenses de connexion, acceptation des tâches, combat, combat, combat, achèvement des tâches, recharge, combat et déconnexion. Cette séquence correspond à la chaîne d'ID d'événement suivante transmise au modèle : 0,1,2,3,3,3,4,5,3,6. Le modèle analyse la séquence et renvoie un résultat de classification indiquant si le comportement correspond à une catégorie prédéfinie.
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
-
Un cluster AnalyticDB for MySQL exécutant Enterprise Edition, Basic Edition ou Data Lakehouse Edition, avec une version mineure 3.2.4.0 ou ultérieure
Pour afficher et mettre à jour la version mineure, connectez-vous à la console AnalyticDB for MySQL et accédez à la section Configuration Information de la page Cluster Information.
-
La fonctionnalité AI resource group activée
RemarqueLa fonctionnalité AI resource group est en aperçu public. Pour l'activer, contactez le support technique.
Limites
Le modèle BST prend uniquement en charge la classification binaire : il renvoie 0 ou 1.
Les valeurs des caractéristiques d'entrée doivent être une chaîne d'entiers séparés par des virgules (par exemple,
'1,2,3').La colonne d'étiquette de résultat doit contenir des valeurs binaires (0 ou 1).
Étape 1 : Configurer les groupes de ressources
Pour exécuter des jobs d'apprentissage automatique, vous avez besoin d'un AI resource group pour le calcul GPU et d'un general resource group qui lui est lié.
Connectez-vous à la console AnalyticDB for MySQL. Dans le coin supérieur gauche, sélectionnez une région. Dans le volet de navigation de gauche, cliquez sur Clusters, puis sur l'ID du cluster.
Dans le volet de navigation de gauche, choisissez Cluster Management > Resource Management. Sur la page Resource Management, cliquez sur l'onglet Resource Groups.
-
Dans le coin supérieur droit, cliquez sur Create Resource Group. Configurez les paramètres suivants :
Paramètre Description Resource group name 2 à 30 caractères ; lettres, chiffres et underscores (_) ; doit commencer par une lettre Job type Sélectionnez AI dans la liste déroulante. Si l'option AI n'apparaît pas, contactez le support technique pour activer la fonctionnalité AI resource group. Specifications Sélectionnez ADB.MLLarge.24, ADB.MLLarge.2 ou ADB.MLAdvavced.6 Minimum resources Le nombre minimal de ressources Maximum resources Le nombre maximal de ressources Cliquez sur OK. L'AI resource group est créé.
Recherchez le general resource group à associer et cliquez sur Modify dans la colonne Actions. Dans le panneau Modify Resource Group, accédez à la section ML Job Resubmission Rules et associez le general resource group à l'AI resource group que vous avez créé.
Étape 2 : Préparer vos données d'entraînement
L'entraînement du modèle nécessite des données suivant un schéma de table spécifique :
Colonne de caractéristiques : une chaîne d'entiers séparés par des virgules, où chaque valeur est un ID d'événement de comportement (par exemple,
'1,2,3')Colonne d'étiquette : un entier binaire (0 ou 1) indiquant la catégorie de classification
Exemples de lignes : ('1,2,3', 0), ('3,2,1', 1).
Si vos données brutes sont déjà dans ce format, passez à l'étape 3.
Si vos données brutes nécessitent une transformation :
Téléchargez le package JAR contenant votre programme de traitement des données Spark dans un bucket Object Storage Service (OSS).
Soumettez un job Spark avec les paramètres requis. Pour plus de détails, consultez la rubrique Paramètres de configuration des applications Spark.
Étape 3 : Créer et entraîner un modèle
Dans le volet de navigation de gauche, choisissez Job Development > SQL Development.
-
Sous l'onglet SQLConsole, exécutez les instructions suivantes. L'indicateur
/*+resource_group=itrain*/achemine le job vers l'AI resource group nomméitrain.-- Create and train a BST model /*+resource_group=itrain*/ CREATE MODEL bstdemo.bst OPTIONS ( model_type='bst_classification', -- Model type feature_cols=(event_list), -- Input feature column target_cols=(target), -- Result label column hyperparameters = ( use_best_ckpt = 'False', -- Use the last checkpoint rather than the best early_stopping_patience='0' -- Disable early stopping ) ) AS SELECT event_list, target FROM bstdemo.adb; -- Training data source -
Vérifiez l'état de l'entraînement. L'entraînement est terminé lorsque l'état est
READY.SHOW MODEL bstdemo.bst;
Étape 4 : Évaluer le modèle
Exécutez EVALUATE MODEL sur un jeu de données d'évaluation réservé pour vérifier la précision du modèle. L'indicateur /*resource_group=rg1*/ achemine le job vers le groupe de ressources nommé rg1.
/*resource_group=rg1*/
EVALUATE MODEL bstdemo.bst
OPTIONS (
feature_cols=(event_list),
target_cols=(target),
)
AS SELECT event_list, target FROM bstdemo.adb01;
La requête renvoie des métriques d'évaluation indiquant la performance du modèle lors de la classification des séquences de comportement sur des données non vues pendant l'entraînement. Utilisez ces métriques pour décider si le modèle est prêt pour une utilisation en production.
Étape 5 : Exécuter les prédictions
Transmettez les colonnes de caractéristiques de n'importe quelle table à ML_PREDICT() pour classer chaque ligne. Le premier argument est le nom du modèle ; le second est la colonne de caractéristiques d'entrée.
SELECT ML_PREDICT('bstdemo.bst', event_list) FROM bstdemo.adb02;
La fonction renvoie 0 ou 1 pour chaque ligne, indiquant la catégorie de classification prédite.
Étapes suivantes
Paramètres de configuration des applications Spark — configurez les jobs Spark pour le prétraitement des données
Afficher et mettre à jour la version mineure d'un cluster — mettez à niveau votre cluster pour répondre à l'exigence de version