Qu’est-ce que ML Services dans Azure HDInsightWhat is ML Services in Azure HDInsight

Microsoft Machine Learning Server vous est proposé comme option de déploiement au moment de créer des clusters HDInsight dans Azure.Microsoft Machine Learning Server is available as a deployment option when you create HDInsight clusters in Azure. Le type de cluster qui fournit cette option est appelé ML Services.The cluster type that provides this option is called ML Services. Cette fonctionnalité offre aux experts en science des données, aux statisticiens et aux programmeurs R un accès à la demande à des méthodes d’analyse extensibles et distribuées sur HDInsight.This capability provides data scientists, statisticians, and R programmers with on-demand access to scalable, distributed methods of analytics on HDInsight.

ML Services sur HDInsight fournit les dernières fonctionnalités analytiques R pour des jeux de données de toute taille ou presque, chargés dans un stockage de type Blob Azure ou Data Lake.ML Services on HDInsight provides the latest capabilities for R-based analytics on datasets of virtually any size, loaded to either Azure Blob or Data Lake storage. Sachant que le cluster ML Services repose sur le langage R open source, les applications basées sur R que vous créez peuvent tirer parti des packages R open source qui se dénombrent à plus de 8 000.Since ML Services cluster is built on open-source R, the R-based applications you build can leverage any of the 8000+ open-source R packages. Les routines de ScaleR, package analytique Big Data de Microsoft, sont également disponibles.The routines in ScaleR, Microsoft’s big data analytics package are also available.

Le nœud de périmètre d’un cluster fournit un lieu d’accueil pratique pour la connexion au cluster et l’exécution de vos scripts R.The edge node of a cluster provides a convenient place to connect to the cluster and to run your R scripts. Un nœud périphérique permet d’exécuter des fonctions distribuées parallélisées de ScaleR sur les différents cœurs du serveur associé.With an edge node, you have the option of running the parallelized distributed functions of ScaleR across the cores of the edge node server. Vous pouvez également les exécuter sur les différents nœuds du cluster à l’aide des contextes de calcul Hadoop Map Reduce ou Apache Spark de ScaleR.You can also run them across the nodes of the cluster by using ScaleR’s Hadoop Map Reduce or Apache Spark compute contexts.

Les modèles ou prévisions résultant des analyses peuvent être téléchargés pour une utilisation locale.The models or predictions that result from analysis can be downloaded for on-premises use. Ils peuvent également être mis en œuvre ailleurs dans Azure, en particulier par le biais du service web Azure Machine Learning Studio (classique).They can also be operationalized elsewhere in Azure, in particular through Azure Machine Learning Studio (classic) web service.

Démarrer avec ML Services sur HDInsightGet started with ML Services on HDInsight

Pour créer un cluster ML Services dans Azure HDInsight, sélectionnez le type de cluster ML Services au moment de créer un cluster HDInsight via le portail Azure.To create an ML Services cluster in Azure HDInsight, select the ML Services cluster type when creating an HDInsight cluster using the Azure portal. Le type de cluster ML Services inclut ML Server sur les nœuds de données du cluster et sur un nœud de périphérie, qui sert de zone d’accueil pour l’analytique ML Services.The ML Services cluster type includes ML Server on the data nodes of the cluster and on an edge node, which serves as a landing zone for ML Services-based analytics. Consultez Créer des clusters Apache Hadoop à l’aide du portail Azure pour une procédure pas à pas permettant de créer le cluster.See Create Apache Hadoop clusters using the Azure portal for a walkthrough on how to create the cluster.

Pourquoi choisir ML Services dans HDInsight ?Why choose ML Services in HDInsight?

ML Services dans HDInsight offre les avantages suivants :ML Services in HDInsight provides the following benefits:

Innovation Microsoft et open source en matière d’IAAI innovation from Microsoft and open-source

ML Services intègre un ensemble complet d’algorithmes distribués et hautement évolutifs, tels que RevoscaleR, revoscalepy et microsoftML, qui peuvent fonctionner sur des données de taille plus importante que la mémoire physique et qui s’exécutent sur un large éventail de plateformes de manière distribuée.ML Services includes highly scalable, distributed set of algorithms such as RevoscaleR, revoscalepy, and microsoftML that can work on data sizes larger than the size of physical memory, and run on a wide variety of platforms in a distributed manner. En savoir plus sur la collection Microsoft de packages R et de packages Python inclus avec le produit.Learn more about the collection of Microsoft's custom R packages and Python packages included with the product.

