Tous les produits
Search
Centre de documentation

Platform For AI:PS linear regression

Dernière mise à jour :Aug 09, 2026

La régression linéaire PS combine un modèle de régression linéaire avec une architecture de serveur de paramètres (PS) pour gérer des tâches d'entraînement à grande échelle, traitant jusqu'à des centaines de milliards d'échantillons et des milliards de caractéristiques. L'architecture PS répartit le calcul et le stockage des paramètres du modèle entre les nœuds de travail, ce qui améliore l'efficacité et l'évolutivité de l'entraînement.

Utilisez la régression linéaire PS lorsque votre jeu de données est trop volumineux pour un entraînement sur une seule machine ou lorsque votre espace de caractéristiques est extrêmement multidimensionnel, y compris dans des formats clairsemés.

Fonctionnement

  1. Chargez les données d'entraînement depuis une table d'entrée MaxCompute. Le format dense prend en charge les colonnes DOUBLE et BIGINT ; le format clairsemé utilise des colonnes STRING au format clé-valeur (KV).

  2. Soumettez une tâche d'entraînement. L'architecture PS fragmente les paramètres du modèle sur les nœuds serveur et exécute les mises à jour de gradient en parallèle sur les nœuds de travail.

  3. Une fois l'entraînement terminé, le système enregistre le modèle sous forme de modèle hors ligne (par défaut) ou l'écrit dans une table MaxCompute.

  4. Exécutez la prédiction à l'aide du modèle enregistré pour générer des scores de sortie écrits dans une table de sortie distincte.

Configuration du composant

Méthode 1 : Interface visuelle

Ajoutez le composant PS Linear Regression à votre workflow dans Designer, puis configurez ses paramètres dans le volet droit.

Type de paramètre Paramètre Obligatoire Description
Configuration des champs Colonnes de caractéristiques Oui Les colonnes de caractéristiques de la source de données d'entrée à utiliser pour l'entraînement.
Colonne d'étiquette Oui La colonne d'étiquette. Prend en charge les types de données DOUBLE et BIGINT.
Format clairsemé ? Non Sélectionnez true si les données d'entrée sont au format clé-valeur (KV). Valeur par défaut : false.
Séparateur de paires KV Non Le séparateur entre les paires clé-valeur. Valeur par défaut : espace. S'applique uniquement lorsque le format clairsemé est activé.
Séparateur clé-valeur Non Le séparateur entre une clé et sa valeur. Valeur par défaut : deux-points (:). S'applique uniquement lorsque le format clairsemé est activé.
Configuration des paramètres Poids L1 Non Le coefficient de régularisation L1. Une valeur plus élevée produit un modèle plus clairsemé avec moins d'éléments non nuls. Valeurs valides : nombres à virgule flottante non négatifs. Valeur par défaut : 1,0.
Poids L2 Non Le coefficient de régularisation L2. Une valeur plus élevée réduit la valeur absolue des paramètres du modèle. Valeurs valides : nombres à virgule flottante non négatifs. Valeur par défaut : 0.
Nombre maximal d'itérations Non Le nombre maximal d'itérations d'entraînement. Définissez la valeur sur 0 pour supprimer la limite. Valeurs valides : entiers non négatifs. Valeur par défaut : 100.
Écart de convergence minimal Non Le seuil d'arrêt de l'algorithme d'optimisation. L'entraînement s'arrête lorsque l'amélioration tombe en dessous de cette valeur. Valeurs valides : [0, 1]. Valeur par défaut : 0,000001.
ID de caractéristique maximal Non L'ID de caractéristique maximal ou la dimension de caractéristique. Peut être supérieur à la valeur réelle. Si vous laissez ce champ vide, le système exécute une tâche SQL pour le calculer automatiquement. Valeurs valides : entiers non négatifs.
Optimisation de l'exécution Nombre de cœurs Non Le nombre de cœurs CPU à allouer. Valeur par défaut : allocation par le système.
Taille de la mémoire par cœur Non La mémoire allouée par cœur, en Mo. Valeur par défaut : allocation par le système.
La régularisation L1 favorise la parcimonie, ce qui est utile lorsque de nombreuses caractéristiques sont non pertinentes et que vous souhaitez un modèle clairsemé. La régularisation L2 réduit proportionnellement tous les coefficients, ce qui est utile lorsque les caractéristiques sont corrélées. Si vous ne savez pas laquelle utiliser, commencez par L2 (définissez L1 weight sur 0) et ajustez ensuite.

Méthode 2 : Commande PAI

Exécutez les commandes PAI via le composant SQL Script.

Commande d'entraînement :

PAI -name ps_linearregression
    -project algo_public
    -DinputTableName="lm_test_input"
    -DmodelName="linear_regression_model"
    -DlabelColName="label"
    -DfeatureColNames="features"
    -Dl1Weight=1.0
    -Dl2Weight=0.0
    -DmaxIter=100
    -Depsilon=1e-6
    -DenableSparse=true

Commande de prédiction :

drop table if exists logistic_regression_predict;
PAI -name prediction
    -DmodelName="linear_regression_model"
    -DoutputTableName="linear_regression_predict"
    -DinputTableName="lm_test_input"
    -DappendColNames="label,features"
    -DfeatureColNames="features"
    -DenableSparse=true

Paramètres :

Paramètre Obligatoire Valeur par défaut Description
inputTableName Oui — Le nom de la table d'entrée.
modelName Oui — Le nom du modèle de sortie.
labelColName Oui — La colonne d'étiquette dans la table d'entrée. Prend en charge les types de données DOUBLE et BIGINT.
featureColNames Oui — Les colonnes de caractéristiques dans la table d'entrée. Format dense : DOUBLE et BIGINT. Format clairsemé : STRING.
outputTableName Non — La table de sortie pour les résultats d'évaluation du modèle. Obligatoire lorsque enableFitGoodness est true.
inputTablePartitions Non — Les partitions de la table d'entrée à utiliser pour l'entraînement.
enableSparse Non false Indique si les données d'entrée sont au format clairsemé (KV). Valeurs valides : true, false.
itemDelimiter Non Espace Le séparateur entre les paires clé-valeur. S'applique uniquement lorsque enableSparse est true.
kvDelimiter Non : Le séparateur entre une clé et sa valeur. S'applique uniquement lorsque enableSparse est true.
enableModelIo Non true Indique s'il faut enregistrer le modèle en tant que modèle hors ligne. Si la valeur est false, le modèle est écrit dans une table MaxCompute. Valeurs valides : true, false.
maxIter Non 100 Le nombre maximal d'itérations d'entraînement. Valeurs valides : entiers non négatifs.
epsilon Non 0.000001 Le seuil de convergence pour l'algorithme d'optimisation. L'entraînement s'arrête lorsque l'amélioration tombe en dessous de cette valeur. Valeurs valides : [0, 1].
l1Weight Non 1.0 Le coefficient de régularisation L1. Une valeur plus élevée produit un modèle plus clairsemé. Valeurs valides : nombres à virgule flottante non négatifs.
l2Weight Non 0 Le coefficient de régularisation L2. Une valeur plus élevée réduit la valeur absolue des paramètres du modèle. Valeurs valides : nombres à virgule flottante non négatifs.
modelSize Non 0 L'ID de caractéristique maximal ou la dimension de caractéristique. Peut être supérieur à la valeur réelle. Si la valeur est 0, le système le calcule automatiquement. Valeurs valides : entiers non négatifs.
coreNum Non Allocation par le système Le nombre de cœurs CPU par nœud de travail.
memSizePerCore Non Allocation par le système La mémoire par cœur, en Mo.

Exemple

Cet exemple entraîne un modèle de régression linéaire PS sur des données au format KV clairsemé et exécute une prédiction.

Étape 1 : Créer les données d'entrée

Exécutez l'instruction SQL suivante dans le composant SQL Script pour générer la table d'entrée.

drop table if exists lm_test_input;
create table lm_test_input as
select
*
from
(
select cast(2 as BIGINT) as label, '1:0.55 2:-0.15 3:0.82 4:-0.99 5:0.17' as features
    union all
select cast(1 as BIGINT) as label, '1:-1.26 2:1.36 3:-0.13 4:-2.82 5:-0.41' as features
    union all
select cast(1 as BIGINT) as label, '1:-0.77 2:0.91 3:-0.23 4:-4.46 5:0.91' as features
    union all
select cast(2 as BIGINT) as label, '1:0.86 2:-0.22 3:-0.46 4:0.08 5:-0.60' as features
    union all
select cast(1 as BIGINT) as label, '1:-0.76 2:0.89 3:1.02 4:-0.78 5:-0.86' as features
    union all
select cast(1 as BIGINT) as label, '1:2.22 2:-0.46 3:0.49 4:0.31 5:-1.84' as features
    union all
select cast(0 as BIGINT) as label, '1:-1.21 2:0.09 3:0.23 4:2.04 5:0.30' as features
    union all
select cast(1 as BIGINT) as label, '1:2.17 2:-0.45 3:-1.22 4:-0.48 5:-1.41' as features
    union all
select cast(0 as BIGINT) as label, '1:-0.40 2:0.63 3:0.56 4:0.74 5:-1.44' as features
    union all
select cast(1 as BIGINT) as label, '1:0.17 2:0.49 3:-1.50 4:-2.20 5:-0.35' as features
) tmp;

La table comporte deux colonnes : label (BIGINT) et features (STRING au format KV). Chaque valeur de caractéristique encode des ID de caractéristique et des valeurs séparés par des deux-points, les paires étant séparées par des espaces — par exemple, 1:0.55 2:-0.15.

Generated input data

Au format KV, les ID de caractéristique doivent être des entiers positifs et les valeurs de caractéristique doivent être des nombres réels. Si les ID de caractéristique sont des chaînes, sérialisez d'abord les données. Si les valeurs de caractéristique sont des chaînes catégorielles, appliquez une discrétisation des caractéristiques avant l'entraînement.

Étape 2 : Construire le workflow

Construisez un workflow dans Designer en utilisant les composants illustrés ci-dessous. Pour plus de détails sur la création de workflows, consultez Modélisation algorithmique.

PS Linear Regression workflow

Étape 3 : Configurer les composants

Read Table-1:

Dans l'onglet Select Table , définissez Table Name sur lm_test_input.

PS Linear Regression:

Utilisez les paramètres ci-dessous. Laissez tous les autres paramètres avec leurs valeurs par défaut.

Type de paramètre Paramètre Valeur
Configuration des champs Format clairsemé ? true
Colonnes de caractéristiques features
Colonne d'étiquette label
Optimisation de l'exécution Nombre de cœurs 3
Taille de la mémoire par cœur 1024 Mo

Prediction:

Utilisez les paramètres ci-dessous. Laissez tous les autres paramètres avec leurs valeurs par défaut.

Type de paramètre Paramètre Valeur
Configuration des champs Colonnes de caractéristiques features
Colonne de sortie verbatim label, features
Matrice clairsemée Sélectionné
Séparateur clé-valeur : (deux-points)
Séparateur de paires KV (laisser vide pour utiliser l'espace)

Étape 4 : Exécuter le workflow

Cliquez sur le bouton Exécuter image sur le canevas pour démarrer le workflow.

Étape 5 : Afficher les résultats de prédiction

Une fois le workflow terminé, cliquez avec le bouton droit sur le composant Prediction-1 et choisissez View Data > Prediction Result Output.

PS Linear Regression prediction results

Exécuter le même exemple avec des commandes PAI

Les commandes suivantes reproduisent le workflow ci-dessus en utilisant l'interface de commande PAI. Toutes les commandes utilisent la même table lm_test_input.

Entraînement :

PAI -name ps_linearregression
    -project algo_public
    -DinputTableName="lm_test_input"
    -DmodelName="linear_regression_model"
    -DlabelColName="label"
    -DfeatureColNames="features"
    -Dl1Weight=1.0
    -Dl2Weight=0.0
    -DmaxIter=100
    -Depsilon=1e-6
    -DenableSparse=true

Prédiction :

drop table if exists logistic_regression_predict;
PAI -name prediction
    -DmodelName="linear_regression_model"
    -DoutputTableName="linear_regression_predict"
    -DinputTableName="lm_test_input"
    -DappendColNames="label,features"
    -DfeatureColNames="features"
    -DenableSparse=true

La table de sortie de prédiction (linear_regression_predict) contient les colonnes originales label et features auxquelles sont ajoutés les scores prédits.