Projeto Open Data Hub - Uma plataforma aberta de aprendizado de máquina baseada no Red Hat OpenShift

O futuro chegou, as tecnologias de inteligência artificial e aprendizado de máquina já são usadas com sucesso por suas lojas favoritas, empresas de transporte e até fazendas que cultivam perus.



E se algo existe, na Internet já existe ... um projeto aberto! Veja como o Open Data Hub ajuda a dimensionar novas tecnologias e evitar as dificuldades de implementá-las.

Com todos os benefícios da inteligência artificial (IA) e do aprendizado de máquina (ML), as organizações geralmente têm dificuldade em dimensionar essas tecnologias. Os principais problemas com isso, como regra, são os seguintes:

  • Intercâmbio e cooperação de informações - é quase impossível trocar informações sem esforços desnecessários e cooperar no modo de iteração rápida.
  • Acesso aos dados - para cada tarefa, ela precisa ser criada novamente e manualmente, o que consome tempo.
  • Acesso sob demanda - não há como obter acesso sob demanda às ferramentas e plataformas de aprendizado de máquina, bem como à infraestrutura de computação.
  • Produção - os modelos permanecem no estágio de protótipo e não são levados à exploração industrial.
  • Rastrear e explicar os resultados da IA - a reprodutibilidade, o rastreamento e a explicação dos resultados da IA ​​/ ML são difíceis.

Sem solução, esses problemas afetam negativamente a velocidade, a eficiência e a produtividade de especialistas em análise e processamento de dados valiosos. Isso leva à sua frustração, decepção no trabalho e, como resultado, as expectativas dos negócios em relação à IA / ML são inúteis.

A responsabilidade pela solução desses problemas cabe aos profissionais de TI que precisam fornecer analistas de dados - certo, algo como uma nuvem. Se for mais desenvolvido, precisamos de uma plataforma que ofereça liberdade de escolha e tenha acesso fácil e conveniente. Ao mesmo tempo, é rápido, facilmente reconfigurável, escalável sob demanda e resistente a falhas. Construir essa plataforma com base em tecnologias de código aberto ajuda a não se tornar dependente do fornecedor e a manter uma vantagem estratégica de longo prazo em termos de controle de custos.

Alguns anos atrás, algo semelhante aconteceu no desenvolvimento de aplicativos e levou ao surgimento de microsserviços, ambientes de nuvem híbrida, automação de TI e processos ágeis. Para lidar com tudo isso, os profissionais de TI começaram a usar contêineres, Kubernetes e nuvens híbridas abertas.

Agora, essa experiência está sendo aplicada para responder aos desafios de Al. Portanto, os profissionais de TI criam plataformas baseadas em contêineres, permitem a criação de serviços de IA / ML como parte de processos ágeis, aceleram a inovação e são construídas de olho em uma nuvem híbrida.



Começaremos a construir essa plataforma com o Red Hat OpenShift, nossa plataforma Kubernetes de contêineres para uma nuvem híbrida que possui um ecossistema em rápido crescimento de soluções ML de software e hardware (NVIDIA, H2O.ai, Starburst, PerceptiLabs etc.). Alguns clientes da Red Hat, como o BMW Group, ExxonMobil e outros, já implantaram cadeias de ferramentas ML em contêineres e processos DevOps com base nessa plataforma e em seu ecossistema para levar suas arquiteturas ML à operação comercial e acelerar o trabalho dos analistas de dados.

Outro motivo pelo qual lançamos o projeto Open Data Hub é demonstrar um exemplo de arquitetura com base em vários projetos de código aberto e mostrar como implementar todo o ciclo de vida de uma solução de ML baseada na plataforma OpenShift.

Projeto Open Data Hub


Este é um projeto de código aberto que se desenvolve dentro da estrutura da comunidade de desenvolvimento correspondente e implementa um ciclo completo de operações - do carregamento e conversão de dados iniciais à formação, treinamento e manutenção do modelo - ao resolver tarefas de AI / ML usando contêineres e Kubernetes na plataforma OpenShift. Este projeto pode ser considerado como uma implementação de referência, um exemplo de como criar uma solução aberta de IA / ML como serviço com base no OpenShift e ferramentas de código aberto relacionadas, como Tensorflow, JupyterHub, Spark e outras. É importante observar que o próprio Red Hat usa esse projeto para fornecer seus serviços de IA / ML. Além disso, o OpenShift se integra às principais soluções ML de software e hardware da NVIDIA, Seldon, Starbust e outros fornecedores, o que facilita a construção e o lançamento de seus próprios sistemas de aprendizado de máquina.



O projeto Open Data Hub concentra-se nas seguintes categorias de usuários e casos de uso:

  • Um analista de dados que precisa de uma solução para implementar projetos de ML, organizado pelo tipo de nuvem com funções de autoatendimento.
  • Um analista de dados que precisa da seleção máxima da ampla variedade das mais recentes ferramentas e plataformas de IA / ML de código aberto.
  • Um analista de dados que precisa acessar fontes de dados ao treinar modelos.
  • Analista de dados que precisa acessar recursos de computação (CPU, GPU, memória).
  • Date é um analista que precisa da oportunidade de colaborar e compartilhar os resultados do trabalho com colegas, receber feedback e introduzir melhorias usando o método de iteração rápida.
  • Um analista de dados que deseja interagir com desenvolvedores (e equipes de devops) para que seus modelos de ML e resultados de trabalho entrem em produção.
  • Um engenheiro de dados que precisa fornecer à análise de dados acesso a uma variedade de fontes de dados, em conformidade com os padrões e requisitos de segurança.
  • Um administrador / operador de sistemas de TI que precisa da capacidade de controlar facilmente o ciclo de vida (instalação, configuração, atualização) de componentes e tecnologias de código aberto. Também precisamos de ferramentas apropriadas de gerenciamento e cota.

