Couchbase Capella

Aprimore os aplicativos de aprendizado de máquina (ML) com o Couchbase

Considere este cenário: você é desenvolvedor em uma empresa de fintech e um de seus usuários é notificado para perguntar se autorizou uma transação internacional de $1.000. Em vez de ficar alarmado, o usuário clica na opção "Não", com a garantia de que sua empresa cuidará do resto.

Nos bastidores, seu aplicativo de IA para prevenção de fraudes bloqueou a compra antes da resposta, só permitindo que ela fosse adiante se o usuário selecionasse "Sim". O sistema de detecção de fraudes age rapidamente, muito rapidamente. Ele analisa a transação e prevê se ela é ou não fraudulenta com razoável precisão em menos de 50 ms.

Para fazer previsões rápidas e precisas, seu sistema requer um banco de dados na memória de alto desempenho, como o Couchbase, que armazena, recupera e fornece dados como recursos de ML, perfis, dados operacionais e outras informações contextuais. Velocidade e flexibilidade como essas são a razão pela qual as principais empresas de fintech escolheram o Couchbase.

A Revolut, por exemplo, tem criou seu aplicativo de prevenção de fraudes para atender aos seus mais de 12 milhões de usuários. Embora a detecção de fraudes em tempo real seja um caso de uso popular entre os clientes do Couchbase, vemos os clientes aproveitarem o Couchbase para outros casos de uso de alta velocidade, como ETA de motoristas, detecção de anomalias, preços dinâmicos, previsões, promoções personalizadas e muito mais. O Couchbase Capella é uma plataforma de banco de dados como serviço (DBaaS) que simplifica o desenvolvimento de aplicativos de IA e reduz a sobrecarga operacional associada ao gerenciamento de dados.

A função de um armazenamento de recursos

Os algoritmos de ML não entendem os dados brutos, portanto, eles devem ser pré-processados (usando uma técnica chamada engenharia de recursos) e transformados em recursos. Os recursos de ML são os campos mais relevantes de um conjunto de dados para resolver um problema de previsão, como a detecção de fraudes. Um armazenamento de recursos, tanto on-line quanto off-line (falaremos mais sobre isso em breve), permite o armazenamento, a reutilização e o acesso seguro aos recursos.

Os desenvolvedores de ML gastam cerca de 75-80% de seu tempo na engenharia de recursos. Para reduzir a repetição desse esforço todas as vezes para o treinamento de modelos, os desenvolvedores usam um armazenamento de recursos para simplificar suas operações de ML. O armazenamento de recursos on-line é usado durante a análise preditiva, ou inferência, para o fornecimento de baixa latência de recursos de AM aos modelos de AM. Antes disso, o modelo de AM precisa ser treinado, o que é feito com o armazenamento de recursos off-line. Ele é usado para armazenar e gerenciar recursos, que são criados durante o estágio de engenharia de recursos.

Vários clientes do Couchbase usam o Apache Spark para trabalhos de engenharia de recursos devido ao seu enorme ecossistema de bibliotecas Python ML para transformações e seus recursos de MPP (processamento massivamente paralelo).

Para acelerar o desenvolvimento de aplicativos de ML, anunciamos recentemente alguns blocos de construção que permitem que você aproveite o Capella como um armazenamento de recursos on-line e off-line em uma plataforma unificada:

    1. Plug-ins do Feast para aproveitar o Couchbase em aplicativos de ML. Feast (abreviação de Loja de recursos) é um armazenamento de recursos de código aberto simples de usar e independente da nuvem. Muitos clientes, como a Revolut, já confiam no Capella como um armazenamento de recursos on-line. Capella Columnar oferece os recursos de análise necessários para uma loja de recursos off-line.
    2. O conector PySpark para Capella acelera a engenharia de recursos combinando os recursos de processamento massivamente paralelo do Spark com os recursos de análise do Capella Columnar. Os trabalhos de engenharia de recursos envolvem o processamento de colunas relevantes em vez de linhas inteiras e, portanto, podem ser acelerados com o uso de um banco de dados colunar como o Capella Columnar.

Plug-ins do Feast para o Couchbase

Festa foi adotado por uma grande variedade de organizações em diferentes setores, incluindo varejo, mídia, viagens e serviços financeiros. Os plug-ins do Feast para o Couchbase estão disponíveis no projeto Feast. As lojas de recursos on-line e off-line do Feast, apoiadas pela Capella, oferecem os seguintes benefícios:

    • Disponibiliza recursos da Capella para treinamento e atendimento, de modo que a distorção entre treinamento e atendimento seja minimizada
    • Evita o vazamento de dados ao gerar conjuntos de recursos corretos em um momento específico para que os cientistas de dados possam se concentrar na engenharia de recursos em vez de depurar a lógica de união de conjuntos de dados propensos a erros. Isso garante que os valores futuros dos recursos não vazem para os modelos durante o treinamento.
    • Desacopla o ML da infraestrutura de dados, fornecendo uma única camada de acesso a dados que abstrai o armazenamento de recursos da recuperação de recursos. Isso garante que os modelos permaneçam portáteis à medida que você passa de modelos de treinamento para modelos de serviço, de modelos em lote para modelos em tempo real e de um sistema de infraestrutura de dados para outro.
    • Registra recursos de streaming no armazenamento de recursos
    • Armazena metadados relacionados a recursos para facilitar a descoberta de recursos no registro de recursos.
    • Valida os dados para garantir a qualidade dos dados
    • Oferece suporte à transformação
    • Versões de recursos para vincular valores de recursos a versões de modelos
    • Suporta o Spark para ingestão e sincronização de lojas off-line e on-line

Conector PySpark para Couchbase

Com seu enorme ecossistema de bibliotecas Python ML e recursos de processamento massivamente paralelo, o Apache Spark é inigualável para a engenharia de recursos. O conector PySpark para Columnar permite que você aproveite o formato Columnar para suas consultas de dados, acelerando os trabalhos de treinamento.

Por outro lado, o conector PySpark para o Operational permite o fornecimento de recursos de baixa latência para modelos de ML, acelerando a inferência necessária para aplicativos como a detecção de fraudes em tempo real.

Esta é a visão conceitual de como você poderia desenvolver um aplicativo de ML usando o Capella:

ML workflows with Couchbase as a feature store

Figura 1 - Visão conceitual de um pipeline de ML que alimenta um aplicativo de detecção de fraude

Pipeline de treinamento

Etapa 1: Ingerir dados brutos do Capella (por exemplo, histórico de pagamentos) e outras fontes de dados no Spark para engenharia de recursos usando os respectivos conectores. O conector PySpark permite que você consulte dados no Capella e, ao mesmo tempo, oferece suporte a otimizações, como pushdowns de predicados etc.

Etapa 2: Armazene os recursos que você criou no armazenamento off-line (Capella Columnar) por meio das APIs do Feast e atualize-os conforme necessário por meio do conector PySpark. O formato columnar ajuda a acelerar o trabalho de engenharia de recursos quando comparado aos formatos baseados em linhas.

Etapa 3: Mova os dados do Capella Columnar para a plataforma de ML, como o AWS SageMaker, usando o S3 para preparação. Você pode usar a instrução COPY TO do SQL++ para mover facilmente os dados para o S3.

Etapa 4: Crie um endpoint de modelo para inferência que o aplicativo de detecção de fraude possa invocar.

Pipeline de inferência

Etapa 1: Sincronize os dados do armazenamento de recursos off-line para o on-line usando Provedor AirFlow para Couchbase para que as transações recebidas possam ser processadas para detecção de fraudes.

Etapa 2: No aplicativo, aumente a transação de entrada da fonte de transação com as informações do armazenamento de dados on-line e envie-as para o endpoint de inferência para previsões.

Etapa 3:  Após a previsão, armazene os rótulos junto com os registros associados no armazenamento operacional do Capella para que você possa usá-los para fins de auditoria ou treinamento.

Comece a usar o Capella

Use os blocos de construção abaixo para começar a desenvolver seu aplicativo de ML com a Capella:

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Kiran Matty, gerente líder de produtos de IA/ML

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.