ML Services jette un pont entre ces innovations Microsoft et les contributions de la communauté open source (kits d’outils R, Python et IA), le tout dans une plateforme unique de niveau entreprise.ML Services bridges these Microsoft innovations and contributions coming from the open-source community (R, Python, and AI toolkits) all on top of a single enterprise-grade platform. Quel que soit le package R ou Python de Machine Learning open source, il peut fonctionner aux côtés de n’importe quelle innovation propriétaire de Microsoft.Any R or Python open-source machine learning package can work side by side with any proprietary innovation from Microsoft.

Opérationnalisation et administration simples, sécurisées et à grande échelleSimple, secure, and high-scale operationalization and administration

Les entreprises qui reposent sur des environnements et des modèles classiques consentent trop de temps et d’efforts à l’opérationnalisation.Enterprises relying on traditional paradigms and environments invest much time and effort towards operationalization. Cela se traduit par une augmentation des coûts et un allongement des délais, ce qui inclut le temps nécessaire à la traduction des modèles, les itérations pour maintenir leur validité et les tenir à jour, les approbations réglementaires, la gestion des autorisations via l’opérationnalisation.This results in inflated costs and delays including the translation time for models, iterations to keep them valid and current, regulatory approval, and managing permissions through operationalization.

ML Services offre une opérationnalisation de niveau entreprise dans la mesure où, dès qu’un modèle de Machine Learning est terminé, quelques clics suffisent pour générer des API de services web.ML Services offers enterprise grade operationalization, in that, after a machine learning model is completed, it takes just a few clicks to generate web services APIs. Ces services web sont hébergés sur une grille de serveurs dans le cloud et peuvent être intégrés à des applications métier.These web services are hosted on a server grid in the cloud and can be integrated with line-of-business applications. La possibilité d’effectuer le déploiement sur une grille élastique vous permet d’évoluer en toute transparence en fonction des besoins de votre entreprise, pour la notation par lot et en temps réel.The ability to deploy to an elastic grid lets you scale seamlessly with the needs of your business, both for batch and real-time scoring. Pour obtenir des instructions, consultez Rendre opérationnel ML Services sur HDInsight.For instructions, see Operationalize ML Services on HDInsight.

Fonctionnalités clés de ML Services sur HDInsightKey features of ML Services on HDInsight

ML Services sur HDInsight inclut les fonctionnalités suivantes.The following features are included in ML Services on HDInsight.

Catégorie de fonctionnalitéFeature category DescriptionDescription
Pour RR-enabled Packages R pour les solutions écrites en R, avec une distribution open source de R et une infrastructure d’exécution pour l’exécution de script.R packages for solutions written in R, with an open source distribution of R, and run-time infrastructure for script execution.
Pour PythonPython-enabled Modules Python pour les solutions écrites en Python, avec une distribution open source de Python et une infrastructure d’exécution pour l’exécution de script.Python modules for solutions written in Python, with an open source distribution of Python, and run-time infrastructure for script execution.
Modèles préentraînésPre-trained models Pour une analyse visuelle et une analyse des sentiments sur le texte, prêts pour noter les données que vous fournissez.For visual analysis and text sentiment analysis, ready to score data you provide.
Déploiement et consommationDeploy and consume Opérationnalisez votre serveur et déployez des solutions en tant que service web.Operationalize your server and deploy solutions as a web service.
Exécution à distanceRemote execution Démarrez des sessions à distance sur un cluster ML Services de votre réseau à partir de votre station de travail cliente.Start remote sessions on ML Services cluster on your network from your client workstation.

Options de stockage de données pour ML Services sur HDInsightData storage options for ML Services on HDInsight

Le stockage par défaut du système de fichiers HDFS des clusters HDInsight peut être associé à un compte de stockage Azure ou à un compte Azure Data Lake Storage.Default storage for the HDFS file system of HDInsight clusters can be associated with either an Azure Storage account or an Azure Data Lake Storage. Cette association garantit que toutes les données chargées dans l’espace de stockage en cluster au cours de l’analyse sont rendues persistantes et qu’elles sont disponibles même après la suppression du cluster.This association ensures that whatever data is uploaded to the cluster storage during analysis is made persistent and the data is available even after the cluster is deleted. Il existe différents outils permettant de gérer le transfert de données vers l’option de stockage sélectionnée, notamment la fonctionnalité de chargement sur le portail du compte de stockage et l’utilitaire AzCopy.There are various tools for handling the data transfer to the storage option that you select, including the portal-based upload facility of the storage account and the AzCopy utility.

