O que são os Serviços de ML no Azure HDInsightWhat is ML Services in Azure HDInsight

O Microsoft Machine Learning Server está disponível como uma opção de implantação quando você cria clusters HDInsight no Azure.Microsoft Machine Learning Server is available as a deployment option when you create HDInsight clusters in Azure. O tipo de cluster que fornece essa opção é chamado Serviços ML.The cluster type that provides this option is called ML Services. Essa funcionalidade fornece aos cientistas de dados, estatísticos e programadores de R o acesso sob demanda a métodos escalonáveis e distribuídos de análise no HDInsight.This capability provides data scientists, statisticians, and R programmers with on-demand access to scalable, distributed methods of analytics on HDInsight.

O ML Services no HDInsight fornece os recursos mais recentes para análise de R em conjuntos de dados de praticamente qualquer tamanho carregados no Blob do Azure ou no armazenamento do 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. Uma vez que o cluster do Microsoft ML Services é criado no R de software livre, os aplicativos baseados em R que você compilar podem aproveitar qualquer um dos mais de 8000 pacotes de R de software livre.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. As rotinas do ScaleR, o pacote de análise de dados grandes da Microsoft, também estão disponíveis.The routines in ScaleR, Microsoft’s big data analytics package are also available.

O nó de borda de um cluster fornece um local conveniente para se conectar ao cluster e executar os scripts de R.The edge node of a cluster provides a convenient place to connect to the cluster and to run your R scripts. Com um nó do borda, você tem a opção de executar funções distribuídas paralelizadas do ScaleR nos núcleos do servidor do nó de borda.With an edge node, you have the option of running the parallelized distributed functions of ScaleR across the cores of the edge node server. Você também pode executá-los nos nós do cluster usando os contextos de cálculo Hadoop Map Reduce ou Apache Spark do ScaleR.You can also run them across the nodes of the cluster by using ScaleR’s Hadoop Map Reduce or Apache Spark compute contexts.

Os modelos ou previsões que resultam de análises podem ser baixados para uso local.The models or predictions that result from analysis can be downloaded for on-premises use. Elas também podem ser operacionalizadas em qualquer lugar no Azure, como por meio de um serviço Web no Azure Machine Learning Studio.They can also be operationalized elsewhere in Azure, in particular through Azure Machine Learning Studio web service.

Introdução ML Services no HDInsightGet started with ML Services on HDInsight

Para criar um cluster de Serviços ML no Azure HDInsight, selecione o tipo de cluster ML Services ao criar um cluster HDInsight usando o portal do 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. O tipo de cluster ML Services inclui o ML Server nos nós de dados do cluster e em um nó de borda, que serve como uma zona de aterrissagem para análises baseadas no 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. Consulte Criar clusters do Apache Hadoop usando o portal do Azure para ver um passo a passo sobre como criar o cluster.See Create Apache Hadoop clusters using the Azure portal for a walkthrough on how to create the cluster.

Por que escolher os Serviços ML no HDInsight?Why choose ML Services in HDInsight?

Os Serviços ML no HDInsight fornecem os seguintes benefícios:ML Services in HDInsight provides the following benefits:

Inovação AI da Microsoft e open-sourceAI innovation from Microsoft and open-source

O ML Services inclui um conjunto distribuído de algoritmos altamente escalonáveis como RevoscaleR, revoscalepy e microsoftML que podem funcionar em tamanhos de dados maiores que o tamanho da memória física, e executar em uma ampla variedade de plataformas de maneira distribuída.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. Saiba mais sobre a coleção de pacotes R e pacotes Python personalizada da Microsoft incluída no produto.Learn more about the collection of Microsoft's custom R packages and Python packages included with the product.

O ML Services une essas inovações e contribuições da Microsoft provenientes da comunidade de código aberto (kits de ferramentas R, Python e AI), tudo sobre uma única plataforma de nível corporativo.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. Qualquer pacote de aprendizado de máquina de código aberto R ou Python pode trabalhar lado a lado com qualquer inovação proprietária da Microsoft.Any R or Python open-source machine learning package can work side by side with any proprietary innovation from Microsoft.

Operação e administração simples, segura e em grande escalaSimple, secure, and high-scale operationalization and administration

As empresas que dependem de paradigmas e ambientes tradicionais investem muito tempo e esforço em direção à operacionalização.Enterprises relying on traditional paradigms and environments invest much time and effort towards operationalization. Isso resulta em custos e atrasos inflacionados, incluindo o tempo de conversão de modelos, iterações para mantê-los válidos e atualizados, aprovação regulamentar e gerenciamento de permissões por meio da operacionalização.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.

