A utilização de modelos treinados para inferência é uma das abordagens mais poderosas dentro do Elastic Stack, permitindo que dados novos sejam analisados e classificados com base em modelos preexistentes. Para garantir que este processo seja realizado de maneira eficaz e eficiente, o modelo treinado deve ser implantado em um nó de Machine Learning (ML), e um pipeline de ingestão precisa ser configurado para realizar a inferência.
O primeiro passo no processo de implantação de um modelo é a criação de um pipeline de inferência. Comece definindo um nome e uma descrição para o trabalho que será executado. Caso seja necessário, é possível especificar um campo alvo, embora, na maioria dos casos, as informações pré-preenchidas sejam adequadas para a configuração inicial. Ao continuar para a página de configuração do processador, geralmente é possível manter as configurações padrão para a inferência.
Na seção "Campos" do pipeline, há uma área importante de configuração, que deve ser ajustada se os documentos de entrada não possuírem os campos que o modelo espera. Depois de concluir essa parte, passe para a página de “Falhas”, onde será necessário definir como o pipeline deve reagir em caso de erro em documentos problemáticos. O padrão armazena o documento com o contexto de falha, mas podem ser adicionadas instruções customizadas de falha para realizar uma sequência específica de processadores.
Uma parte opcional, mas altamente recomendada, é o teste do pipeline. No momento da criação, o sistema oferece uma amostra de documento que pode ser utilizada para verificar o funcionamento do pipeline, permitindo que você simule a execução e observe os resultados. Após testar o pipeline, é possível revisá-lo e, se necessário, salvar a configuração para reutilizá-la em outras ocasiões ou por meio de uma chamada API no Dev Tools. Finalmente, ao clicar em "Criar Pipeline", o modelo será implantado e estará pronto para ser utilizado.
Uma vez implantado, o modelo estará disponível para ser aplicado a novos dados, realizando previsões e classificações com base no conhecimento adquirido durante o treinamento. Para facilitar o uso do modelo, uma aplicação baseada em Streamlit foi fornecida, permitindo a interação do usuário com o modelo de maneira simples e intuitiva. Através dessa aplicação, é possível inserir dados como a localização, a hora do dia, o dia da semana e a velocidade máxima, clicando em "Prever" para obter a classificação do status de tráfego com base nesses critérios.
Além de implantar modelos treinados internamente no Elastic Stack, também é possível importar e utilizar modelos de terceiros. Usando o cliente Python Eland, é possível importar modelos treinados com bibliotecas populares como scikit-learn, XGBoost e LightGBM. Esses modelos, uma vez serializados, podem ser usados para inferência no Elasticsearch, o que abre um leque ainda maior de possibilidades. Modelos de Processamento de Linguagem Natural (NLP), como os modelos de reconhecimento de entidade nomeada (NER) ou classificação de texto, também podem ser integrados e utilizados de forma eficaz no Elastic Stack.
Ao importar modelos de NLP de terceiros, como os disponibilizados no Hugging Face, você pode expandir o leque de tarefas realizadas, desde a classificação de textos até a análise mais avançada de sentimentos ou extração de informações específicas de grandes volumes de dados textuais. Para isso, será necessário instalar o cliente Eland e configurar corretamente a conexão com o Elastic Cloud, o que pode ser feito facilmente utilizando o terminal. Uma vez configurado, é possível importar o modelo desejado e integrá-lo ao seu pipeline de inferência.
Por exemplo, ao importar um modelo de NER, como o dslim/bert-base-NER disponível no Hugging Face, você pode realizar tarefas como a identificação de entidades nomeadas em textos, o que é crucial em diversos cenários, como a análise de artigos ou documentos jurídicos. Da mesma forma, ao usar modelos de classificação de texto, como o distilroberta-base-movie-genre-prediction, você pode realizar predições sobre o gênero de filmes, uma aplicação comum em sistemas de recomendação ou análise de dados de mídia.
O processo de importação e utilização de modelos externos é bem documentado e pode ser realizado com poucos comandos no terminal, após a configuração do ambiente adequado. Depois de importar o modelo, você pode usá-lo para classificar ou predizer dados em tempo real, oferecendo insights valiosos a partir de grandes volumes de dados não estruturados.
É fundamental entender que a integração de modelos de ML, sejam treinados internamente ou importados de terceiros, é apenas uma parte do ecossistema de dados do Elastic Stack. Para que o sistema funcione de maneira ideal, é importante garantir que a infraestrutura esteja adequadamente configurada para lidar com grandes volumes de dados, com atenção especial à escalabilidade e ao desempenho do sistema de inferência. A Elastic Stack é projetada para ser altamente eficiente, mas a configuração incorreta de pipelines ou o uso inadequado de recursos pode comprometer o desempenho, especialmente quando se trabalha com grandes quantidades de dados ou modelos complexos.
Além disso, a observabilidade do pipeline e dos modelos implantados é crucial. É importante monitorar constantemente o desempenho do modelo, analisando a qualidade das predições e verificando a presença de falhas no processo de inferência. Ferramentas como o Kibana e o Elastic APM podem ser utilizadas para rastrear e corrigir problemas de forma proativa, garantindo que o sistema continue funcionando com eficiência.
Como Habilitar e Configurar a Pesquisa Cross-Cluster no Elastic Stack
O uso de múltiplos clusters no Elastic Stack pode trazer desafios, mas também abre um leque de possibilidades para otimização e análise de dados distribuídos. Em particular, quando se trabalha com o Elastic Cloud e o Cross-Cluster Search (CCS), é possível integrar e gerenciar dados de clusters separados de maneira eficiente. Vamos explorar o processo detalhado para habilitar e configurar a pesquisa entre clusters, focando em um cenário de monitoramento e coleta de dados de aplicação.
Após a configuração inicial, o primeiro passo para validar o módulo Terraform e iniciar o nosso deployment no Elastic Cloud é executar os seguintes comandos no terminal: $ terraform init, $ terraform plan, $ terraform apply. Esse processo de deploy será iniciado e, em pouco tempo, você verá a mensagem de criação do recurso, como ilustrado na figura de referência.
Uma vez que o deploy está concluído, é possível verificar o status do novo deployment no console do Elastic Cloud acessando https://cloud.elastic.co. A partir deste momento, ambos os clusters devem estar operacionais. Para garantir que a comunicação entre eles ocorra sem problemas, devemos registrar o ID da organização do Elastic Cloud, um valor essencial que será utilizado nas próximas etapas. Para isso, clique no ícone do usuário no canto superior direito do console do Elastic Cloud, selecione "Organization" no menu suspenso e anote o ID mostrado na tela.
Agora, o próximo passo é estabelecer uma relação de confiança entre os clusters. Para isso, retorne à página inicial do console e clique sobre o nome do novo deployment, “new-team-deployment”. Navegue até a seção de "Security" no menu lateral e, na subseção "Remote Connections", clique em “Add trusted environment”. Na tela seguinte, selecione “Elastic Cloud” e continue clicando em “Next”. Na próxima etapa, escolha “Certificates” e, ao final, insira o Organization ID anotado anteriormente.
Em seguida, será necessário selecionar "Specific deployments" e localizar o deployment principal, caso necessário, por meio da barra de pesquisa. Selecione-o e, ao clicar em "Create trust", a página de confirmação indicará que a relação de confiança foi estabelecida com sucesso. Nessa tela, será possível copiar o "Proxy address" – a URL que servirá para a conexão com o cluster principal. Essa URL deve ser registrada para ser utilizada posteriormente.
Com a confiança entre os clusters configurada, o próximo passo é abrir o Kibana do cluster principal e navegar até “Stack Management” > “Remote Clusters”, onde você deverá adicionar um novo cluster remoto. No formulário de configuração, insira o nome “new-team-deployment” e preencha o campo de URL com o endereço do Proxy copiado anteriormente. Após clicar em "Next", finalize a configuração e valide a criação do cluster remoto.
A partir de agora, você pode validar a configuração verificando se o cluster remoto está listado como "Conectado". Nesse estágio, ambos os clusters estão configurados e prontos para a transferência de dados. Para testar a configuração, podemos integrar dados de monitoramento de usuários reais (RUM) do exemplo da aplicação Elastiflix, como descrito no capítulo 10. Redirecione os dados de Application Traces e RUM para o cluster remoto e verifique se os dados aparecem corretamente no Kibana do cluster remoto.
Agora, configuramos os índices APM do cluster principal para que possamos inspecionar simultaneamente os traces de aplicação tanto do cluster principal quanto do cluster remoto. A configuração desses índices pode ser feita em “Observability” > “APM” no Kibana, onde você definirá novos índices para cada tipo de dado, como logs, traces e transações. Um detalhe importante é que, em vez de listar explicitamente o prefixo do cluster remoto, você pode usar um curinga, como *:apm-*, para incluir todos os clusters confiáveis.
Por fim, em “Observability” > “APM” > “Services”, você verá que agora é possível acessar os serviços do Elastiflix através do CCS, assim como o acesso aos traces do OpenTelemetry Demo. Esse processo de integração permite que você interaja com os serviços remotos como se fossem locais, proporcionando a criação de tarefas de detecção de anomalias para latências dos serviços. Essa abordagem possibilita que, com um único painel, você tenha uma visão consolidada de ambos os clusters.
Com a configuração do CCS, conseguimos não apenas integrar dados de diferentes clusters, mas também otimizar a análise de informações coletadas. O CCS oferece a capacidade de agregar resultados de busca de múltiplos clusters, melhorando a eficiência e facilitando a gestão de dados em cenários de multi-tenancy, onde a privacidade e a segurança são essenciais. Além disso, permite aumentar a eficiência dos recursos, executando buscas avançadas em grandes volumes de dados através de clusters menores, e também pode ser uma ferramenta útil para integração de clusters após fusões ou aquisições.
O Elastic Stack oferece uma vasta gama de recursos e funcionalidades para quem busca um monitoramento robusto e escalável. Com o CCS, essa flexibilidade se estende a uma gestão de dados ainda mais poderosa e simplificada, permitindo que equipes de operação lidem com grandes volumes de dados distribuídos de forma mais inteligente e ágil.
Como os Raios Gamma de 60Co Afetam o Cristal de CZT: Características e Modelos de Desempenho
Como o desafio à democracia americana revela riscos contemporâneos de autoritarismo
Como a Busca Avançada e a Web Semântica Estão Moldando o Futuro da Navegação Online
Como Implementar Limitação de Taxa e Tarefas em Segundo Plano Usando FastAPI e Redis

Deutsch
Francais
Nederlands
Svenska
Norsk
Dansk
Suomi
Espanol
Italiano
Portugues
Magyar
Polski
Cestina
Русский