Vous pouvez autoriser l’accès à des objets Blob et des magasins Data Lake supplémentaires pendant le processus de provisionnement du cluster, quelle que soit l’option de stockage principal utilisée.You have the option of enabling access to additional Blob and Data lake stores during the cluster provisioning process regardless of the primary storage option in use. Consultez l’article Options de stockage Azure pour ML Services sur HDInsight pour en savoir plus sur l’utilisation de plusieurs comptes de stockage.See Azure Storage options for ML Services on HDInsight article to learn more about using multiple storage accounts.

Vous pouvez également utiliser Azure Files comme option de stockage pour une utilisation sur le nœud de périphérie.You can also use Azure Files as a storage option for use on the edge node. Le service Azure Files vous permet de monter un partage de fichiers qui a été créé dans un compte Azure Storage sur le système de fichiers Linux.Azure Files enables you to mount a file share that was created in Azure Storage to the Linux file system. Pour plus d’informations sur ces options de stockage de données pour un cluster ML Services sur HDInsight, consultez Options de stockage Azure pour ML Services sur HDInsight.For more information about these data storage options for ML Services on HDInsight cluster, see Azure Storage options for ML Services on HDInsight.

Accéder à un nœud de périphérie ML ServicesAccess ML Services edge node

Vous pouvez vous connecter à Microsoft ML Server sur le nœud de périphérie à l’aide d’un navigateur.You can connect to Microsoft ML Server on the edge node using a browser. R Server est installé par défaut lors de la création du cluster.It is installed by default during cluster creation. Vous pouvez aussi vous connecter au nœud de périphérie du cluster à partir de la ligne de commande en utilisant SSH/PuTTY pour accéder à la console R.You can also connect to the cluster edge node from the command line by using SSH/PuTTY to access the R console.

Développer et exécuter des scripts RDevelop and run R scripts

Les scripts R que vous créez et exécutez peuvent utiliser n’importe quels packages R open source parmi plus de 8000, en plus des routines distribuées et parallélisées de la bibliothèque ScaleR.The R scripts you create and run can use any of the 8000+ open-source R packages in addition to the parallelized and distributed routines available in the ScaleR library. En général, un script exécuté avec ML Services sur le nœud de périphérie s’exécute au sein de l’interpréteur R de ce nœud,In general, a script that is run with ML Services on the edge node runs within the R interpreter on that node. à l’exception des étapes qui doivent appeler une fonction ScaleR avec un contexte de calcul défini sur Hadoop MapReduce (RxHadoopMR) ou Spark (RxSpark).The exceptions are those steps that need to call a ScaleR function with a compute context that is set to Hadoop Map Reduce (RxHadoopMR) or Spark (RxSpark). Dans ce cas, la fonction s’exécute en mode distribué sur les différents nœuds de données (tâches) du cluster qui sont associés aux données référencées.In this case, the function runs in a distributed fashion across those data (task) nodes of the cluster that are associated with the data referenced. Pour plus d’informations sur les différentes options de contexte de calcul, consultez Options de contexte de calcul pour ML Services sur HDInsight.For more information about the different compute context options, see Compute context options for ML Services on HDInsight.

Faire fonctionner un modèleOperationalize a model

Une fois la modélisation de vos données terminée, vous pouvez rendre opérationnel le modèle de façon à effectuer des prédictions pour de nouvelles données, que ce soit à partir d’Azure ou localement.When your data modeling is complete, you can operationalize the model to make predictions for new data either from Azure or on-premises. Ce processus est appelé notation.This process is known as scoring. La notation est possible dans HDInsight, dans Azure Machine Learning ou en local.Scoring can be done in HDInsight, Azure Machine Learning, or on-premises.

Noter dans HDInsightScore in HDInsight

Pour noter dans HDInsight, écrivez une fonction R qui appelle votre modèle pour effectuer des prévisions pour un nouveau fichier de données que vous avez chargé sur votre compte de stockage.To score in HDInsight, write an R function that calls your model to make predictions for a new data file that you've loaded to your storage account. Ensuite, enregistrez les prévisions dans le compte de stockage.Then, save the predictions back to the storage account. Vous pouvez exécuter cette routine à la demande sur le nœud de périphérie de votre cluster ou à l’aide d’une tâche planifiée.You can run this routine on-demand on the edge node of your cluster or by using a scheduled job.

Noter dans Azure Machine Learning (AML)Score in Azure Machine Learning (AML)

