Accueil Les tendances Pourquoi exécuter la formation ml sur une machine locale, puis exécuter une exécution régulière sur un serveur?

Pourquoi exécuter la formation ml sur une machine locale, puis exécuter une exécution régulière sur un serveur?

Anonim

Q:

Pourquoi exécuter la formation Machine Learning (ML) sur une machine locale, puis exécuter une exécution régulière sur un serveur?

UNE:

La question de savoir comment structurer un projet d'apprentissage automatique et ses phases de formation et de test a beaucoup à voir avec la façon dont nous nous déplaçons à travers le «cycle de vie» ML et amenons le programme d'un environnement de formation à un environnement de production.

L'une des raisons les plus simples pour utiliser le modèle ci-dessus consistant à placer la formation ML sur une machine locale, puis à déplacer l'exécution vers un système basé sur serveur, est l'avantage de la séparation essentielle des tâches. En général, vous voulez que l'ensemble d'entraînement soit isolé, de sorte que vous ayez une idée claire de l'endroit où commence et s'arrête l'entraînement, et où commence le test. Cet article de KDNuggets parle du principe d'une manière grossière tout en passant en revue certaines des autres raisons d'isoler les ensembles de formation sur une machine locale. Une autre proposition de valeur de base pour ce modèle est que, avec les ensembles de formation et de test sur des architectures très différentes, vous ne serez jamais confus au sujet de l'allocation conjointe train / test!

Un autre avantage intéressant concerne la cybersécurité. Les experts soulignent que si vous avez les processus de train initiaux sur une machine locale, elle n'a pas besoin d'être connectée à Internet! Cela élargit la sécurité d'une manière fondamentale, «incubant» le processus jusqu'à ce qu'il atteigne le monde de la production, où vous devez ensuite intégrer une sécurité adéquate dans le modèle de serveur.

En outre, certains de ces modèles «isolés» peuvent aider à résoudre des problèmes tels que la dérive des concepts et les contextes cachés - le principe de «non-stationalité» avertit les développeurs que les données ne «restent pas les mêmes» dans le temps (selon ce qui est mesuré) et qu'il faut beaucoup d'adaptabilité pour faire correspondre une phase de test à une phase de train. Ou, dans certains cas, les processus de formation et de test se mélangent, créant de la confusion.

Le déploiement de la phase de test sur un serveur pour la première fois peut faciliter divers modèles de «boîte noire» où vous résolvez le problème d'adaptabilité des données. Dans certains cas, il élimine le processus redondant consistant à placer des ordres de modification sur plusieurs plates-formes.

Ensuite, l'environnement de serveur sert évidemment les processus en temps réel ou dynamiques dans lesquels les ingénieurs voudront accéder aux modèles de transfert de données et de code qui fonctionnent le mieux pour la production en ML. Par exemple, AWS Lambda peut être une option intéressante pour gérer les microfonctions de production (ou une combinaison de stockage d'objets Lambda et S3) et sans connectivité (sans serveur) qui devient impossible.

Voici quelques-uns des problèmes auxquels les développeurs peuvent penser lorsqu'ils envisagent de séparer les phases de formation ML des tests et de la production.

Pourquoi exécuter la formation ml sur une machine locale, puis exécuter une exécution régulière sur un serveur?