O ML Services oferece operacionalização de nível empresarial, pois, depois que um modelo de aprendizado de máquina é concluído, são necessários apenas alguns cliques para gerar APIs de serviços da 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. Esses serviços da Web são hospedados em uma grade de servidores na nuvem e podem ser integrados a aplicativos de linha de negócios.These web services are hosted on a server grid in the cloud and can be integrated with line-of-business applications. A capacidade de implantar um permite a grade Elástico você dimensionar perfeitamente com as necessidades dos negócios, tanto para o lote e pontuação em tempo real.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. Para obter instruções, consulte Operar os Serviços ML no HDInsight.For instructions, see Operationalize ML Services on HDInsight.

Principais recursos dos Serviços ML no HDInsightKey features of ML Services on HDInsight

Os seguintes recursos estão incluídos nos Serviços ML no HDInsight.The following features are included in ML Services on HDInsight.

Categoria da funcionalidadeFeature category DESCRIÇÃODescription
R habilitadoR-enabled pacotes R para soluções escritas em R, com uma distribuição de código aberto de R e infraestrutura de tempo de execução para execução de scripts.R packages for solutions written in R, with an open source distribution of R, and run-time infrastructure for script execution.
Python habilitadoPython-enabled Módulos Python para soluções escritas em Python, com uma distribuição de software livre do Python e infraestrutura em tempo de execução para execução de scripts.Python modules for solutions written in Python, with an open source distribution of Python, and run-time infrastructure for script execution.
Modelos previamente treinadosPre-trained models Para análise visual e análise de sentimento de texto, pronto para classificar os dados que você fornecer.For visual analysis and text sentiment analysis, ready to score data you provide.
Implantar e consumir modelosDeploy and consume Operacionalizar seu servidor e implantar soluções como um serviço web.Operationalize your server and deploy solutions as a web service.
Execução RemotaRemote execution Inicie sessões remotas no cluster ML Services na sua rede a partir da estação de trabalho do seu cliente.Start remote sessions on ML Services cluster on your network from your client workstation.

Opções de armazenamento de dados para serviços ML no HDInsightData storage options for ML Services on HDInsight

O armazenamento padrão para o sistema de arquivos HDFS de clusters HDInsight pode ser associado a uma conta de Armazenamento do Microsoft Azure ou ao Azure Data Lake Store.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. Essa associação assegura que os dados carregados para o armazenamento de cluster durante a análise sejam persistentes e os dados estão disponíveis mesmo depois que o cluster é excluído.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. Há várias ferramentas para lidar com a transferência de dados para a opção de armazenamento selecionada por você, incluindo o recurso de upload com base no portal da conta de armazenamento e o utilitário 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.

Você tem a opção de ativar o acesso a armazenamentos de Blob e Data Lake adicionais durante o processo de provisionamento de cluster, independentemente da opção de armazenamento principal em uso.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. Consulte o artigo Opções de armazenamento do Azure para serviços ML no artigo HDInsight para saber mais sobre o uso de várias contas de armazenamento.See Azure Storage options for ML Services on HDInsight article to learn more about using multiple storage accounts.

Também é possível usar os Arquivos do Azure como uma opção de armazenamento para uso no nó de borda.You can also use Azure Files as a storage option for use on the edge node. Os Arquivos do Azure permitem montar um compartilhamento de arquivos que foi criado em um Armazenamento do Azure para o sistema de arquivos do Linux.Azure Files enables you to mount a file share that was created in Azure Storage to the Linux file system. Para obter mais informações sobre essas opções de armazenamento de dados para os Serviços ML no cluster HDInsight, consulte Opções de Armazenamento do Azure para os Serviços ML no HDInsight .For more information about these data storage options for ML Services on HDInsight cluster, see Azure Storage options for ML Services on HDInsight.

Acesse o nó de borda do ML ServicesAccess ML Services edge node

Você pode se conectar ao Microsoft ML Server no nó de borda usando um navegador.You can connect to Microsoft ML Server on the edge node using a browser. Ele é instalado por padrão durante a criação do cluster.It is installed by default during cluster creation. Você também pode se conectar ao nó de borda do cluster a partir da linha de comando usando o SSH / PuTTY para acessar o console R.You can also connect to the cluster edge node from the command line by using SSH/PuTTY to access the R console.

Desenvolver e executar scripts RDevelop and run R scripts