Pour noter à l’aide d’Azure Machine Learning, utilisez le package R Azure Machine Learning open source nommé AzureML pour publier votre modèle en tant que service web Azure.To score using Azure Machine Learning, use the open-source Azure Machine Learning R package known as AzureML to publish your model as an Azure web service. Pour plus de commodité, ce package est déjà installé sur le nœud de périphérie.For convenience, this package is pre-installed on the edge node. Ensuite, utilisez les fonctionnalités d’Azure Machine Learning pour créer une interface utilisateur pour le service web, puis appelez le service web en fonction des besoins de notation.Next, use the facilities in Azure Machine Learning to create a user interface for the web service, and then call the web service as needed for scoring.

Si vous choisissez cette option, vous devez convertir tous les objets de modèle ScaleR en objets de modèle open source équivalents pour les utiliser avec le service web.If you choose this option, you must convert any ScaleR model objects to equivalent open-source model objects for use with the web service. Utilisez les fonctions de forçage de ScaleR, notamment as.randomForest() dans le cas des modèles basés sur un ensemble, pour cette conversion.Use ScaleR coercion functions, such as as.randomForest() for ensemble-based models, for this conversion.

Noter localementScore on-premises

Pour noter localement après la création de votre modèle, vous pouvez sérialiser le modèle dans R, le télécharger, le désérialiser, puis l’utiliser pour noter de nouvelles données.To score on-premises after creating your model, you can serialize the model in R, download it, de-serialize it, and then use it for scoring new data. Vous pouvez noter les nouvelles données à l’aide de l’approche décrite précédemment dans Noter dans HDInsightou en utilisant le service web.You can score new data by using the approach described earlier in Score in HDInsight or by using web services.

Maintenance du clusterMaintain the cluster

Installation et maintenance des packages RInstall and maintain R packages

La plupart des packages R utilisés seront requis sur le nœud périphérique, car la plupart des étapes des scripts R y sont exécutées.Most of the R packages that you use are required on the edge node since most steps of your R scripts run there. Pour installer des packages R supplémentaires sur le nœud de périphérie, vous pouvez utiliser la méthode install.packages() de R.To install additional R packages on the edge node, you can use the install.packages() method in R.

Si vous utilisez simplement des routines de la bibliothèque ScaleR au sein du cluster, il n’est généralement pas nécessaire d’installer des packages R supplémentaires sur les nœuds de données.If you are just using routines from the ScaleR library across the cluster, you do not usually need to install additional R packages on the data nodes. Toutefois, il se peut que vous ayez besoin de packages supplémentaires pour prendre en charge l’utilisation de rxExec ou l’exécution de RxDataStep sur les nœuds de données.However, you might need additional packages to support the use of rxExec or RxDataStep execution on the data nodes.

Dans ce cas, les packages supplémentaires peuvent être installés à l’aide d’une action de script après la création du cluster.In such cases, the additional packages can be installed with a script action after you create the cluster. Pour plus d’informations, consultez Gérer un cluster ML Services dans HDInsight.For more information, see Manage ML Services in HDInsight cluster.

Modifier les paramètres de mémoire d’Apache Hadoop MapReduceChange Apache Hadoop MapReduce memory settings

Vous pouvez modifier un cluster afin de changer la quantité de mémoire accessibles à ML Services lors de l’exécution d’un travail MapReduce.A cluster can be modified to change the amount of memory that is available to ML Services when it is running a MapReduce job. Pour modifier un cluster, utilisez l’interface utilisateur Apache Ambari qui est disponible via le panneau du portail Azure pour votre cluster.To modify a cluster, use the Apache Ambari UI that's available through the Azure portal blade for your cluster. Pour obtenir des instructions concernant l’accès à l’interface utilisateur d’Ambari pour votre cluster, consultez la section Gérer des clusters HDInsight à l’aide de l’interface utilisateur web d’Ambari.For instructions about how to access the Ambari UI for your cluster, see Manage HDInsight clusters using the Ambari Web UI.

Vous pouvez aussi modifier la quantité de mémoire accessible à ML Services en utilisant des commutateurs Hadoop dans l’appel à RxHadoopMR comme suit :It is also possible to change the amount of memory that is available to ML Services by using Hadoop switches in the call to RxHadoopMR as follows:

hadoopSwitches = "-libjars /etc/hadoop/conf -Dmapred.job.map.memory.mb=6656"  

Mettre à l’échelle votre clusterScale your cluster

Vous pouvez faire monter ou descendre en puissance un cluster ML Services sur HDInsight existant via le portail.An existing ML Services cluster on HDInsight can be scaled up or down through the portal. Grâce à la mise à l’échelle, vous pouvez obtenir la capacité supplémentaire éventuellement nécessaire pour les tâches de traitement plus importantes, ou rétablir l’échelle d’un cluster quand il est inactif.By scaling up, you can gain the additional capacity that you might need for larger processing tasks, or you can scale back a cluster when it is idle. Pour obtenir des instructions concernant la mise à l’échelle d’un cluster, consultez la section Gérer des clusters HDInsight.For instructions about how to scale a cluster, see Manage HDInsight clusters.

