Q:
Comment la conteneurisation peut-elle être un bon choix pour un environnement de projet d'apprentissage automatique?
UNE:Certaines entreprises s'orientent vers la conteneurisation pour les projets d'apprentissage automatique, sur la base de certains des avantages que les configurations de conteneurs offrent en termes de plates-formes et d'environnements logiciels.
L'apprentissage automatique est complexe - les algorithmes eux-mêmes effectuent beaucoup d'actions très détaillées et compliquées sur les données. Cependant, la proposition de valeur est, à certains égards, assez simple - les algorithmes d'apprentissage automatique fonctionnent sur les données provenant des environnements de stockage.
Téléchargement gratuit: apprentissage automatique et pourquoi c'est important |
L'utilisation de conteneurs implique la façon dont les ingénieurs mettent les données dans l'environnement d'apprentissage automatique et le fonctionnement des algorithmes.
Les ingénieurs peuvent utiliser la virtualisation de conteneurs pour héberger les données ou pour déployer le code qui exécute les algorithmes. Bien que les conteneurs puissent être utiles pour les données, leur principal avantage réside probablement dans leur utilisation pour héberger le code de l'algorithme.
Les architectures de conteneurs proposent des applications et des bases de code autonomes. Chaque conteneur obtient son propre clone de système d'exploitation, et il obtient un environnement d'exploitation complet pour l'ensemble de fonctions d'application ou de code qui y réside.
En conséquence, les applications individuelles, les microservices ou les bases de code qui se trouvent dans chaque conteneur peuvent être déployés de manière très polyvalente. Ils peuvent être déployés sur différentes plateformes et différents environnements.
Supposons maintenant que vous essayez d'accélérer un projet d'apprentissage automatique dans lequel divers algorithmes doivent travailler sur diverses données de manière itérative. Si vous en avez assez de faire face à des défis multiplates-formes ou à des problèmes de dépendance ou à des situations où le déploiement du bare-metal est difficile, les conteneurs peuvent être la solution.
Essentiellement, les conteneurs fournissent un moyen d'héberger du code. Les experts parlent de déployer les conteneurs contre les données stockées pour obtenir de bons résultats.
«(Les applications) peuvent être mélangées et appariées sur un nombre quelconque de plates-formes, avec pratiquement aucun portage ou test requis», écrit David Linthicum dans un article TechBeacon qui expose la valeur des conteneurs pour les projets d'apprentissage automatique, «car ils existent dans des conteneurs, ils peuvent fonctionner dans un environnement hautement distribué et vous pouvez placer ces conteneurs à proximité des données analysées par les applications. »
Linthicum poursuit en parlant de l'exposition des services d'apprentissage automatique en tant que microservices. Cela permet aux applications externes - basées sur des conteneurs ou non - de tirer parti de ces services à tout moment sans avoir à déplacer le code à l'intérieur de l'application.
Dans un sens très basique, le déploiement de conteneurs consiste à rendre les fonctionnalités du programme d'apprentissage automatique plus adaptables - en supprimant les silos et les connexions inutiles - et encore, les dépendances - qui peuvent paralyser un projet. Pour un projet d'apprentissage machine simple et simple, si les parties individuelles des algorithmes ou des applications ou des fonctionnalités sont hébergées dans des conteneurs, il est facile de microgérer ces pièces autonomes et de créer des projets de produits d'apprentissage machine complexes en conséquence.