O projeto Open Data Hub combina várias ferramentas de código aberto para implementar uma operação completa de AI / ML. O Jupyter Notebook é usado aqui como a principal ferramenta de trabalho para análise de dados. Agora, este kit de ferramentas é popular entre os profissionais de processamento e análise de dados, e o Open Data Hub permite que eles criem e gerenciem facilmente os espaços de trabalho do Jupyter Notebook usando o JupyterHub embutido. Além de criar e importar notebooks Jupyter, o projeto Open Data Hub também contém vários notebooks prontos na forma de AI Library.

Esta biblioteca é uma coleção de componentes de aprendizado de máquina de código-fonte aberto e soluções de exemplo de script que simplificam a criação rápida de protótipos. O JupyterHub é integrado ao modelo de acesso OpenShift RBAC, que permite usar as contas existentes do OpenShift e implementar o logon único. Além disso, o JupyterHub oferece uma interface de usuário conveniente chamada spawner, com a qual o usuário pode configurar facilmente a quantidade de recursos de computação (núcleos do processador, memória, GPU) para o Jupyter Notebook selecionado.

Depois que o analista de dados cria e configura o laptop, o agendador Kubernetes, que faz parte do OpenShift, cuida do resto. Os usuários só podem realizar seus experimentos, salvar e compartilhar os resultados de seus trabalhos. Além disso, usuários avançados podem acessar diretamente o shell da OpenShift CLI diretamente dos notebooks Jupyter para ativar as primitivas do Kubernetes, como Job, ou a funcionalidade OpenShift, como Tekton ou Knative. Ou você pode usar a conveniente GUI do OpenShift, chamada de “Console da Web do OpenShift” para isso.





Passando para a próxima etapa, o Open Data Hub oferece a capacidade de gerenciar pipelines de dados. Para isso, é usado um objeto Ceph, que é fornecido como um data warehouse de objeto compatível com S3. O Apache Spark transmite dados de fontes externas ou do armazenamento interno Ceph S3 e também permite realizar conversões preliminares de dados. O Apache Kafka fornece gerenciamento avançado de pipelines de dados (onde você pode executar vários downloads, bem como operações de transformação, análise e armazenamento de dados).

Assim, o analista de dados teve acesso aos dados e construiu um modelo. Agora ele deseja compartilhar os resultados com colegas ou desenvolvedores de aplicativos e fornecer a eles seu modelo de princípios de serviço. Para fazer isso, você precisa de um servidor de saída, e o Open Data Hub possui um servidor, chamado Seldon, que permite publicar o modelo como um serviço RESTful.

Em algum momento, existem vários modelos no servidor Seldon e é necessário monitorar como eles são usados. Para fazer isso, o Open Data Hub oferece uma coleção de métricas relevantes e um mecanismo de relatório com base nas ferramentas de monitoramento de código aberto amplamente usadas Prometheus e Grafana. Como resultado, obtemos feedback para monitorar o uso de modelos de IA, principalmente no ambiente de produção.



Assim, o Open Data Hub fornece uma abordagem semelhante à nuvem durante todo o ciclo de operação de IA / ML, desde o acesso e a preparação de dados até o treinamento e a operação industrial do modelo.

Juntando tudo


Agora, a questão é como organizar isso para o administrador do OpenShift. E aqui vem o operador especial do Kubernetes para projetos do Open Data Hub.



Esse operador gerencia a instalação, configuração e ciclo de vida do projeto Open Data Hub, incluindo a implantação de ferramentas como JupyterHub, Ceph, Spark, Kafka, Seldon, Prometheus e Grafana. O projeto Open Data Hub pode ser encontrado no console da web OpenShift, na seção de operadores da comunidade. Assim, o administrador do OpenShift pode especificar que os projetos correspondentes do OpenShift sejam categorizados como o “Projeto Open Data Hub”. Isso é feito uma vez. Depois disso, o analista de dados através do console da Web OpenShift entra no espaço do projeto e vê que o operador Kubernetes correspondente está instalado e disponível para seus projetos. Ele então cria uma instância do projeto Open Data Hub com um clique e acessa imediatamente as ferramentas descritas acima. E tudo isso pode ser configurado no modo de alta disponibilidade e tolerância a falhas.



Se você quiser experimentar o projeto Open Data Hub com suas próprias mãos, comece com as instruções de instalação e um tutorial introdutório . Detalhes técnicos da arquitetura do Open Data Hub podem ser encontrados aqui ; os planos de desenvolvimento do projeto estão aqui . No futuro, está planejado implementar uma integração adicional com o Kubeflow, resolver vários problemas com regulamentação e segurança de dados e organizar a integração com sistemas baseados nas regras Drools e Optaplanner. Você pode expressar sua opinião e se tornar um membro do projeto Open Data Hub na página da comunidade .

Resumimos: problemas sérios com o dimensionamento impedem que as organizações percebam totalmente o potencial da inteligência artificial e do aprendizado de máquina. O Red Hat OpenShift tem sido usado com sucesso para resolver problemas semelhantes na indústria de software. O projeto Open Data Hub, implementado na comunidade de desenvolvimento de código aberto, oferece uma arquitetura de referência para organizar um ciclo completo de operação de AI / ML com base na nuvem híbrida OpenShift. Temos um plano de desenvolvimento claro e ponderado para este projeto e levamos a sério a criação de uma comunidade ativa e frutífera para o desenvolvimento de soluções de IA abertas na plataforma OpenShift ao seu redor.

Source: https://habr.com/ru/post/pt472836/


All Articles