Os scripts R que você criar e executar podem usar qualquer um dos mais de 8000 pacotes de software livre do R, além das rotinas paralelizadas e distribuídas disponíveis na biblioteca do 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. Em geral, um script executado com o ML Services no nó de borda é executado no interpretador R nesse nó.In general, a script that is run with ML Services on the edge node runs within the R interpreter on that node. A exceção são essas etapas que precisam chamar uma função do ScaleR com um contexto de computação que é definido para o Map Reduce do Hadoop (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). Nesse caso, a função é executada de maneira distribuída por esses nós de dados (tarefa) do cluster que são associados aos dados referenciados.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. Para obter mais informações sobre as diferentes opções de contexto de computação, consulte Opções de contexto de computação para serviços do ML no HDInsight.For more information about the different compute context options, see Compute context options for ML Services on HDInsight.

Operacionalizar um modeloOperationalize a model

Quando a modelagem de dados estiver concluída, você poderá operacionalizar o modelo para fazer previsões de novos dados no Azure ou no local.When your data modeling is complete, you can operationalize the model to make predictions for new data either from Azure or on-premises. Esse processo é conhecido como pontuação.This process is known as scoring. A pontuação pode ser feita em HDInsight, no Azure Machine Learning ou local.Scoring can be done in HDInsight, Azure Machine Learning, or on-premises.

Pontuação no HDInsightScore in HDInsight

Para pontuar no HDInsight, escreva uma função R que chame seu modelo para fazer previsões para um novo arquivo de dados que você carregou na conta de armazenamento.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. Em seguida, salve as previsões na conta de armazenamento.Then, save the predictions back to the storage account. Você pode executar a rotina sob demanda no nó de borda do seu cluster ou usando um trabalho agendado.You can run this routine on-demand on the edge node of your cluster or by using a scheduled job.

Pontuação no AML (Azure Machine Learning)Score in Azure Machine Learning (AML)

Para pontuar usando um Azure Machine Learning, use o pacote R do Azure Machine Learning de software livre conhecido como AzureML para publicar seu modelo como um serviço Web do 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. Para sua conveniência, este pacote é pré-instalado no nó de borda.For convenience, this package is pre-installed on the edge node. Em seguida, use os recursos no Azure Machine Learning para criar uma interface de usuário para o serviço Web e chame o serviço Web conforme necessidade para pontuação.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.

Se você escolher essa opção, será preciso converter qualquer objeto de modelo do ScaleR em objeto de modelo de software livre equivalente para uso com o serviço 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. Use as funções de coerção do ScaleR, tais como as.randomForest() para modelos baseados em combinação, para essa conversão.Use ScaleR coercion functions, such as as.randomForest() for ensemble-based models, for this conversion.

Pontuação localScore on-premises

Para pontuar no local após criar o modelo, você pode serializar o modelo em R, baixá-lo, desserializá-lo e usá-lo para pontuação de novos dados.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. Você pode marcar novos dados usando a abordagem descrita anteriormente em Pontuação no HDInsight ou usando serviços da Web.You can score new data by using the approach described earlier in Score in HDInsight or by using web services.

Manter o clusterMaintain the cluster

Instalar e manter pacotes RInstall and maintain R packages

A maioria dos pacotes R que você usa será exigida no nó de borda, uma vez que a maioria das etapas dos scripts R será executada lá.Most of the R packages that you use are required on the edge node since most steps of your R scripts run there. Para instalar pacotes R adicionais no nó de borda, você pode usar o método install.packages() em R.To install additional R packages on the edge node, you can use the install.packages() method in R.

Se estiver usando apenas rotinas da biblioteca do ScaleR pelo cluster, você geralmente não precisará instalar pacotes R adicionais nos nós de dados.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. No entanto, talvez você precise de pacotes adicionais para dar suporte ao uso da execução de rxExec ou RxDataStep nos nós de dados.However, you might need additional packages to support the use of rxExec or RxDataStep execution on the data nodes.

Nesses casos, os pacotes adicionais podem ser instalados com uma ação de script após a criação do cluster.In such cases, the additional packages can be installed with a script action after you create the cluster. Para obter mais informações, consulte Gerenciar serviços ML no cluster do HDInsight .For more information, see Manage ML Services in HDInsight cluster.

Alterar as configurações de memória do Apache Hadoop MapReduceChange Apache Hadoop MapReduce memory settings

