Comparando o Machine Learning as a Service da Amazon, Microsoft Azure, Google Cloud AI, IBM Watson

Comparando o Machine Learning as a Service da Amazon, Microsoft Azure, Google Cloud AI, IBM Watson

Para a maioria das empresas, o machine learning, ou ML, parece ser algo muito complicado, parece caro e exigente em termos de mão-de-obra. E se você pretende criar outro sistema de recomendação da Netflix, realmente é. Mas a tendência de fazer tudo como serviço também afetou essa sofisticada esfera. Você pode iniciar machine learning sem muito investimento, o que seria o melhor se você for novato em ciência de dados e quiser apenas agarrar os frutos mais baixos.

Uma das histórias mais inspiradoras do machine learning é aquela sobre um fazendeiro japonês que decidiu separar os pepinos automaticamente para ajudar seus pais nessa operação meticulosa. Ao contrário das histórias que abundam sobre grandes empresas, o cara não tinha experiência em machine learning nem um grande orçamento. Mas ele conseguiu se familiarizar com o TensorFlow e empregou o deep learning para reconhecer diferentes classes de pepinos.

Ao usar serviços de nuvem de machine learning, você pode começar a criar seus primeiros modelos de trabalho, gerando informações valiosas a partir de previsões com uma equipe relativamente pequena. Já discutimos a estratégia. Agora, vamos dar uma olhada nas melhores plataformas de machine learning do mercado e considerar algumas das decisões de infra-estrutura a serem tomadas.

O que é machine learning como um serviço

O machine learning as a service (MLaaS) é uma definição abrangente de várias plataformas baseadas em nuvem que cobrem a maioria dos problemas de infraestrutura, como pré-processamento de dados, treinamento de modelo e avaliação de modelo, com mais previsões. Os resultados de previsão podem ser preenchidos com sua infraestrutura interna de TI por meio de APIs REST.

Os serviços Amazon Machine Learning, o Azure Machine Learning, o Google Cloud AI e o IBM Watson são quatro dos principais serviços MLaaS de nuvem que permitem o rápido treinamento e implantação de modelos. Isso deve ser considerado primeiro se você montar uma equipe de ciência de dados caseira com engenheiros de software disponíveis. Dê uma olhada na história das estruturas da equipe de ciências de dados para ter uma idéia melhor da distribuição de funções.

Neste artigo, primeiro apresentaremos uma visão geral das principais plataformas de aprendizado de máquina como serviço da Amazon, do Google, da Microsoft e da IBM e acompanharemos as APIs de machine learning que esses fornecedores suportam. Tenha em atenção que esta descrição geral não pretende fornecer instruções completas sobre quando e como utilizar estas plataformas, mas sim sobre o que procurar antes de começar a ler a respetiva documentação.

Serviços de machine learning para tarefas de análise preditiva personalizadas

Se você está no mercado de automação e interface de arrastar e soltar, verifique primeiro o Microsoft ML Studio. Em termos de plataformas para modelagem customizada, todos os quatro provedores acima sugerem produtos similares

Análise Preditiva com o Amazon ML

Os serviços do Amazon Machine Learning estão disponíveis em dois níveis: análise preditiva com o Amazon ML e a ferramenta SageMaker para cientistas de dados.

O Amazon Machine Learning para análise preditiva é uma das soluções mais automatizadas do mercado e a mais adequada para operações sensíveis a prazos. O serviço pode carregar dados de várias fontes, incluindo Amazon RDS, Amazon Redshift, arquivos CSV, etc. Todas as operações de pré-processamento de dados são executadas automaticamente: o serviço identifica quais campos são categóricos e quais são numéricos e não solicita a um usuário escolha os métodos de pré-processamento de dados adicionais (redução de dimensionalidade e branqueamento).

As capacidades de previsão do Amazon ML estão limitadas a três opções:

Classificação binária, classificação multiclasse e regressão. Dito isso, esse serviço do Amazon ML não suporta nenhum método de aprendizado não supervisionado e um usuário deve selecionar uma variável de destino para rotulá-lo em um conjunto de treinamento. Além disso, não é necessário que um usuário conheça os métodos de machine learning, pois a Amazon os escolhe automaticamente depois de analisar os dados fornecidos.

Esse alto nível de automação atua como uma vantagem e desvantagem para o uso do Amazon ML. Se você precisa de uma solução totalmente automatizada, porém limitada, o serviço pode atender às suas expectativas. Caso contrário, há o SageMaker.

Amazon SageMaker e serviços baseados em frameworks

O SageMaker é um ambiente de machine learning que deve simplificar o trabalho do cientista de dados, fornecendo ferramentas para criação e implantação rápida de modelos. Por exemplo, ele fornece o Jupyter, um bloco para simplificar a exploração e a análise de dados sem problemas de gerenciamento do servidor. A Amazon também possui algoritmos incorporados que são otimizados para grandes conjuntos de dados e cálculos em sistemas distribuídos. Esses incluem:

  • Aprendiz linear é um método supervisionado para classificação e regressão
  • Máquinas de fatoração são para classificação e regressão projetadas para conjuntos de dados esparsos
  • O XGBoost é um algoritmo supervisionado de árvores reforçadas que aumenta a precisão de previsão na classificação, regressão e classificação combinando as previsões de algoritmos mais simples
  • A classificação de imagens é baseada na ResNet, que também pode ser aplicada para transferência de aprendizado
  • Seq2seq é um algoritmo supervisionado para prever sequências (por exemplo, traduzir sentenças, converter cadeias de palavras em palavras curtas como resumo, etc.)
  • K-means é um método de aprendizado não supervisionado para tarefas de cluster
  • A análise de componentes principais é usada para redução de dimensionalidade
  • Alocação de Dirichlet Latente é um método não supervisionado usado para encontrar categorias em documentos
  • O modelo de tópico neural (NTM) é um método não supervisionado que explora documentos, revela palavras de alto nível e define os tópicos (os usuários não podem predefinir tópicos, mas podem definir o número esperado deles)
  • A previsão do DeepAR é um algoritmo de aprendizado supervisionado usado para previsão de séries temporais que emprega redes neurais recorrentes (RNN)
  • BlazingText é um algoritmo de processamento de linguagem natural (PLN) baseado na base Word2vec, que permite mapear palavras em grandes coleções de textos com representações vetoriais.
  • Random Cut Forest é um algoritmo de detecção de anomalia não supervisionado capaz de atribuir pontuações de anomalia a cada ponto de dados

Os métodos internos do SageMaker se cruzam em grande parte com as APIs de machine learning que a Amazon sugere, mas aqui ele permite que os cientistas de dados brinquem com eles e usem seus próprios conjuntos de dados.

Se você não quiser usá-los, poderá adicionar seus próprios métodos e executar modelos por meio do SageMaker, aproveitando seus recursos de implantação. Ou você pode integrar o SageMaker com o TensorFlow, o Keras, o Gluon, o Caffe2, o Torch, o MXNet e outras bibliotecas de machine learning .

Geralmente, os serviços de machine learning da Amazon fornecem liberdade suficiente tanto para os cientistas de dados experientes quanto para aqueles que precisam apenas de tarefas sem aprofundar os preparativos e a modelagem de conjuntos de dados. Essa seria uma opção sólida para empresas que já usam serviços de nuvem da Amazon e não planejam fazer a transição para outro provedor de nuvem.

Estúdio de Machine Learning do Microsoft Azure

A plataforma de machine learning do Azure destina-se a criar um playground eficiente para iniciantes e experientes cientistas de dados. A lista de produtos de machine learning da Microsoft é semelhante à da Amazon, mas o Azure, a partir de hoje, parece mais flexível em termos de algoritmos prontos para uso.

Os serviços do Azure podem ser divididos em duas categorias principais: Azure Machine Learning Studio e Bot Service. Vamos descobrir o que está sob o capô do Azure ML Studio. Voltaremos ao serviço de bots na seção dedicada a APIs e ferramentas específicas.

ML Studio é o principal pacote MLaaS. Quase todas as operações no Azure ML Studio devem ser concluídas usando uma interface gráfica de arrastar e soltar. Isso inclui exploração de dados, pré-processamento, escolha de métodos e validação de resultados de modelagem.

Aproximando-se do machine learning com o Azure, há uma curva de aprendizado. Mas, eventualmente, leva a uma compreensão mais profunda de todas as principais técnicas no campo. A interface gráfica do Azure ML visualiza cada etapa do fluxo de trabalho e oferece suporte a recém-chegados. Talvez o principal benefício de usar o Azure seja a variedade de algoritmos disponíveis para usar. O Studio suporta cerca de 100 métodos que tratam da classificação (binária + multiclasse), detecção de anomalias, regressão, recomendação e análise de texto. Vale a pena mencionar que a plataforma tem um algoritmo de agrupamento (K-means).

Outra grande parte do Azure ML é a Cortana Intelligence Gallery. É uma coleção de soluções de machine learning fornecidas pela comunidade para serem exploradas e reutilizadas por cientistas de dados. O produto Azure é uma ferramenta poderosa para começar com o machine learning e apresentar seus recursos a novos funcionários.

Serviços de aprendizado de máquina do Microsoft Azure

Em setembro de 2017, a Microsoft apresentou um novo conjunto de produtos focados em ML que receberam o nome de guarda-chuva Azure Machine Learning Services. O lançamento foi responsável por alguma confusão na comunidade de desenvolvedores do Azure, pois exigia que os engenheiros escolhessem entre as duas plataformas diferentes que não podem ser integradas. Por isso, pedimos a Matt Winkler, gerente de programa de grupo da Microsoft, que trabalha com os produtos da IA do Azure, que forneça algumas informações privilegiadas sobre a plataforma:

“O Azure ML Services é a nossa infraestrutura de próxima geração para criar e implantar modelos em escala, usando qualquer ferramenta ou estrutura. O Azure ML Services oferece gerenciamento de ciclo de vida de ponta a ponta, acompanhando todos os seus experimentos em toda a equipe, armazenando código, configuração, configurações de parâmetros e detalhes do ambiente para facilitar a classificação, pesquisa e replicação de qualquer experimento feito por seu time. Depois de ter um modelo de que você gosta, você pode encapsulá-lo facilmente em um contêiner e implantá-lo nos dispositivos do Azure, on-prem ou IOT, e é fácil dimensionar e gerenciar como “apenas outro contêiner” executado no Kubernetes. Os Serviços do Azure ML facilitam o início local, em um editor Python ou em um bloco de anotações de sua escolha, e, em seguida, são facilmente computados no Azure e redimensionados para cima / para baixo quando você precisar. ”Diz Matt.

Basicamente, os serviços sugerem um ambiente de suporte para construir modelos, experimentá-los e usar uma ampla variedade de componentes e estruturas de código aberto. Ao contrário do ML Studio, ele não possui métodos incorporados e exige engenharia de modelo personalizada. A plataforma é destinada a cientistas de dados experientes para operá-lo. E se você tiver a equipe certa, o ML Services oferece um poderoso conjunto de ferramentas para gerenciar experimentos ML, usar estruturas populares como o TensorFlow, scikit-learn, etc. (que não está disponível no ML Studio) e implantar modelos em produção em um terceiro. -party serviço como Docker.

Vamos dar uma olhada mais de perto no que a plataforma ML Services sugere.

Pacotes Python

Esses pacotes proprietários possuem bibliotecas e funções que visam quatro grupos principais de tarefas: visão computacional, previsão, análise de texto e aceleração de hardware.

Experimentação

Com qualquer ferramenta e estrutura Python, os engenheiros podem criar modelos diferentes, compará-los, definir o projeto para uma configuração histórica específica e continuar o desenvolvimento a partir de qualquer momento da história.

Gestão de modelos

A ferramenta fornece um ambiente para hospedar, versão, gerenciar e monitorar modelos executados no Azure, no local ou até mesmo em dispositivos Edge.

Bancada de trabalho

Este produto é um ambiente de desktop e linha de comando conveniente, com painéis e ferramentas de avaliação para rastrear o desenvolvimento de modelos.

Ferramentas do Visual Studio para IA

Basicamente, esta extensão adiciona ferramentas ao VS IDE para trabalhar com aprendizagem profunda e outros produtos de IA.

Se você ainda não sabe se deve ficar com o Azure ML Studio ou ML Services, Matt Winkler sugere: “Pensamos neles como dois recursos diferentes do mesmo serviço – o Azure Machine Learning – que atendem a diferentes tipos de clientes. As pessoas mais novas no espaço do ML e as que não estão familiarizadas com programação(analistas, pessoal de dados, etc.) adoram a conveniência do Azure ML Studio, enquanto os cientistas de dados profissionais e desenvolvedores de IA que se sentem confortáveis ​​com o Python preferem os recursos dos serviços do Azure ML. ”

Google Prediction API

O Google fornece serviços de inteligência artificial em dois níveis: um mecanismo de machine learning para cientistas de dados experientes e uma API altamente automatizada do Google Prediction. Infelizmente, a Google Prediction API foi preterida recentemente e o Google retirou o plug em 30 de abril de 2018.

A API Predicion se parece com o Amazon ML. Sua abordagem minimalista limita-se a resolver duas questões principais: classificação (binária e multiclasse) e regressão. Modelos treinados podem ser implementados por meio da interface da API REST.

O Google não divulga exatamente quais algoritmos foram utilizados para gerar previsões e não permitiu que engenheiros personalizassem os modelos. Por outro lado, o ambiente do Google era o mais adequado para a execução de machine learning em prazos apertados e o lançamento antecipado da iniciativa de ML. Mas parece que o produto não era tão popular quanto o Google esperava. É uma pena que aqueles que estavam usando a Prediction API tenham que “recriar modelos existentes” usando outras plataformas, como sugere o FAQ sobre o final da vida útil.

Então, o que vem em vez disso?

O Google está testando o Cloud AutoML. Atualmente, o produto está em alpha e, por isso, ainda não tem documentação. As primeiras informações afirmam que o AutoML permitirá que pessoas sem experiência em ciência de dados treinem modelos em seus dados de maneira automatizada. O primeiro produto a ser lançado será a visão AutoML capaz de criar modelos de reconhecimento de imagem personalizados. No longo prazo, o Google espera cobrir ainda mais áreas.

Mecanismo de aprendizagem do Google Cloud Machine

A alta automação da Prediction API estava disponível ao custo da flexibilidade. O Google ML Engine é o oposto direto. Ele atende a cientistas de dados experientes, é muito flexível e sugere o uso da infraestrutura em nuvem com o TensorFlow como um driver de machine learning. Além disso, o Google está testando vários outros frameworks populares como XGBoost, scikit-leran e Keras. Então, o ML Engine é bastante semelhante ao SageMaker, em princípio.

O TensorFlow é outro produto do Google, que é uma biblioteca de machine learning de código aberto de várias ferramentas de ciência de dados, em vez de ML-como-um-serviço. Não tem interface visual e a curva de aprendizado do TensorFlow seria bastante íngreme. No entanto, a biblioteca também é direcionada a engenheiros de software que planejam a transição para a ciência de dados. O Google TensorFlow é bastante poderoso, mas destina-se principalmente a tarefas de redes neurais profundas.

Basicamente, a combinação do TensorFlow com o serviço Google Cloud sugere soluções de infraestrutura (IaaS) como serviço e plataforma como serviço(PaaS), de acordo com o modelo de três camadas de serviços em nuvem.

IBM Watson Machine Learning Studio

A IBM sugere uma plataforma de aprendizado de máquina única para cientistas de dados experientes e recém-chegados na esfera. Tecnicamente, o sistema oferece duas abordagens: automatizada e manual – para profissionais especializados. Semelhante a uma Google Prediction API descontinuada ou ainda operacional no Amazon ML, o Watson Studio possui um modelador que traz à mente uma interface totalmente automatizada de processamento de dados e construção de modelo que precisa de pouco ou nenhum treinamento para iniciar o processamento de dados, preparar modelos e implantá-los Produção.

A parte automatizada pode resolver três tipos principais de tarefas: classificação binária, classificação multiclasse e regressão. Você pode escolher uma abordagem totalmente automatizada ou escolher manualmente o método ML a ser usado. Atualmente, a IBM possui dez métodos para cobrir esses três grupos de tarefas:

  • Regressão logística
  • Classificador da árvore de decisão
  • Classificador de floresta aleatório
  • Classificador de árvore impulsionado por gradiente
  • Baías ingênuas
  • Regressão linear
  • Regenerador da árvore de decisão
  • Regenerador de floresta aleatório
  • Gradiente impulsionado por regressor de árvore
  • Regressão isotônica

Separadamente, a IBM oferece fluxo de trabalho de treinamento de rede neural profunda com interface de editor de fluxo semelhante à usada no Azure ML Studio.

Se você procura recursos avançados, o IBM ML possui como o Jupiter para programar modelos manualmente usando estruturas populares como o TensorFlow, o scikit-learn, o PyTorch e outros.

Para finalizar plataformas de machine learning como um serviço (MLaaS), parece que o Azure tem atualmente o conjunto de ferramentas mais versátil no mercado de MLaaS. Ele cobre a maioria das tarefas relacionadas ao ML, fornece dois produtos distintos para a criação de modelos personalizados e um conjunto sólido de APIs para aqueles que não querem atacar a ciência de dados com suas próprias mãos.

APIs de machine learning da Amazon, Microsoft, Google e IBM

Além de plataformas completas, você pode usar APIs de alto nível. Estes são os serviços com modelos treinados que você pode alimentar seus dados e obter resultados. As APIs não exigem experiência em machine learning. Atualmente, as APIs desses quatro fornecedores podem ser amplamente divididas em três grandes grupos:

  1. reconhecimento de texto, tradução e análise textual
  2. reconhecimento de imagem + vídeo e análise relacionada
  3. outro, que inclui serviços específicos não categorizados

A Microsoft sugere a lista mais rica de recursos. No entanto, os mais críticos estão disponíveis em todos os fornecedores

APIs de processamento de texto e fala: Amazon

A Amazon fornece várias APIs que visam tarefas populares na análise de texto. Eles também são altamente automatizados em termos de machine learning e precisam apenas de integração adequada para funcionar.

Amazon Lex

A Lex API é criada para incorporar chatbots em seus aplicativos, pois contém recursos de reconhecimento automático de fala (ASR) e processamento de linguagem natural (PLN). Estes são baseados em modelos de deep learning. A API pode reconhecer texto escrito e falado e a interface Lex permite que você conecte as entradas reconhecidas a várias soluções de back-end. Obviamente, a Amazon incentiva o uso de seu ambiente de nuvem Lambda. Portanto, antes de assinar o Lex, conheça o Lambda também. Além de aplicativos autônomos, a Lex atualmente suporta a implantação de chatbots para o Facebook Messenger, Slack e Twilio.

Transcrição da Amazon. Embora o Lex seja uma ferramenta complexa orientada para o chatbot, o Transcribe é criado exclusivamente para reconhecer texto falado. A ferramenta pode reconhecer vários alto-falantes e funciona com áudio de telefonia de baixa qualidade. Isso torna a API uma solução para catalogar arquivos de áudio ou um bom suporte para a análise de texto adicional dos dados do call center.

Amazon Polly

O serviço Polly é uma espécie de reverso do Lex. Transforma texto em fala, o que permitirá que seus chatbots respondam com voz. Não vai escrever o texto, apenas faz o texto parecer próximo do humano. Se você já conhece o Alexa, você já tem ideia. Atualmente, suporta vozes femininas e masculinas para 25 idiomas, principalmente ingleses e europeus ocidentais. Algumas línguas têm várias vozes femininas e masculinas, pelo que existe uma variedade para escolher. Como Lex, Polly é recomendado para uso com o Lambda.

Comprehend da Amazon

Compreensão é outro conjunto de APIs de PLN que, ao contrário de Lex e Transcribe, visam diferentes tarefas de análise de texto. Atualmente, Comprehend suporta:

  • Extração de entidades (reconhecimento de nomes, datas, organizações, etc.)
  • Detecção de frase-chave
  • Reconhecimento de idioma
  • Análise de sentimentos (quão positivo, neutro ou negativo é um texto)
  • Modelagem de tópicos (definindo tópicos dominantes analisando palavras-chave)
  • Este serviço ajudará você a analisar respostas de mídia social, comentários e outros grandes dados textuais que não são passíveis de análise manual, por exemplo, A combinação de Compreender e Transcrever ajudará a analisar o sentimento em seu atendimento ao cliente orientado por telefonia.

O Amazon Translate

Como o nome indica, o serviço Traduzir traduz textos. A Amazon alega que usa redes neurais que – em comparação com abordagens de tradução baseadas em regras – fornecem melhor qualidade de tradução. Infelizmente, a versão atual suporta a tradução de apenas seis idiomas para o inglês e do inglês para esses seis. Os idiomas são árabe, chinês, francês, alemão, português e espanhol.

APIs de processamento de fala e texto: Serviços Cognitivos do Microsoft Azure

Assim como a Amazon, a Microsoft sugere APIs de alto nível, Serviços Cognitivos, que podem ser integrados à sua infraestrutura e executar tarefas sem o conhecimento necessário em ciência de dados.

Discurso

O conjunto de fala contém quatro APIs que aplicam diferentes tipos de técnicas de processamento de linguagem natural (PLN) para reconhecimento de fala natural e outras operações:

API de tradutor de fala: Bing Speech API para converter texto em fala e fala em texto

  • API de reconhecimento de alto-falante para tarefas de verificação de voz
  • Serviço de fala personalizado para aplicar as capacidades do NLP do Azure usando dados e modelos próprios

Língua

O grupo de idiomas das APIs se concentra na análise textual semelhante ao Amazon Comprehend:

O Language Understanding Intelligent Service (LUIS) é uma API que analisa intenções em texto para serem reconhecidas como comandos (por exemplo, “executar aplicativo do YouTube” ou “ativar as luzes da sala de estar”)

  • API de análise de texto para análise de sentimentos e definição de tópicos
  • Verificação ortográfica do Bing
  • API de texto do tradutor
  • API de modelo de linguagem da Web que estima probabilidades de
  • combinações de palavras e oferece suporte à autocomplicação de palavras
  • API de análise linguística usada para separação de sentenças, marcação das partes do discurso e divisão de textos em frases rotuladas

APIs de processamento de texto e fala: Serviços do Google Cloud ML

Embora esse conjunto de APIs interaja principalmente com o que a Amazon e o Microsoft Azure sugerem, ele tem algumas coisas interessantes e exclusivas a serem observadas.

Dialogflow

Com vários chatbots superando as tendências de hoje, o Google também tem algo a oferecer. Dialogflow é alimentado por tecnologias de PLN e visa definir intenções no texto e interpretar o que uma pessoa quer. A API pode ser ajustada e personalizada para as intenções necessárias usando Java, Node.js e Python.

API de linguagem natural em nuvem

Esse é quase idêntico em seus recursos principais ao Comprehend by Amazon and Language by Microsoft.

  • Definir entidades no texto
  • Reconhecer o sentimento
  • Analisar Estruturas de Sintaxe
  • Categorização de tópicos (por exemplo, comida, notícias, eletrônicos etc.)

Cloud Speech API

Esse serviço reconhece a fala natural e, talvez, seu principal benefício em comparação com APIs semelhantes é a abundância de idiomas suportados pelo Google. Atualmente, seu vocabulário trabalha com mais de 110 idiomas globais e variantes deles. Também possui alguns recursos adicionais:

  • Dicas do Word permitem personalizar o reconhecimento para contextos e palavras específicos que podem ser falados (por exemplo, para melhor compreensão do jargão local ou do setor)
  • Filtrar conteúdo impróprio
  • Manipular áudio ruidoso

API de tradução em nuvem

Basicamente, você pode usar essa API para usar o Google Tradutor em seus produtos. Este inclui mais de cem idiomas e detecção automática de idioma.

APIs de processamento de fala e texto: IBM Watson

A IBM também compete pelo mercado de APIs. Vamos dar uma olhada no conjunto de interfaces deles.

Fala para texto

Atualmente, a IBM oferece reconhecimento de fala para 9 idiomas, incluindo japonês, português e árabe. A API pode reconhecer vários locutores, identificar palavras-chave e lidar com áudio com perdas. Uma característica interessante é capturar alternativas de palavras e relatá-las. Por exemplo, se o sistema identificar a palavra “Boston”, pode presumir que pode haver uma alternativa “Austin”. Ao analisar sua hipótese, a API atribui uma pontuação de confiança a cada alternativa.

Texto para fala

Curiosamente, 9 idiomas de texto para fala correspondem apenas parcialmente àqueles na fala para a API de texto. Embora ambos os produtos suportem idiomas da Europa Ocidental, o Text to speech não possui coreano nem chinês. Inglês, alemão e espanhol permitem que você escolha entre vozes masculinas e femininas; o resto das línguas vem apenas com vozes femininas. Isso está de acordo com a tendência de fazer com que os assistentes de voz pareçam mais femininos.

Tradutor de idiomas

