Home > Tendências

7 serviços em nuvem para facilitar o Machine Learning

Construa, treine, ajuste e implante modelos de Machine e Deep Learning

Peter Wayner, InfoWorld/EUA

15/10/2018 às 16h02

machinelearning_1138628774.jpg
Foto:

Uma das últimas tarefas de computação a ser sugada para a nuvem é a análise de dados. Talvez seja porque os cientistas são naturalmente bons em programação e gostam de ter uma máquina em suas mesas. Ou talvez seja porque o equipamento de laboratório esteja conectado diretamente ao computador para registrar os dados. Ou talvez porque os conjuntos de dados são tão grandes que é demorado movê-los. 

Não importa. Qualquer que seja a razão, o fato é que os cientistas e analistas de dados estão, lentamente, adotando a computação remota como um boa opção. O interesse pelo uso de ferramentas de Machine Learning, Inteligência Artificial e análise de dados baseadas na nuvem está crescendo. Algumas das razões são as mesmas que geraram interesse na edição de documentos e e-mails baseados em nuvem. As equipes podem entrar em um repositório central de qualquer máquina e fazer o trabalho em locais remotos, na estrada ou até mesmo na praia. A nuvem lida com backups e sincronização, simplificando tudo.

Mas também há razões práticas pelas quais a nuvem é ainda melhor para a análise de dados. Quando os conjuntos de dados são grandes, os usuários da nuvem podem fazer spool em grandes tarefas em hardware alugado capaz de fazer todo o trabalho muito mais rápido. Não há necessidade de iniciar o funcionamento do seu PC e depois sair para almoçar, apenas para voltar e descobrir que o trabalho falhou após algumas horas. Agora você pode apertar o botão, criar dúzias de instâncias de nuvem carregadas com toneladas de memória e assistir seu código falhar em alguns minutos, economizando tempo e, não raro, também dinheiro.

Existem perigos também. O maior é a preocupação amorfa com a privacidade. Algumas análises de dados envolvem informações pessoais de pessoas que confiaram em você para protegê-las. Estamos acostumados às questões de segurança envolvidas no bloqueio de dados em um disco rígido em seu laboratório. É difícil saber exatamente o que está acontecendo na nuvem.

Levará algum tempo até que nos sintamos confortáveis ​​com as práticas recomendadas usadas pelos provedores de nuvem, mas as pessoas já estão reconhecendo que talvez os provedores de nuvem possam contratar mais consultores de segurança do que o estudante de graduação no canto de um laboratório. Não é como se computadores pessoais fossem imunes a vírus ou outros backdoors. Se o computador pessoal estiver conectado à Internet, bem, você pode dizer que já faz parte da nuvem.

Existem, felizmente, soluções alternativas. O mais simples é anonimizar dados com técnicas como substituir informações pessoais por IDs aleatórios. Isso não é perfeito, mas pode percorrer um longo caminho para limitar o problema que qualquer hacker poderia causar depois de romper as defesas da nuvem.

Existem outras vantagens interessantes. Grupos podem compartilhar ou abrir conjuntos de dados de origem para o público em geral, algo que pode gerar combinações selvagens ainda difíceis de imaginar. Alguns dos provedores de nuvem estão organizando seus próprios conjuntos de dados e doando custos de armazenamento para atrair usuários (consulte AWS , Azure , GCP e IBM para iniciantes). Se desejar, você pode tentar correlacionar as vendas de seus produtos com o clima ou as manchas solares ou qualquer outra informação nesses conjuntos de dados públicos. Existem muitas correlações estranhas por aí.

Aqui estão sete diferentes serviços de Machine Learning baseados em nuvem para ajudá-lo a encontrar as correlações e os sinais em seu conjunto de dados.

1 - Amazon SageMaker
A Amazon criou o SageMaker para simplificar o uso de suas ferramentas de Machine Learning. O Amazon SageMaker une as diferentes opções de armazenamento da AWS (S3, Dynamo, Redshift, etc.) e envia os dados para containers do Docker que executam as bibliotecas populares de Machine Learning (TensorFlow, MXNet, Chainer, etc.). Todo o trabalho pode ser rastreado com os notebooks Jupyter antes que os modelos finais sejam implantados como APIs próprias. O SageMaker move seus dados para as máquinas da Amazon para que você possa se concentrar em pensar nos algoritmos e não no processo. Se você deseja executar os algoritmos localmente, sempre é possível fazer o download das imagens do Docker para simplificar.

2 - Azure Machine Learning
A Microsoft vislumbrou futuro do Machine Learning e apostou tudo no Machine Learning Studio, uma ferramenta sofisticada e gráfica para encontrar sinais em seus dados. É como uma planilha para IA. Há uma interface do tipo drag-and-drop para criação de  fluxogramas que ajudam a entender seus números. 

A documentação diz que “não é necessário codificação” e isso é tecnicamente verdade, mas você ainda precisa pensar como um programador para usá-la efetivamente. Você simplesmente não ficará tão atolado na estruturação de seu código. E se perder os erros de sintaxe, a digitação dos dados e as outras alegrias da programação, poderá importar módulos escritos em Python, R ou várias outras opções.

A opção mais interessante é que a Microsoft adicionou a infraestrutura para aproveitar o que você aprende com a Inteligência Artificial e transformar o modelo preditivo em um serviço Web em execução no Azure. Assim, você cria seu conjunto de treinamento, cria seu modelo e, em apenas alguns cliques, fornece respostas em pacotes JSON do seu serviço Azure.

3 - BigML
O BigML é um painel híbrido para análise de dados que pode ser usado na nuvem ou instalado localmente. A interface principal é um painel que lista todos os seus arquivos aguardando análise por dezenas de classificadores de Machine Learning, clusterers, regressores e detectores de anomalia. Você clica e os resultados aparecem.

Ultimamente, a empresa se concentrou em novos algoritmos que aumentam a capacidade de fornecer respostas úteis. O novo código Fusion pode integrar os resultados de vários algoritmos para aumentar a precisão.

Preços por assinatura, com uma camada gratuita generosa nas próprias máquinas da BigML. Você também pode criar uma implantação privada no AWS, no Azure ou no GCP. Se isso ainda for público demais, eles serão implantados em seus servidores privados.

4 - Databricks
O conjunto de ferramentas Databricks é construído por alguns dos desenvolvedores do Apache Spark que pegaram a plataforma de análise de código aberto e adicionaram alguns aprimoramentos, aumentando o rendimento com alguma compressão e indexação inteligente. O armazenamento de dados híbrido chamado Delta é um local em que grandes quantidades de dados podem ser armazenados e analisados ​​rapidamente. 

Todas as rotinas analíticas padronizadas do Apache Spark estão prontas para serem executadas nesses dados, mas com algumas melhorias necessárias para a infraestrutura do Spark.

As bibliotecas de dados são integradas ao AWS e ao Azure e são avaliadas de acordo com o consumo e o desempenho. Cada mecanismo computacional é medido nas Unidades da Databrick. Você pagará mais por um modelo mais rápido.

5 - DataRobot
Muitas das abordagens aqui permitem criar um modelo de Machine Learning em um clique. O DataRobot apregoa a capacidade de construir centenas de modelos simultaneamente, também com apenas um clique. Quando os modelos são feitos, você pode escolher entre eles e descobrir qual faz a melhor previsão e seguir com isso. O segredo é um "mecanismo de processamento massivamente paralelo", em outras palavras, uma nuvem de máquinas fazendo a análise.

O DataRobot está expandindo através da implementação de novos algoritmos. A empresa adquiriu recentemente a Nutonian, cujo mecanismo Eureqa deve melhorar a capacidade da plataforma automatizada de criar séries temporais e modelos de classificação. O sistema também oferece uma API do Python para usuários mais avançados.

O DataRobot está disponível por meio do DataRobot Cloud ou de uma edição de software corporativo que vem com um engenheiro embarcado.

6 - Google Cloud Machine Learning Engine
O Google investiu pesadamente no TensorFlow, uma das bibliotecas padrão de código aberto para encontrar sinais em dados, e agora você pode experimentar o TensorFlow na nuvem do Google. Algumas das ferramentas do Google Cloud Machine Learning Engine são de código aberto e essencialmente gratuitas para qualquer pessoa que queira baixá-las e outras fazem parte das opções comerciais da Google Cloud Platform. Isso dá a você a liberdade de explorar e evitar algum bloqueio porque grande parte do código é aberto e mais ou menos pronto para ser executado em Mac, Windows ou Linux.

O lugar mais fácil para começar pode ser o Colaboratory , que conecta o Jupyter Notebook com o back-end TensorFlow do Google, para que você possa esboçar seu código e vê-lo rodar. O Google também oferece o TensorFlow Research Cloud para cientistas que queiram experimentá-lo. Quando for apropriado, você pode executar seus modelos de aprendizado de máquina no hardware do Google acelerado por GPUs ou TPUs.

7 - IBM Watson Studio
O Watson abrange grande parte do esforço de Inteligência Artificial da IBM. O IBM Watson Studio é uma ferramenta para explorar seus dados e modelos de treinamento na nuvem ou on-premise. 

Você pode usar a versão baseada em nuvem para estudar seus dados e desfrutar de todo o poder que vem com os recursos elásticos e o repositório centralizado. Ou você pode fazer praticamente a mesma coisa com a privacidade e a conveniência do seu desktop com firewall.

machinelearning

Um modelo de aprendizado de máquina em cada nuvem
Depois de concluir todo o pré-processamento e a limpeza de dados, você poderá alimentar os mesmos dados formatados em CSV em todos esses serviços e comparar os resultados para encontrar a melhor opção. Alguns desses serviços já oferecem comparações automatizadas entre algoritmos. Por que não dar um passo adiante e usar mais de um?

Você também pode aproveitar alguns dos padrões abertos que estão evoluindo. O Jupyter Notebook, por exemplo, geralmente é executado sem muita modificação. Você pode desenvolver em uma plataforma e, em seguida, mover muito desse código com os dados para testar qualquer algoritmo novo em plataformas diferentes.

Estamos muito longe da padronização e existem diferenças assustadoras e inexplicáveis ​​entre os algoritmos. Não se contente com apenas um algoritmo ou um método de treinamento. Experimente quantas ferramentas de modelagem diferentes você puder gerenciar.

Junte-se a nós e receba nossas melhores histórias de tecnologia. Newsletter Newsletter por e-mail