Maintenance du systèmeMaintain the system

La maintenance, pour appliquer des correctifs de système d’exploitation ainsi que d’autres mises à jour, est effectuée sur les machines virtuelles Linux sous-jacentes dans un cluster HDInsight pendant les heures creuses.Maintenance to apply OS patches and other updates is performed on the underlying Linux VMs in an HDInsight cluster during off-hours. En règle générale, la maintenance s’effectue à 3 h 30 (en fonction de l’heure locale de la machine virtuelle) tous les lundis et jeudis.Typically, maintenance is done at 3:30 AM (based on the local time for the VM) every Monday and Thursday. Les mises à jour sont effectuées de façon à ne pas avoir d’incidence sur plus d’un quart du cluster à la fois.Updates are performed in such a way that they don't impact more than a quarter of the cluster at a time.

Étant donné que les nœuds principaux sont redondants et que certains nœuds de données ne sont pas affectés, toutes les tâches en cours d’exécution pendant ce temps peuvent être ralenties.Since the head nodes are redundant and not all data nodes are impacted, any jobs that are running during this time might slow down. Elles doivent cependant être exécutées jusqu’à la fin.However, they should still run to completion. L’ensemble des logiciels personnalisés ou des données locales que vous détenez sont conservés durant ces événements de maintenance, sauf si une défaillance irrémédiable se produit, nécessitant une reconstruction du cluster.Any custom software or local data that you have is preserved across these maintenance events unless a catastrophic failure occurs that requires a cluster rebuild.

Options IDE pour ML Services sur HDInsightIDE options for ML Services on HDInsight

Le nœud de périmètre Linux d’un cluster HDInsight est la zone d’accueil pour l’analyse basée sur R.The Linux edge node of an HDInsight cluster is the landing zone for R-based analysis. Les versions récentes de HDInsight permettent une installation par défaut de RStudio Server sur le nœud de périphérie en tant qu’IDE basé sur navigateur.Recent versions of HDInsight provide a default installation of RStudio Server on the edge node as a browser-based IDE. L'utilisation de RStudio Server comme IDE pour le développement et l’exécution de scripts R peuvent être considérablement plus productifs que la simple utilisation de la console R.Use of RStudio Server as an IDE for the development and execution of R scripts can be considerably more productive than just using the R console.

Vous pouvez également installer un IDE de bureau et à l’utiliser pour accéder au cluster au moyen d’un contexte de calcul MapReduce ou Spark distant.Additionally, you can install a desktop IDE and use it to access the cluster through use of a remote MapReduce or Spark compute context. Parmi les options disponibles figurent les Outils R pour Visual Studio (RTVS) de Microsoft, RStudio et StatET sur Eclipse de WalWare.Options include Microsoft’s R Tools for Visual Studio (RTVS), RStudio, and Walware’s Eclipse-based StatET.

Par ailleurs, vous pouvez accéder à la console R sur le nœud de périphérie en tapant R à l’invite de commandes Linux après vous être connecté via SSH ou PuTTY.Additionally, you can access the R console on the edge node by typing R at the Linux command prompt after connecting via SSH or PuTTY. Si vous utilisez l’interface de la console, il est pratique d’exécuter un éditeur de texte pour le développement de scripts R dans une autre fenêtre, et de couper-coller des sections de votre script dans la console R au fur et à mesure.When using the console interface, it is convenient to run a text editor for R script development in another window, and cut and paste sections of your script into the R console as needed.

TarifsPricing

Les prix associés à un cluster ML Services HDInsight sont structurés de la même manière que ceux applicables aux autres types de cluster HDInsight.The prices that are associated with an ML Services HDInsight cluster are structured similarly to the prices for other HDInsight cluster types. Ils sont basés sur le dimensionnement des machines virtuelles sous-jacentes pour le nom, les données et les nœuds de périmètre, avec l’ajout d’une extension pendant les heures normales.They are based on the sizing of the underlying VMs across the name, data, and edge nodes, with the addition of a core-hour uplift. Pour plus d’informations, voir Tarification de HDInsight.For more information, see HDInsight pricing.

Étapes suivantesNext steps

Pour en savoir plus sur l’utilisation des clusters ML Services sur HDInsight, consultez les rubriques suivantes :To learn more about how to use ML Services on HDInsight clusters, see the following topics: