Comece a usar o Amazon Machine Learning

Crie uma conta gratuita

Receba doze meses de acesso ao nível gratuito da AWS e aproveite os recursos do AWS Basic Support, como atendimento ao cliente 24x7x365 e fóruns de suporte, entre outros recursos.

Note que o Amazon Machine Learning não está disponível no momento no nível gratuito da AWS.

P: O que é o Amazon Machine Learning?

O Amazon Machine Learning é um serviço de máquina que permite criar facilmente aplicações preditivas, incluindo detecção de fraudes, previsão de demanda e previsão de clicks. O Amazon Machine Learning usa algoritmos poderosos que podem ajudar a criar modelos de aprendizagem de máquina, identificando padrões em dados existentes e usando esses padrões para fazer previsões com base em novos dados à medida que são disponibilizados. O Console de Gerenciamento da AWS e a API oferecem ferramentas de visualização de dados e modelos, bem como assistentes para orientação durante o processo de criação de modelos de aprendizagem de máquina, medição de sua qualidade e ajuste fino das previsões para cumprir os requisitos da aplicação. Após a criação dos modelos, você pode obter previsões para a sua aplicação usando a API simples, sem necessidade de implantar código personalizado de geração de previsões ou de gerenciar uma infraestrutura. O Amazon Machine Learning é altamente escalável e pode gerar bilhões de previsões, fornecendo-as em tempo real com alta taxa de transferência. O Amazon Machine Learning não tem custo inicial e você paga conforme o uso, o que permite iniciar em pequena escala e aumentar a escala conforme o crescimento da aplicação.

P: O que posso fazer com o Amazon Machine Learning?

Você pode usar o Amazon Machine Learning para criar uma grande variedade de aplicações preditivas. Por exemplo, é possível usar o Amazon Machine Learning para ajudar a criar aplicações que identificam transações suspeitas, detectam pedidos fraudulentos, estimam a demanda, personalizam o contexto, preveem atividades de usuário, filtram avaliações, ouvem mídia social, analisam texto livre e recomendam itens.

P: O que é aprendizagem de máquina?

A aprendizagem de máquina (ML) é uma tecnologia que ajuda a usar dados históricos para tomar decisões de negócios bem fundamentadas. Os algoritmos de ML descobrem padrões em dados e criam modelos matemáticos usando esses padrões. Esses modelos podem ser usados para fazer previsões com base em dados futuros. Por exemplo, uma possível aplicação da aprendizagem de máquina é detectar transações fraudulentas com base em exemplos de compras anteriores concluídas com êxito ou canceladas por falha.

P: Como faço para começar a usar o Amazon Machine Learning?

A melhor maneira de começar a usar o Amazon Machine Learning é seguir o tutorial no Amazon Machine Learning Developer Guide. O tutorial oferece orientação para a criação de um modelo de aprendizagem de máquina, começando com um exemplo de conjunto de dados, avaliando o modelo e usando-o para criar previsões. Após concluir o tutorial, você pode usar o Amazon Machine Learning para criar seus próprios modelos do ML. Para obter mais informações, consulte o Amazon Machine Learning Developer Guide e a referência de APIs do Amazon Machine Learning.

P: O que são dados de treinamento?

Os dados de treinamento são usados para criar modelos de aprendizagem de máquina, e consistem em pontos de dados conhecidos do passado. Você pode usar o Amazon Machine Learning para extrair padrões desses dados e usá-los para criar modelos de aprendizagem de máquina.

P: O que é o atributo de destino?

O atributo de destino é um atributo especial nos dados de treinamento que contém as informações que o Amazon Machine Learning tenta prever. Por exemplo, vamos supor que você quer criar um modelo para prever se uma transação é fraudulenta ou não. Os seus dados de treinamento contêm metadados de uma transação passada que têm um atributo de destino "1" se a transação foi recusada pelo banco e "0" para os outros casos. Você usa o Amazon Machine Learning para descobrir padrões que conectam o atributo de destino com os metadados de transação (todos os outros atributos). Os modelos de ML baseados nesses padrões são usados para fazer uma previsão sem a presença do atributo de destino. Neste exemplo, isso significa prever se uma transação é fraudulenta com base em seus metadados antes de saber se o banco rejeitará a transação ou não.

P: Qual é o algoritmo usado pelo Amazon Machine Learning para gerar modelos?

No momento, o Amazon Machine Learning usa um algoritmo de regressão logística padrão do setor para gerar os modelos.

P: Em que regiões da AWS o Amazon Machine Learning está disponível?

Para ver uma lista das regiões da AWS suportadas pelo Amazon Machine Learning, visite a Tabela de regiões da AWS para toda a infraestrutura global da AWS.  Para obter mais informações, consulte Regions and Endpoints em AWS General Reference.

P: Qual a disponibilidade dos serviços do Amazon Machine Learning?

O Amazon Machine Learning foi projetado para oferecer alta disponibilidade. Não há janelas de manutenção nem tempos de inatividade programados. A API para treinamento de modelos, avaliação e execuções de previsões em lotes é executada nos datacenters comprovados e de alta disponibilidade da Amazon, com replicação da pilha de serviços configurada em três unidades em cada região da AWS para proporcionar tolerância a falhas em caso de falha de servidor ou interrupção de zona de disponibilidade.

P: Quais as medidas de segurança implementadas no Amazon Machine Learning?

O Amazon Machine Learning garante que modelos de ML e outros artefatos do sistema sejam criptografados quando em trânsito e quando ociosos. As solicitações para a API e o console do Amazon Machine Learning são efetuadas em uma conexão segura (SSL). Você pode usar o AWS Identity and Access Management (AWS IAM) para controlar quais usuários do IAM têm acesso a ações e recursos específicos do Amazon Machine Learning.

Voltar ao início >>

P: Onde armazeno meus dados?

Você pode usar o Amazon Machine Learning para ler dados de três armazenamentos de dados: (a) um ou mais arquivos no Amazon S3, (b) resultados de uma consulta do Amazon Redshift ou (c) resultados de uma consulta do Amazon Relational Database Service (RDS) executada em um banco de dados que executa o mecanismo do MySQL. Normalmente, dados de outros produtos podem ser exportados para arquivos CSV no Amazon S3, disponibilizando-os para acesso ao Amazon Machine Learning. Para obter instruções detalhadas sobre como configurar permissões para que o Amazon Machine Learning possa acessar dados nos armazenamentos de dados compatíveis, consulte o Amazon Machine Learning Developer Guide.

P: Há limite para o tamanho do conjunto de dados que posso usar para treinamento?

O Amazon Machine Learning pode treinar modelos em conjuntos de dados com tamanho de até 100 GB.

P: Como posso saber se os dados têm erros?

Você pode usar o Amazon Machine Learning para detectar erros de formatação de dados. O recurso de percepções de dados do console do serviço do Amazon Machine Learning ajuda a encontrar erros mais complexos em seus dados (por exemplo, campos vazios ou que contêm valores inesperados). O Amazon Machine Learning pode treinar modelos de ML e gerar previsões precisas na presença de um pequeno número dos dois tipos de erros de dados, possibilitando que suas solicitações sejam atendidas mesmo que algumas observações de dados estejam inválidas ou incorretas.

P: O que eu faço se os dados estão incompletos ou se algumas informações estão ausentes?

É sempre melhor garantir que seus dados sejam os mais completos e precisos quanto possível. Os algoritmos de aprendizagem do Amazon Machine Learning toleram pequenas quantidades de informações incompletas ou ausentes sem prejudicar a qualidade do modelo. À medida que o número de erros cresce, a qualidade do modelo será degradada. O Amazon Machine Learning interromperá o processamento da solicitação de treinamento de modelo se o número de registros que falharem no processamento for superior a 10.000 ou a 10% de todos os registros no conjunto de dados, o que ocorrer primeiro.

Para corrigir informações incompletas ou ausentes, você precisa voltar à origem de dados mestre e corrigir os dados nessa origem ou excluir as observações com informações incompletas ou ausentes dos conjuntos de dados usados para treinar os modelos do Amazon Machine Learning. Por exemplo, se você constata que algumas linhas de uma tabela do Amazon Redshift contêm valores inválidos, pode modificar a consulta usada para selecionar dados para o Amazon Machine Learning para excluir essas linhas.

P: Como posso saber se o meu modelo está fornecendo previsões precisas?

O Amazon Machine Learning inclui recursos completos de avaliação de modelos. É possível usar o Amazon Machine Learning para calcular uma métrica de avaliação padrão do setor para qualquer um dos modelos, ajudando a entender a sua qualidade preditiva. Além disso, você pode usar o Amazon Machine Learning para garantir que a avaliação do modelo seja imparcial optando por reter uma parte dos dados de treinamento para avaliação, assegurando que o modelo nunca seja avaliado com pontos de dados que já foram vistos no momento do treinamento. O console do serviço do Amazon Machine Learning oferece ferramentas completas e fáceis de usar para explorar e compreender os resultados das avaliações do modelo.

P: Como ajusto o modelo caso ele não forneça os resultados desejados?

A melhor maneira de aumentar a qualidade de um modelo é usar mais dados de melhor qualidade para treiná-lo. A adição de mais observações e de tipos de informação (recursos), bem como a transformação dos dados para otimizar o processo de aprendizagem (engenharia de recursos) são formas excelentes de aprimorar a precisão preditiva do modelo. Você pode usar o Amazon Machine Learning para criar vários protótipos de modelos e usar os processadores de dados incorporados do Amazon Machine Learning para que vários tipos comuns de engenharia de recursos sejam tão simples quanto editar uma linha na "receita" incorporada do idioma. Além disso, o Amazon Machine Learning pode criar automaticamente uma receita sugerida de transformação de dados de acordo com os dados quando você cria um novo objeto de origem de dados que aponta para os seus dados. Essa receita será otimizada automaticamente de acordo com o conteúdo dos dados.

O Amazon Machine Learning também oferece diversos parâmetros para ajustar o processo de aprendizagem: (a) tamanho pretendido do modelo, (b) o número de passagens pelos dados e (c) o tipo e a quantidade de regularização a serem aplicados ao modelo. As configurações padrão do Amazon Machine Learning funcionam bem para várias tarefas de ML do mundo real, mas podem ser ajustadas conforme necessário usando o console ou a API do serviço.

Por fim, um aspecto importante do ajuste de modelos é considerar como as previsões geradas pelo modelo de ML são interpretadas pela aplicação, o que permite alinhá-los de forma ideal aos objetivos de negócios. O Amazon Machine Learning ajuda a ajustar a pontuação de corte de interpretação para modelos de classificação binária, permitindo a escolha de um equilíbrio bem fundamentado entre os diferentes tipos de erros que um modelo treinado pode cometer. Por exemplo, algumas aplicações têm alto grau de tolerância de erros do tipo falso positivo, mas erros do tipo falso negativo são altamente indesejáveis. O console do serviço do Amazon Machine Learning ajuda a ajustar a pontuação de corte para manter o alinhamento com esse requisito. Para obter mais informações, consulte Evaluating ML Models no Amazon Machine Learning Developer Guide.

P: Posso exportar os modelos para fora do Amazon Machine Learning?

Não.

P: Posso importar modelos para o Amazon Machine Learning?

Não.

P: O Amazon Machine Learning precisa fazer uma cópia permanente dos dados para criar modelos de aprendizagem de máquina?

Não. O Amazon Machine Learning precisa apenas de acesso de leitura aos dados para encontrar e extrair os padrões e armazená-los em modelos de ML. Os modelos de ML não são cópias dos dados. No acesso a dados armazenados no Amazon Redshift ou no Amazon RDS, o Amazon Machine Learning exportará os resultados da consulta para um local do S3 à sua escolha, e lerá esses resultados no S3. Você mantém total propriedade sobre essa cópia temporária de dados e poderá removê-los após a conclusão da operação do Amazon Machine Learning.

Voltar ao início >>

P: Quando meu modelo estiver pronto, como obtenho previsões para as aplicações?

Você pode usar o Amazon Machine Learning para recuperar previsões de duas formas: usando a API em lotes ou a API em tempo real. A API em lotes é usada para solicitar previsões para um grande número de registros de dados de entrada. A API funciona off-line e retorna todas as previsões de uma vez. A API em tempo real é usada para solicitar previsões para registros de dados de entrada individuais e retorna as previsões imediatamente. A API em tempo real pode ser usada com alta taxa de transferência, gerando várias previsões ao mesmo tempo em resposta a solicitações em paralelo.

Qualquer modelo de ML criado com o Amazon Machine Learning pode ser usado por meio da API em lotes ou da API em tempo real. A escolha é sua e depende apenas dos requisitos da aplicação. Normalmente, a API em lotes é usada para aplicações que operam em grandes volumes de registros de dados e a API em tempo real é usada para aplicações interativas na web, em dispositivos móveis e em desktops.

P: Qual é a velocidade de geração de previsões da API em tempo real do Amazon Machine Learning?

A maioria das solicitações de previsão em tempo real recebe uma resposta dentro de 100 ms, rapidez suficiente para aplicações interativas na web, em dispositivos móveis e em desktops. O tempo exato necessário para que a API em tempo real gere uma previsão varia de acordo com o tamanho do registro de dados de entrada e da complexidade da "receita" de processamento de dados associada ao modelo de ML que gera as previsões.

P: Quantas solicitações de API em tempo real simultâneas o Amazon Machine Learning consegue processar?

Um URL de endpoint é atribuído a cada modelo de ML ativado para previsões em tempo real. Por padrão, você pode solicitar até 200 transações por segundo (TPS) em qualquer endpoint de previsão em tempo real. Entre em contato com o suporte técnico se esse limite não for suficiente para as necessidades da sua aplicação.

P: Com que velocidade o Amazon Machine Learning retorna previsões em lotes?

A API de previsão em lotes é rápida e eficiente. O tempo necessário para retornar os resultados da previsão em lotes depende de diversos fatores, incluindo (a) o tamanho dos dados de entrada, (b) a complexidade da "receita" de processamento de dados associada ao modelo de ML que gera as previsões e (c) o número de outros trabalhos em lotes (processamento de dados, treinamento de modelos, avaliação e outras solicitações de processamento em lote) executados simultaneamente em sua conta, entre outros. Por padrão, o Amazon Machine Learning executa até cinco trabalhos em lotes simultaneamente. Entre em contato com o atendimento ao cliente se esse limite não é suficiente para as necessidades da sua aplicação.

P: Como posso monitorar o desempenho das previsões?

O monitoramento do desempenho das previsões ocorre de duas formas principais: (a) monitoramento do volume de tráfego de previsões em lotes e em tempo real e (b) monitoramento da qualidade dos modelos preditivos.

Você pode monitorar o volume do tráfego preditivo consultando as métricas do Amazon CloudWatch publicadas pelo Amazon Machine Learning na sua conta do CloudWatch. Para cada ID de modelo de ML que recebeu previsões em lotes ou em tempo real durante o período de monitoramento, o Amazon Machine Learning publica o número de registros de dados para os quais as previsões foram geradas com êxito e o número de registros de ML que falharam na análise e não geraram previsão.

Para monitorar a qualidade do modelo de ML ao longo do tempo, uma melhor prática do setor é capturar regularmente uma amostra randômica dos registros de dados enviados pela aplicação para previsão, obter respostas verdadeiras (também denominadas "alvos") e usar o Amazon Machine Learning para criar uma avaliação do conjunto de dados resultante. O Amazon Machine Learning calculará uma métrica de qualidade de modelo comparando os alvos com as previsões geradas. Se a qualidade das métricas decresce com o tempo, isso provavelmente indica que você precisa treinar um novo modelo com novos pontos de dados, pois os dados usados originalmente para treinar o modelo não correspondem mais ao mundo real. Por exemplo, se você usa o modelo de ML para detectar transações fraudulentas, pode constatar que a qualidade cai ao longo do tempo pois métodos recentes de fraude de transações eram desconhecidos quando o modelo foi treinado. Você pode combater essa tendência treinando um novo modelo de ML, com exemplos das transações fraudulentas mais recentes, permitindo que o Amazon Machine Learning descubra os padrões que identificam essas transações, entre outras.

Voltar ao início >>