A API suporta 21 idiomas para tradução de e para inglês. Além disso, você pode adicionar modelos personalizados e expandir a cobertura de idiomas.

Classificador de linguagem natural. Ao contrário da maioria das APIs mencionadas, o classificador da IBM não pode ser usado sem seu próprio conjunto de dados. Basicamente, a ferramenta permite que você treine modelos usando seus próprios dados de negócios e, em seguida, classifique os registros recebidos. Casos de uso comuns estão marcando produtos no comércio eletrônico, detecção de fraudes, categorização de mensagens, feeds de mídia social etc.

Compreensão da linguagem natural

O conjunto de recursos de compreensão de linguagem da IBM é extenso. Além da extração de informações padrão, como a extração de palavras-chave e de entidades com a análise de sintaxe, a API sugere diversos recursos interessantes que não estão disponíveis em outros provedores. Estes incluem análise de metadados e encontrar relações entre entidades. Além disso, a IBM sugere um ambiente separado para treinar seus próprios modelos para análise de texto usando o Knowledge Studio.

Percepções de personalidade

Uma API relativamente incomum permite analisar textos e extrair pistas sobre como o escritor se envolve com o mundo. Isso basicamente significa que o sistema retornará:

  • características de personalidade (por exemplo, agradabilidade, conscienciosidade, extroversão, alcance emocional e abertura)
  • necessidades (por exemplo, curiosidade, excitação, desafio)
  • valores (por exemplo, ajudar os outros, alcançar o sucesso, hedonismo).

Com base nesses dados, a API pode inferir preferências de consumo (por exemplo, música, aprendizado, filmes). O caso de uso mais comum para esse sistema é a análise de conteúdo gerada pelo usuário para o marketing preciso do produto.

Analisador de tom

O analisador de tom é uma API separada que se concentra na análise de sentimentos e visa a pesquisa de mídia social e várias análises de engajamento do cliente. Não se confunda com o nome um pouco ambíguo. O analisador cobre apenas texto escrito e não extrai insights dos falados.

Além do texto e da fala, a Amazon, a Microsoft, o Google e a IBM fornecem APIs bastante versáteis para análise de imagens e vídeos.

O kit de ferramentas mais versátil para análise de imagens está atualmente disponível no Google Cloud

Embora a análise de imagens interaja de perto com as APIs de vídeo, muitas ferramentas para análise de vídeo ainda estão em desenvolvimento ou em versões beta. Por exemplo, o Google sugere um suporte rico para várias tarefas de processamento de imagens, mas definitivamente não possui recursos de análise de vídeo já disponíveis na Microsoft e na Amazon.

A Microsoft parece uma vencedora, embora ainda achemos que a Amazon tenha as APIs de análise de vídeo mais eficientes, já que ela oferece suporte a streaming de vídeos. Esse recurso aumenta de maneira tangível o espectro de casos de uso. A IBM não suporta APIs de análise de vídeo

APIs de processamento de imagem e vídeo: Amazon Rekognition

Não, nós não escrevemos errado a palavra. A API do Rekognition é usada para tarefas de imagem e, recentemente, de reconhecimento de vídeo. Eles incluem:

  • Detecção e classificação de objetos (localiza e detecta diferentes objetos em imagens e defina o que eles são)
  • Em vídeos, pode detectar atividades como “dançar” ou ações complexas como “apagar fogo”
  • Reconhecimento facial (para detectar rostos e encontrar os correspondentes) e análise facial (este é bastante interessante, pois detecta sorrisos, analisa os olhos e até define sentimentos emocionais em vídeos)
  • Detectar vídeos inapropriados
  • Reconhecendo celebridades em imagens e vídeos (para quaisquer objetivos que possam ser).

APIs de processamento de imagem e vídeo: Serviços Cognitivos do Microsoft Azure

O pacote Vision da Microsoft combina seis APIs que se concentram em diferentes tipos de imagem, vídeo e análise de texto.

  • Visão computacional que reconhece objetos, ações (por exemplo, caminhar), textos escritos e digitados e define cores dominantes em imagens
  • Moderador de conteúdo detecta conteúdo inapropriado em imagens, textos e vídeos
  • A API facial detecta rostos, agrupa-os, define idade, emoções, gêneros, poses, sorrisos e pêlos faciais
  • Emotion API é outra ferramenta de reconhecimento facial que descreve expressões faciais
  • O Custom Vision Service suporta a criação de modelos de reconhecimento de imagem personalizados usando seus próprios dados
  • O indexador de vídeo é uma ferramenta para encontrar pessoas em vídeos, definir o sentimento da fala e marcar palavras-chave

APIs de processamento de imagem e vídeo: serviços do Google Cloud

API de visão em nuvem. A ferramenta é construída para tarefas de reconhecimento de imagem e é bastante poderosa para encontrar atributos de imagem específicos:

  • Etiquetar objetos
  • Detectar faces e analisando expressões (sem reconhecimento ou identificação de face específicos)
  • Encontrar marcos e descrever a cena (por exemplo, férias, casamento, etc.)
  • Encontrar textos em imagens e identificando idiomas
  • Cores dominantes

Cloud Video Intelligence

A API de reconhecimento de vídeo do Google está no início do desenvolvimento, por isso, falta muitos recursos disponíveis com o Amazon Rekognition e o Microsoft Cognitive Services. Atualmente, a API fornece o seguinte conjunto de ferramentas:

  • Rotular objetos e definindo ações
  • Identificar o conteúdo explícito
  • Transcrever discurso

Embora os serviços do Google AI no nível da lista de recursos possam não ter algumas habilidades, o poder das APIs do Google está nos vastos conjuntos de dados aos quais o Google tem acesso.

APIs de processamento de imagem e (sem) de vídeo: IBM Visual Recognition

A API de reconhecimento visual da IBM atualmente não suporta análise de vídeo, que já está disponível em outros provedores (daí o título desta seção). E o mecanismo de reconhecimento de imagem sugere um conjunto básico de recursos, um pouco limitado em comparação ao que outros fornecedores oferecem:

  • Reconhecimento de objeto
  • Reconhecimento facial (a API retorna idade e sexo)
  • Reconhecimento de alimentos (por algum motivo, a IBM projetou um modelo dedicado para alimentos)
  • Detecção de conteúdo inapropriado
  • Reconhecimento de texto (esta parte da API da API está em beta privado, portanto, você deve solicitar um acesso separado)

APIs e ferramentas específicas

Aqui, discutiremos as ofertas e ferramentas específicas da API que vêm da Microsoft e do Google. Não incluímos a Amazon aqui, pois seus conjuntos de APIs correspondem apenas às categorias de análise de texto e análise de imagem + vídeo mencionadas acima. No entanto, algumas das capacidades dessas APIs específicas também estão presentes nos produtos da Amazon.

Estrutura do Azure Service Bot

A Microsoft fez um grande esforço para fornecer aos seus usuários um conjunto de ferramentas de desenvolvimento bot flexível. Basicamente, o serviço contém um ambiente completo para construir, testar e implantar bots usando diferentes linguagens de programação.

Curiosamente, o Serviço de Bot não requer necessariamente abordagens de machine learning. Como a Microsoft fornece cinco modelos para bots (básico, formulário, compreensão de linguagem, pró-ativo e Q & A), somente o tipo de compreensão de linguagem requer técnicas avançadas de IA.

Atualmente, você pode usar as tecnologias .NET e Node.js para criar bots com o Azure e implantá-los nas seguintes plataformas e serviços:

  • Bing
  • Cortana
  • Skype
  • Web chat
  • E-mail do Office 365
  • GroupMe
  • Mensageiro do Facebook
  • Kik
  • Telegrama
  • Twilio

Pesquisa do Bing da Microsoft

A Microsoft sugere sete APIs que se conectam com os principais recursos de pesquisa do Bing, incluindo busca automática, notícias, imagem e pesquisa de vídeo.

Conhecimento da Microsoft. Esse grupo de APIs combina análise de texto com um amplo espectro de tarefas exclusivas:

  • A API de recomendações permite criar sistemas de recomendação para personalização de compra
  • O Serviço de Exploração de Conhecimento permite que você digite consultas naturais para recuperar dados de bancos de dados, visualizar dados e preencher automaticamente consultas
  • A Entity Linking Intelligence API foi projetada para destacar nomes e frases que denotam entidades adequadas (por exemplo, Age of Exploration) e garantem a desambiguação
  • A Academic Knowledge API realiza o preenchimento automático de palavras, encontra semelhanças nos documentos, tanto em palavras quanto em conceitos, e pesquisa padrões gráficos em documentos
  • A QnA Maker API pode ser usada para corresponder variações de perguntas com respostas para criar chatbots e aplicativos de atendimento ao cliente
  • O Custom Decision Service é uma ferramenta de aprendizagem de reforço para personalizar e classificar diferentes tipos de conteúdo (por exemplo, links, anúncios, etc.), dependendo das preferências do usuário
  • Google Cloud Job Discovery. A API ainda está no início do desenvolvimento, mas logo pode redefinir as capacidades de busca de emprego que temos hoje.

Ao contrário dos mecanismos de busca de emprego convencionais que dependem de correspondências precisas de palavras-chave, o Google emprega machine learning para encontrar conexões relevantes entre descrições de trabalho altamente variadas e evitar ambiguidade. Por exemplo, ele se esforça para reduzir retornos irrelevantes ou muito amplos, como retornar todos os trabalhos com a palavra-chave “assistente” para a consulta “assistente de vendas”. Quais são os principais recursos da API?

  • Corrigir erros de ortografia em consultas de pesquisa de emprego
  • Combinar o nível de antiguidade desejado
  • Encontrar trabalhos relevantes que possam ter expressões variadas e jargão da indústria envolvidos (por exemplo, retornar “barista” para a consulta “servidor” em vez de “especialista em rede” ou “especialista em engajamento” para a consulta “biz dev”)
  • Lidar com acrônimos (por exemplo, retornar “assistente de recursos humanos” para a consulta “RH”)
  • Correspondência de descrições de localização variadas

Assistente do Watson

A plataforma de chatbot do Watson (antiga Conversation) é bastante famosa entre os engenheiros de IA que se especializam em interfaces de conversação. A IBM fornece uma infra-estrutura completa para a criação e implementação de bots capazes de viver a conversa aproveitando a análise de intenção de entidade e usuário em mensagens.

Os engenheiros podem usar o suporte integrado do Facebook Messenger e da implantação do Slack ou criar um aplicativo cliente para executar o bot lá.

Todas as quatro plataformas descritas anteriormente fornecem documentação bastante exaustiva para dar início a experimentos de machine learning e implantar modelos treinados em uma infraestrutura corporativa. Há também uma série de outras soluções ML-as-a-Service que vêm de startups e são respeitadas por cientistas de dados, como PredicSis e BigML.

Armazenamento de dados

Encontrar o armazenamento certo para coletar dados e processá-los posteriormente com aprendizado de máquina não é mais um grande desafio, supondo que seus cientistas de dados tenham conhecimento suficiente para operar soluções de armazenamento populares.

Na maioria dos casos, o aprendizado de máquina requer esquemas de bancos de dados SQL e NoSQL, que são suportados por muitas soluções confiáveis ​​e estabelecidas, como o Hadoop Distributed File System (HDFS), o Cassandra, o Amazon S3 e o Redshift. Para organizações que usaram sistemas de armazenamento poderosos antes de embarcar no aprendizado de máquina, isso não será uma barreira. Se você planeja trabalhar com algum sistema ML-como-serviço, a maneira mais direta é escolher o mesmo provedor para armazenamento e aprendizado de máquina, pois isso reduzirá o tempo gasto na configuração de uma fonte de dados.

No entanto, algumas dessas plataformas podem ser facilmente integradas a outros armazenamentos. O Azure ML, por exemplo, integra-se principalmente a outros produtos da Microsoft (SQL do Azure, Azure Table, Azure Blob), mas também oferece suporte ao Hadoop e a algumas outras opções de fonte de dados. Isso inclui o upload direto de dados de um desktop ou servidor local. Os desafios podem surgir se o fluxo de trabalho de aprendizado de máquina for diversificado e os dados vierem de várias fontes.

Modelagem e computação

Já discutimos soluções ML como serviço que fornecem principalmente capacidades de computação. Mas se o fluxo de trabalho de aprendizado for realizado internamente, o desafio de computação ocorrerá mais cedo ou mais tarde. O machine learning na maioria dos casos requer muito poder de computação. A amostragem de dados (criação de um subconjunto com curadoria) ainda é uma prática relevante, independentemente do fato de que a era do big data chegou.

Embora a prototipagem de modelo possa ser feita em um laptop, o treinamento de um modelo complexo usando um grande conjunto de dados requer investimento em um hardware mais potente. O mesmo se aplica ao pré-processamento de dados, que pode levar dias em máquinas de escritório comuns. Em um ambiente sensível a prazos – em que, às vezes, os modelos devem ser alterados e reciclados semanalmente ou diariamente – isso simplesmente não é uma opção. Existem três abordagens viáveis ​​para lidar com o processamento, mantendo alto desempenho:

Acelerar o hardware

Se você fizer tarefas relativamente simples e não aplicar seus modelos para big data, use drives de estado sólido (SSDs) para tarefas como preparação de dados ou uso de software analítico. Operações intensivas em computação podem ser tratadas com uma ou várias unidades de processamento gráfico (GPUs). Várias bibliotecas estão disponíveis para permitir que as GPUs processem modelos escritos mesmo com linguagens de alto nível como o Python.

Considere computação distribuída

Computação distribuída implica ter várias máquinas com tarefas divididas entre elas. No entanto, essa abordagem não funcionará para todas as técnicas de aprendizado de máquina.

Use a computação em nuvem para escalabilidade

Se seus modelos processarem dados relacionados ao cliente que tenham intensos momentos de pico, os serviços de computação em nuvem permitirão uma rápida escalabilidade. Para as empresas que precisam ter seus dados apenas no local, vale a pena considerar a infraestrutura de nuvem privada.

O próximo passo

É fácil se perder na variedade de soluções disponíveis. Eles diferem em termos de algoritmos, diferem em termos de qualificações necessárias e, eventualmente, diferem em tarefas. Essa situação é bastante comum para esse mercado jovem, pois mesmo as quatro principais soluções sobre as quais falamos não são totalmente competitivas entre si. E mais do que isso, a velocidade da mudança é impressionante. Há uma grande probabilidade de você ficar com um fornecedor e, de repente, outro lançará algo inesperadamente que corresponda às suas necessidades de negócios.

O movimento certo é articular o que você planeja alcançar com o machine learning o mais cedo possível. Não é fácil. Criar uma ponte entre a ciência de dados e o valor de negócios é complicado se você não tiver ciência de dados ou conhecimento de domínio. Geralmente, é uma questão de simplificar o problema geral para um único atributo. Seja a previsão de preço ou outro valor numérico, a classe de um objeto ou a segregação de objetos em vários grupos, assim que você encontrar esse atributo, decidir o fornecedor e escolher o que é proposto será mais simples.

[Total: 1    Média: 5/5]

Deixe um comentário