Um cluster pode ser modificado para alterar a quantidade de memória disponível para os Serviços ML quando estiver executando um trabalho 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. Para modificar um cluster, use a interface de usuário do Apache Ambari que está disponível por meio da folha Portal do Azure do seu cluster.To modify a cluster, use the Apache Ambari UI that's available through the Azure portal blade for your cluster. Para obter instruções sobre como acessar a interface de usuário do Ambari para seu cluster, confira Gerenciar clusters HDInsight usando a interface de usuário do Ambari Web.For instructions about how to access the Ambari UI for your cluster, see Manage HDInsight clusters using the Ambari Web UI.

Também é possível alterar a quantidade de memória disponível para os Serviços ML usando os switches do Hadoop na chamada para RxHadoopMR da seguinte maneira: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"  

Ajustar escala do clusterScale your cluster

Um cluster de serviços ML existente no HDInsight pode ser ampliado ou reduzido pelo portal.An existing ML Services cluster on HDInsight can be scaled up or down through the portal. Ao ajustar a escala, você pode ganhar a capacidade adicional que pode precisar para tarefas de processamento mais amplo, ou pode escalar um cluster de volta quando ele estiver ocioso.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. Para obter instruções sobre como escalar um cluster, confira Gerenciar clusters HDInsight.For instructions about how to scale a cluster, see Manage HDInsight clusters.

Manter o sistemaMaintain the system

A manutenção para aplicar patches do sistema operacional e outras atualizações é executada nas VMs do Linux subjacentes em um cluster HDInsight fora do horário comercial.Maintenance to apply OS patches and other updates is performed on the underlying Linux VMs in an HDInsight cluster during off-hours. Normalmente, a manutenção é feita às 3:30 (com base na hora local da VM) todas as segundas e quintas-feiras.Typically, maintenance is done at 3:30 AM (based on the local time for the VM) every Monday and Thursday. As atualizações são executadas de forma que não afetem mais de um quarto do cluster por vez.Updates are performed in such a way that they don't impact more than a quarter of the cluster at a time.

Como os nós de cabeçalho são redundantes e nem todos os nós de dados são afetados, todos os trabalhos que estiverem em execução durante esse tempo podem ficar lentos.Since the head nodes are redundant and not all data nodes are impacted, any jobs that are running during this time might slow down. No entanto, todos eles devem continuar em execução até a conclusão.However, they should still run to completion. Todos os dados locais ou de software personalizados que você tem são preservados nesses eventos de manutenção, a menos que uma falha catastrófica ocorra e exija uma recriação do 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.

Opções de IDE para serviços ML no HDInsightIDE options for ML Services on HDInsight

O nó de borda do Linux de um cluster HDInsight é a zona de aterrissagem para análises baseadas em R.The Linux edge node of an HDInsight cluster is the landing zone for R-based analysis. Versões recentes do HDInsight fornecem uma opção padrão para instalação do RStudio Server no nó de borda como um IDE baseado em navegador.Recent versions of HDInsight provide a default installation of RStudio Server on the edge node as a browser-based IDE. O uso do RStudio Server como um IDE para o desenvolvimento e execução de scripts de R pode ser consideravelmente mais produtivo do que apenas usar o console de 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.

Você pode instalar um IDE de área de trabalho e usá-lo para acessar o cluster por meio do uso de um contexto de computação do Spark ou do MapReduce remoto.Additionally, you can install a desktop IDE and use it to access the cluster through use of a remote MapReduce or Spark compute context. As opções incluem a Microsoft RTVS (Ferramentas do R para Visual Studio), RStudio e o StatET baseado em Eclipse da Walware.Options include Microsoft’s R Tools for Visual Studio (RTVS), RStudio, and Walware’s Eclipse-based StatET.

Além disso, você pode acessar o console R no nó de borda digitando R no prompt de comandos do Linux depois de conectar 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. Ao usar a interface do console, é prático executar um editor de texto para o desenvolvimento de scripts R em outra janela e recortar e colar seções do seu script no console R, conforme necessário.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.

PreçosPricing

Os preços associados a um cluster do HDInsight do ML Services são estruturados de forma semelhante aos preços de outros tipos de cluster do HDInsight.The prices that are associated with an ML Services HDInsight cluster are structured similarly to the prices for other HDInsight cluster types. Elas são baseadas no dimensionamento das VMs subjacentes por nome, data e nós de borda com adição de uma elevação de hora por núcleo.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. Para obter mais informações, consulte Preços do HDInsight.For more information, see HDInsight pricing.

Próximas etapasNext steps

Para saber mais sobre como usar os Serviços ML em clusters HDInsight, consulte os seguintes tópicos:To learn more about how to use ML Services on HDInsight clusters, see the following topics: