Quelle est la structure exacte pour coder un entraînement distribué robuste avec arrêt prématuré ?

La configuration d'un tel environnement d'apprentissage nécessite un paramétrage pointu de l'algorithme d'optimisation et des critères de validation. Voici la structure de code de référence pour instancier un solveur ADAM avancé incluant des mécanismes de contrôle de stagnation :

1PROC CAS;
2 DEEPLEARN.dlTrain /
3 TABLE={name="DONNEES_ENTRAINEMENT"}
4 validTable={name="DONNEES_VALIDATION"}
5 modelTable={name="RESEAU_VIYA"}
6 modelWeights={name="POIDS_FINAUX"}
7 bestWeights={name="POIDS_OPTIMAUX"}
8 target="VARIABLE_CIBLE"
9 inputs={"CARACTERISTIQUE_1", "CARACTERISTIQUE_2"}
10 optimizer={
11 algorithm={method="ADAM", learningRate=0.005, beta1=0.9, beta2=0.999},
12 maxEpochs=150,
13 stagnation=10,
14 threshold=0.00001,
15 miniBatchSize=64
16 };
17RUN;
18QUIT;

Dans ce plan d'exécution, la combinaison du paramètre stagnation avec la table de validation garantit que l'apprentissage s'arrêtera de lui-même si aucune amélioration de la perte n'est constatée sur dix itérations consécutives, évitant ainsi le gaspillage des ressources de calcul du clusterEnsemble de nœuds (machines) interconnectés, gérés par Kubernetes, qui collaborent pour exécuter les microservices et le moteur CAS de SAS Viya, assurant haute disponibilité et passage à l'échelle..

Exemples pour l'action dlTrain

Entraînement basique d'un modèle DNN

Ce code entraîne le modèle 'iris_model' avec les paramètres par défaut de l'optimiseur.

Entraînement avancé avec algorithme ADAM et sauvegarde des meilleurs poids

Entraînement utilisant l'optimiseur ADAM, avec des logs détaillés et la sauvegarde des poids optimaux, en s'arrêtant plus tôt si stagnation.