InterSystems IRIS - plataforma universal de IA/ML em tempo real

Autor: Sergey Lukyanchikov, engenheiro consultor da InterSystems

Desafios de computação AI/ML em tempo real

Vamos começar com exemplos da experiência da prática de Data Science na InterSystems:

  • O portal do comprador “carregado” está conectado a um sistema de recomendação online. A reestruturação das promoções na escala da rede de varejo está chegando (por exemplo, em vez de uma linha de promoções “plana”, agora será usada a matriz “táticas de segmento”). O que acontece com os recomendadores? O que acontece com o envio e atualização de dados para o mecanismo de recomendação (o volume de dados de entrada aumentou 25000 vezes)? O que acontece com o desenvolvimento de recomendações (a necessidade de diminuir mil vezes o limite de filtragem das regras de recomendação devido ao aumento de mil vezes em seu número e “alcance”)?
  • Existe um sistema para monitorar a probabilidade de desenvolvimento de defeitos nos nós do equipamento. Um sistema de controle de processo foi conectado ao sistema de monitoramento, transmitindo milhares de parâmetros de processo a cada segundo. O que acontece com o sistema de monitoramento que funcionava anteriormente em “amostras manuais” (ele é capaz de fornecer monitoramento de probabilidade segundo a segundo)? O que acontecerá se um novo bloco com várias centenas de colunas aparecer nos dados de entrada com as leituras dos sensores recentemente adicionados ao sistema de controle de processo (se e por quanto tempo será necessário parar o sistema de monitoramento para incluir dados de novos sensores no sistema análise)?
  • Foi criado um conjunto de mecanismos AI/ML (recomendatórios, de monitoramento, preditivos), utilizando os resultados do trabalho uns dos outros. Quantas horas-homem são necessárias mensalmente para adaptar a operação deste complexo às mudanças nos dados de entrada? Qual é a “desaceleração” geral suportada pelo complexo de tomada de decisão (frequência de ocorrência de novas informações de suporte em relação à frequência de ocorrência de novos dados de entrada)?

Resumindo esses e muitos outros exemplos, chegamos à formulação dos desafios que surgem quando se passa para o uso de mecanismos de aprendizado de máquina e inteligência artificial em tempo real:

  • Estamos satisfeitos com a velocidade de criação e adaptação (à situação de mudança) dos desenvolvimentos de AI/ML em nossa empresa?
  • Até que ponto as soluções de AI/ML que usamos suportam o gerenciamento de negócios em tempo real?
  • As soluções de IA/ML que usamos são capazes de se adaptar de forma independente (sem desenvolvedores) às mudanças nas práticas de gerenciamento de dados e negócios?

Nosso artigo é uma visão geral detalhada dos recursos da plataforma InterSystems IRIS em termos de suporte universal para a implantação de mecanismos AI / ML, montagem (integração) de soluções AI / ML e treinamento (teste) de soluções AI / ML em dados intensivos fluxos. Vamos nos voltar para pesquisas de mercado, estudos de caso de soluções AI/ML e aspectos conceituais do que chamamos de plataforma AI/ML em tempo real neste artigo.

O que sabemos das pesquisas: aplicações em tempo real

Descobertas Votaçãoconduzidos entre cerca de 800 profissionais de TI em 2019 pela Lightbend falam por si:

InterSystems IRIS - plataforma universal de IA/ML em tempo real
Figura 1 Principais consumidores de dados em tempo real

Citemos os fragmentos do relatório sobre os resultados desta pesquisa que nos são importantes em nossa tradução:

“…Tendências na popularidade de ferramentas de integração de fluxo de dados e, ao mesmo tempo, suporte para computação em contêiner fornecem uma resposta sinérgica à demanda do mercado por uma proposta mais eficiente, racional e dinâmica de soluções eficazes. Os fluxos de dados permitem que as informações sejam transferidas mais rapidamente do que os pacotes de dados tradicionais. Além disso, está a capacidade de aplicar rapidamente métodos computacionais, como recomendações baseadas em IA/ML, para criar vantagens competitivas por meio do aumento da satisfação do cliente. A corrida pela agilidade também afeta todas as funções no paradigma DevOps – tornando o desenvolvimento e a implantação de aplicativos mais eficientes. … Oitocentos e quatro profissionais de TI forneceram informações sobre o uso de fluxos de dados em suas organizações. Os entrevistados estavam predominantemente localizados em países ocidentais (41% na Europa e 37% na América do Norte) e estavam distribuídos quase uniformemente entre pequenas, médias e grandes empresas. …

… A inteligência artificial não é exagero. Cinquenta e oito por cento daqueles que já usam o processamento de fluxo de dados em aplicativos produtivos de AI/ML confirmam que seu uso em AI/ML terá os maiores ganhos no próximo ano (em comparação com outros aplicativos).

  • De acordo com a maioria dos entrevistados, o uso de fluxos de dados em cenários AI/ML receberá o maior aumento no próximo ano.
  • As aplicações em AI/ML crescerão não apenas por meio de tipos relativamente novos de cenários, mas também por meio de cenários tradicionais, nos quais dados em tempo real são cada vez mais usados.
  • Além de AI/ML, o nível de entusiasmo entre os usuários de pipelines de dados IoT é impressionante - 48% daqueles que já integraram dados IoT dizem que a implementação de cenários nesses dados receberá um aumento significativo no futuro próximo. … »

A partir dessa pesquisa bastante interessante, pode-se perceber que a percepção dos cenários de aprendizado de máquina e inteligência artificial como líderes no consumo de fluxos de dados já está “a caminho”. Mas a percepção de IA/ML em tempo real pela ótica do DevOps torna-se uma observação igualmente importante: aqui já podemos começar a falar sobre a transformação da cultura ainda dominante de “IA/ML única com um conjunto de dados totalmente acessível”.

Conceito de plataforma AI/ML em tempo real

Uma aplicação típica para IA/ML em tempo real é o controle do processo de fabricação. A seu exemplo e tendo em conta as reflexões anteriores, iremos formular o conceito de uma plataforma AI/ML em tempo real.
O uso de inteligência artificial e aprendizado de máquina no controle de processos possui vários recursos:

  • Os dados sobre o estado do processo tecnológico são recebidos intensivamente: com alta frequência e em uma ampla gama de parâmetros (até dezenas de milhares de valores de parâmetros transmitidos por segundo do sistema de controle de processo)
  • Os dados sobre a detecção de defeitos, para não falar dos dados sobre o seu desenvolvimento, pelo contrário, são escassos e irregulares, caracterizando-se por uma insuficiente tipificação dos defeitos e pela sua localização no tempo (muitas vezes representada por registos em papel)
  • Do ponto de vista prático, apenas a “janela de relevância” dos dados iniciais está disponível para treinamento e aplicação de modelos, refletindo a dinâmica do processo tecnológico por um intervalo de deslizamento razoável, finalizando com os últimos valores lidos dos parâmetros do processo

Estas características obrigam-nos, para além da receção e processamento básico em tempo real da intensa “entrada de banda larga” do processo, a realizar (em paralelo) a aplicação, treino e controlo de qualidade dos resultados do trabalho dos modelos AI/ML - também em tempo real. O “quadro” que nossos modelos “veem” na janela deslizante de relevância está mudando constantemente – e com ele, a qualidade dos resultados do trabalho de modelos AI / ML treinados em um dos “quadros” no passado também muda . Se a qualidade dos resultados do trabalho dos modelos AI / ML se deteriorar (por exemplo: o valor do erro de classificação “alarm-norm” ultrapassou os limites que definimos), o retreinamento dos modelos deve ser iniciado automaticamente em um nível mais “moldura” relevante - e a escolha do momento para iniciar a retreinação dos modelos deve ter em conta a forma como a duração da própria formação, bem como a dinâmica de deterioração da qualidade da versão atual dos modelos (uma vez que as versões atuais dos modelos continuam a ser aplicados enquanto os modelos estão sendo treinados e até que suas versões “retreinadas” sejam geradas).

A InterSystems IRIS possui recursos de plataforma chave para permitir soluções de IA/ML em tempo real para controle de processo. Essas possibilidades podem ser divididas em três grupos principais:

  • Implementação contínua (Continuous Deployment / Delivery, CD) de mecanismos AI / ML novos ou adaptados existentes em uma solução produtiva que opera em tempo real na plataforma InterSystems IRIS
  • Integração Contínua (CI) em uma única solução produtiva de fluxos de dados de processo de entrada, filas de dados para aplicação/treinamento/controle de qualidade de mecanismos AI/ML e trocas de dados/código/controle com ambientes de modelagem matemática, que são orquestrados em tempo real Plataforma InterSystems IRIS
  • (Auto-)aprendizagem contínua (Treinamento Contínuo, CT) de mecanismos AI/ML realizados em ambientes de modelagem matemática utilizando dados, código e ações de controle (“decisões tomadas”) transmitidas pela plataforma InterSystems IRIS

A classificação dos recursos da plataforma em relação ao aprendizado de máquina e inteligência artificial precisamente nesses grupos não é acidental. Citemos a metodologia publicação Google, que fornece uma base conceitual para esta classificação, em nossa tradução:

“… O conceito DevOps, que é popular hoje em dia, abrange o desenvolvimento e a operação de sistemas de informação de grande escala. As vantagens de implementar este conceito são a redução na duração dos ciclos de desenvolvimento, a aceleração da implantação do desenvolvimento, a flexibilidade do planejamento de lançamento. Para alcançar esses benefícios, o DevOps envolve a implementação de pelo menos duas práticas:

  • Integração Contínua (CI)
  • Entrega Contínua (CD)

Essas práticas também se aplicam a plataformas de IA/ML para garantir construções robustas e de alto desempenho de soluções produtivas de IA/ML.

As plataformas AI/ML diferem de outros sistemas de informação nos seguintes aspectos:

  • Competências da equipe: ao criar uma solução de IA/ML, a equipe normalmente inclui cientistas de dados ou cientistas de dados que conduzem análise de dados, desenvolvimento de modelo e validação. Esses membros da equipe podem não ser desenvolvedores profissionais de código produtivo.
  • Desenvolvimento: Os mecanismos AI/ML são de natureza experimental. Para resolver o problema da maneira mais eficiente, é necessário classificar várias combinações de variáveis ​​de entrada, algoritmos, métodos de modelagem e parâmetros do modelo. A complexidade de tal busca está em rastrear “o que deu/não deu certo”, garantindo a reprodutibilidade dos episódios, generalizando os desenvolvimentos para implementações recorrentes.
  • Teste: testar mecanismos AI/ML requer uma gama maior de testes do que a maioria dos outros desenvolvimentos. Além dos testes típicos de unidade e integração, são testadas a validade dos dados e a qualidade dos resultados da aplicação do modelo a amostras de treinamento e controle.
  • Implantação: a implantação de soluções AI/ML não se limita a serviços preditivos que aplicam um modelo treinado uma vez. As soluções AI/ML são construídas em torno de pipelines de vários estágios que realizam treinamento automatizado e aplicação de modelos. A implantação desses pipelines envolve a automação de etapas não triviais tradicionalmente executadas manualmente por cientistas de dados para poder treinar e testar modelos.
  • Produtivo: os mecanismos AI/ML podem não ter desempenho devido não apenas à programação ineficiente, mas também devido à natureza em constante mudança dos dados de entrada. Em outras palavras, o desempenho dos mecanismos AI/ML pode degradar devido a uma gama mais ampla de razões do que o desempenho dos desenvolvimentos convencionais. Isso resulta na necessidade de monitorar (online) o desempenho de nossos mecanismos AI/ML e enviar alertas ou rejeitar resultados se o desempenho não estiver de acordo com as expectativas.

As plataformas AI/ML são semelhantes a outros sistemas de informação, pois ambos exigem integração contínua de código com controle de versão, teste de unidade, teste de integração e implantação de desenvolvimento contínuo. No entanto, no caso de AI/ML, existem algumas diferenças importantes:

  • CI (Integração Contínua) não se limita mais a testar e validar o código de componentes implantados – também inclui testar e validar dados e modelos AI/ML.
  • CD (Continuous Delivery / Deployment, implantação contínua) não se limita a escrever e liberar pacotes ou serviços, mas implica uma plataforma para compor, aprender e aplicar soluções AI / ML.
  • CT (Formação Contínua, aprendizagem contínua) - um novo elemento [aprox. pelo autor do artigo: um novo elemento em relação ao conceito tradicional de DevOps, em que CT é normalmente Teste Contínuo], inerente às plataformas AI/ML, responsável por gerir autonomamente os mecanismos de aprendizagem e aplicação de modelos AI/ML. ... "

Podemos afirmar que o aprendizado de máquina e a inteligência artificial trabalhando com dados em tempo real exigem um conjunto mais amplo de ferramentas e competências (desde o desenvolvimento de código até a orquestração de ambientes de modelagem matemática), uma integração mais próxima entre todas as áreas funcionais e temáticas, uma organização mais eficiente de recursos humanos e recursos da máquina.

Cenário em Tempo Real: Reconhecendo o Desenvolvimento de Defeitos em Bombas de Alimentação

Continuando a usar o campo de controle de processo como exemplo, considere uma tarefa específica (já mencionada por nós no início): é necessário fornecer monitoramento em tempo real do desenvolvimento de defeitos em bombas com base no fluxo de parâmetros do processo e relatórios do pessoal de manutenção sobre os defeitos detectados.

InterSystems IRIS - plataforma universal de IA/ML em tempo real
Figura 2 Formulação da tarefa de acompanhamento do desenvolvimento de defeitos

A peculiaridade da maioria das tarefas assim definidas na prática é que a regularidade e eficiência da receção de dados (APCS) deve ser considerada no contexto da ocorrência (e registo) episódica e irregular de vários tipos de defeitos. Em outras palavras: os dados do sistema de controle de processo vêm uma vez por segundo corretos e os defeitos são registrados com um lápis indelével com a data no caderno geral da oficina (por exemplo: “12.01 - vazamento na tampa do lado do 3º mancal”).

Assim, é possível complementar a formulação do problema com a seguinte limitação importante: temos apenas um "rótulo" de um defeito de um determinado tipo (ou seja, um exemplo de defeito de um determinado tipo é representado por dados do sistema de controle de processo para uma data específica - e não temos mais exemplos de um defeito desse tipo específico). Essa restrição nos leva imediatamente para além do escopo do aprendizado de máquina clássico (aprendizado supervisionado), para o qual deveria haver muitos “rótulos”.

InterSystems IRIS - plataforma universal de IA/ML em tempo real
Figura 3 Refinamento da tarefa de acompanhamento do desenvolvimento de defeitos

Podemos de alguma forma "multiplicar" o único "rótulo" à nossa disposição? Sim, nós podemos. O estado atual da bomba é caracterizado pelo grau de semelhança com os defeitos registrados. Mesmo sem a utilização de métodos quantitativos, ao nível da percepção visual, observando a dinâmica dos valores dos dados vindos do sistema de controlo do processo, já se pode aprender muito:

InterSystems IRIS - plataforma universal de IA/ML em tempo real
Figura 4 Dinâmica do estado da bomba no contexto da “marca” de um defeito de um determinado tipo

Mas a percepção visual (pelo menos por enquanto) não é o gerador de "tags" mais adequado em nosso cenário em rápida mudança. Avaliaremos a semelhança do estado atual da bomba com os defeitos relatados usando um teste estatístico.

InterSystems IRIS - plataforma universal de IA/ML em tempo real
Figura 5 Aplicação de um teste estatístico aos dados recebidos tendo como pano de fundo um “rótulo” de um defeito

O teste estatístico determina a probabilidade de que os registros com os valores dos parâmetros tecnológicos do processo no "flow-packet" recebido do sistema de controle de processo sejam semelhantes aos registros "label" de um determinado tipo de defeito. O valor de probabilidade calculado como resultado da aplicação de um teste estatístico (índice de similaridade estatística) é convertido para um valor de 0 ou 1, tornando-se um “rótulo” para aprendizado de máquina em cada registro específico do pacote de similaridade. Ou seja, após processar o pacote recém-recebido de registros de estado da bomba com um teste estatístico, temos a oportunidade de (a) adicionar este pacote à amostra de treinamento para treinar o modelo AI/ML e (b) monitorar a qualidade do a versão atual do modelo quando aplicada a este pacote.

InterSystems IRIS - plataforma universal de IA/ML em tempo real
Figura 6 Aplicando um modelo de aprendizado de máquina aos dados de entrada no contexto de um “rótulo” de um defeito

Em um de nossos anteriores webinars mostramos e explicamos como a plataforma IRIS da InterSystems permite implementar qualquer mecanismo AI/ML na forma de processos de negócios de execução contínua que controlam a confiabilidade dos resultados da simulação e adaptam os parâmetros do modelo. Ao implementar o protótipo do nosso cenário com bombas, utilizamos toda a funcionalidade InterSystems IRIS apresentada durante o webinar - implementando no processo do analisador como parte da nossa solução, não o aprendizado supervisionado clássico, mas sim o aprendizado por reforço, que controla automaticamente a amostra para treinamento modelos. Os registros são colocados na amostra de treinamento em que ocorre um “consenso de detecção” após a aplicação do teste estatístico e da versão atual do modelo - ou seja, tanto o teste estatístico (após a transformação do índice de similaridade para 0 ou 1) quanto o modelo produziu um resultado sobre tais registros 1. Com um novo treinamento do modelo, durante sua validação (o modelo recém-treinado é aplicado à sua própria amostra de treinamento, com aplicação preliminar de um teste estatístico a ela), os registros que “não not hold” o resultado 1 após processamento pelo teste estatístico (devido à presença constante no treinamento da amostra de registros do "label" original do defeito) são removidos da amostra de treinamento, e a nova versão do modelo aprende do "rótulo" do defeito mais os registros "retidos" do fluxo.

InterSystems IRIS - plataforma universal de IA/ML em tempo real
Figura 7 Robotização de cálculos AI/ML no InterSystems IRIS

Caso haja a necessidade de uma espécie de “segunda opinião” sobre a qualidade de detecção obtida pela computação local no InterSystems IRIS, é criado um processo advisor para realizar treinamento-aplicação de modelos em um conjunto de dados de controle utilizando serviços em nuvem (por exemplo, Microsoft Azure , Amazon Web Services , Google Cloud Platform, etc.):

InterSystems IRIS - plataforma universal de IA/ML em tempo real
Figura 8 Segunda opinião do Microsoft Azure orquestrada pela InterSystems IRIS

O protótipo do nosso cenário no InterSystems IRIS é feito na forma de um sistema baseado em agentes de processos analíticos que interagem com o objeto equipamento (bomba), ambientes de modelagem matemática (Python, R e Julia), e proporcionam autoaprendizagem de todos Mecanismos AI/ML envolvidos - em fluxos de dados em tempo real.

InterSystems IRIS - plataforma universal de IA/ML em tempo real
Figura 9 Funcionalidade principal da solução AI/ML em tempo real no InterSystems IRIS

O resultado prático do nosso protótipo:

  • Padrão de defeito reconhecido pelo modelo (12 de janeiro):

InterSystems IRIS - plataforma universal de IA/ML em tempo real

  • Um defeito em desenvolvimento reconhecido pelo modelo, que não foi incluído na amostra (11 de setembro, o defeito em si foi constatado pela equipe de reparos apenas dois dias depois - 13 de setembro):

InterSystems IRIS - plataforma universal de IA/ML em tempo real
A simulação em dados reais contendo vários episódios do mesmo defeito mostrou que nossa solução, implementada na plataforma InterSystems IRIS, permite detectar o desenvolvimento de defeitos desse tipo vários dias antes de serem detectados pela equipe de reparo.

InterSystems IRIS - plataforma universal de computação AI/ML em tempo real

A plataforma IRIS da InterSystems simplifica o desenvolvimento, implantação e operação de soluções de dados em tempo real. O InterSystems IRIS é capaz de executar simultaneamente o processamento de dados transacionais e analíticos; manter visões sincronizadas de dados de acordo com diversos modelos (incluindo relacional, hierárquico, objeto e documento); atuar como uma plataforma de integração para uma ampla gama de fontes de dados e aplicativos individuais; fornecem análises avançadas em tempo real sobre dados estruturados e não estruturados. A InterSystems IRIS também fornece mecanismos para o uso de ferramentas analíticas externas, permite a flexibilidade de combinar hospedagem na nuvem e em servidores locais.

Os aplicativos criados na plataforma IRIS da InterSystems foram implantados em vários setores, ajudando as empresas a obter valor econômico significativo de uma perspectiva estratégica e operacional, aprimorando a tomada de decisões e fechando as lacunas entre evento, análise e ação.

InterSystems IRIS - plataforma universal de IA/ML em tempo real
Figura 10 Arquitetura IRIS da InterSystems no contexto de AI/ML em tempo real

Assim como o diagrama anterior, o diagrama abaixo combina o novo "sistema de coordenadas" (CD/CI/CT) com o fluxo de informações entre os itens de trabalho da plataforma. A visualização começa com o macromecanismo CD e continua com os macromecanismos CI e CT.

InterSystems IRIS - plataforma universal de IA/ML em tempo real
Figura 11 Esquema dos fluxos de informação entre os elementos AI/ML da plataforma InterSystems IRIS

A essência do mecanismo CD no InterSystems IRIS: os usuários da plataforma (desenvolvedores de soluções AI/ML) adaptam os existentes e/ou criam novos desenvolvimentos AI/ML usando um editor de código de mecanismo AI/ML especializado: Jupyter (nome completo: Jupyter Notebook; também, para abreviar, às vezes são chamados de documentos criados neste editor). No Jupyter, um desenvolvedor tem a oportunidade de escrever, depurar e verificar o desempenho (incluindo o uso de gráficos) de um desenvolvimento específico de AI/ML antes de ser hospedado (“implantado”) no InterSystems IRIS. É claro que um novo desenvolvimento criado dessa forma receberá apenas depuração básica (já que, em particular, o Jupyter não funciona com fluxos de dados em tempo real) - isso está na ordem das coisas, porque o principal resultado do desenvolvimento no Jupyter é a confirmação da operabilidade fundamental de um mecanismo AI/ML separado (“mostra o resultado esperado na amostra de dados”). Da mesma forma, um mecanismo já colocado na plataforma (consulte os macromecanismos a seguir) antes da depuração no Jupyter pode exigir uma "reversão" para o formulário "pré-plataforma" (ler dados de arquivos, trabalhar com dados por meio de xDBC em vez de tabelas, interação direta com globais - matrizes de dados multidimensionais InterSystems IRIS - etc.).

Um aspecto importante da implementação do CD no InterSystems IRIS é que a integração bidirecional é implementada entre a plataforma e o Jupyter, o que permite transferir para a plataforma (e, posteriormente, processar na plataforma) o conteúdo em Python, R e Julia (todos os três são linguagens de programação nos principais ambientes de código aberto de modelagem matemática correspondentes). Assim, os desenvolvedores de conteúdo AI/ML têm a capacidade de “implantar continuamente” esse conteúdo na plataforma, trabalhando em seu familiar editor Jupyter, com bibliotecas familiares disponíveis em Python, R, Julia e realizando depuração básica (se necessário) fora da plataforma .

Vamos passar para o mecanismo macro de CI no InterSystems IRIS. O diagrama mostra o macroprocesso do "robô em tempo real" (um complexo de estruturas de dados, processos de negócios e fragmentos de código orquestrados por eles nas linguagens de mats e na linguagem ObjectScript - a linguagem de desenvolvimento nativa da InterSystems ÍRIS). A tarefa deste macroprocesso é manter as filas de dados necessárias para o funcionamento dos mecanismos AI/ML (com base nos fluxos de dados transmitidos à plataforma em tempo real), tomar decisões sobre a sequência de aplicação e o “range” de AI/ Mecanismos de ML (eles também são "algoritmos matemáticos", "modelos", etc. - podem ser chamados de maneira diferente dependendo das especificidades de implementação e preferências terminológicas), manter as estruturas de dados atualizadas para analisar os resultados do trabalho dos mecanismos de AI / ML (cubos, tabelas, matrizes de dados multidimensionais, etc.) etc. - para relatórios, painéis, etc.).

Um aspecto importante da implementação do CI no InterSystems IRIS é que a integração bidirecional é implementada entre a plataforma e os ambientes de modelagem matemática, o que permite executar o conteúdo hospedado na plataforma em Python, R e Julia em seus respectivos ambientes com o retorno dos resultados da execução . Essa integração é implementada tanto no "modo terminal" (ou seja, o conteúdo AI/ML é formulado como um código ObjectScript fazendo chamadas para tapetes) quanto no "modo de processo de negócios" (ou seja, o conteúdo AI/ML é formulado como um processo de negócios usando um editor gráfico, ou às vezes usando Jupyter, ou usando um IDE - IRIS Studio, Eclipse, Visual Studio Code). A capacidade de edição dos processos de negócios no Jupyter é refletida pelo relacionamento entre o IRIS no nível do CI e o Jupyter no nível do CD. Uma visão geral mais detalhada da integração com ambientes de modelagem matemática é fornecida abaixo. Nesta fase, em nossa opinião, há todos os motivos para fixar a presença na plataforma de todas as ferramentas necessárias para implementar a "integração contínua" dos desenvolvimentos de IA / ML (vindo da "implantação contínua") em IA / Soluções de ML.

E o principal mecanismo macro: CT. Sem ela, não haverá plataforma AI/ML (embora o “tempo real” seja implementado através de CD/CI). A essência do CT é o trabalho da plataforma com os “artefatos” de aprendizado de máquina e inteligência artificial diretamente nas sessões de trabalho de ambientes de modelagem matemática: modelos, tabelas de distribuição, matrizes vetoriais, camadas de redes neurais, etc. Este “trabalho”, na maioria das vezes, consiste na criação dos referidos artefactos nos ambientes (no caso dos modelos, por exemplo, a “criação” consiste na definição da especificação do modelo e posterior seleção dos valores dos seus parâmetros - o o chamado “treinamento” do modelo), sua aplicação (para modelos: usá-los para calcular valores “modelo” de variáveis-alvo – previsões, pertencer a uma categoria, probabilidade de ocorrência de um evento etc.) artefatos já criados e aplicados (por exemplo, redefinir o conjunto de variáveis ​​de entrada do modelo com base nos resultados da aplicação – para aumentar a precisão da previsão, como opção). O ponto chave para entender o papel do CT é sua “abstração” das realidades do CD e CI: o CT implementará todos os artefatos, focando nas especificidades computacionais e matemáticas da solução AI/ML dentro dos recursos fornecidos por ambientes específicos . A responsabilidade por "fornecer dados de entrada" e "entregar resultados" será de responsabilidade de CD e CI.

Um aspecto importante da implementação do CT no InterSystems IRIS: usando a integração com os ambientes de modelagem matemática já mencionados acima, a plataforma tem a capacidade de extrair os mesmos artefatos das sessões de trabalho executadas sob seu controle nos ambientes e (o mais importante) transformá-los em plataforma objetos de dados. Por exemplo, uma tabela de distribuição que acabou de ser criada em uma sessão de trabalho do Python pode ser (sem interromper a sessão no Python) transferida para a plataforma na forma de, por exemplo, uma matriz global (array de dados InterSystems IRIS multidimensional) - e usada para cálculos em outro mecanismo AI/ML- (já implementado na linguagem de outro ambiente - por exemplo, em R) - ou uma tabela virtual. Outro exemplo: em paralelo com o “modo normal” da operação do modelo (na sessão de trabalho do Python), o “auto-ML” é realizado em seus dados de entrada: seleção automática de variáveis ​​de entrada e valores de parâmetros ideais. E junto com o treinamento “regular”, o modelo produtivo em tempo real também recebe uma “proposta de otimização” para sua especificação - na qual o conjunto de variáveis ​​de entrada muda, os valores dos parâmetros mudam (não como resultado do treinamento em Python , mas como resultado do treinamento de uma “versão alternativa de si mesmo, como na pilha H2O), permitindo que a solução geral de AI/ML lide autonomamente com mudanças imprevistas na natureza dos dados de entrada e nos fenômenos que estão sendo modelados.

Vamos conhecer mais detalhadamente a funcionalidade da plataforma AI/ML da InterSystems IRIS, usando o exemplo de um protótipo real.

No diagrama abaixo, do lado esquerdo do slide, encontra-se uma parte do processo de negócio que implementa o processamento de scripts em Python e R. Na parte central, encontram-se os logs visuais da execução de alguns desses scripts, respectivamente, em Python e R. Logo atrás deles estão exemplos de conteúdo em uma e outra linguagem, submetidos para execução nos ambientes apropriados. No final, à direita, estão as visualizações com base nos resultados da execução do script. As visualizações na parte superior são feitas no IRIS Analytics (os dados são levados do Python para a plataforma de dados IRIS da InterSystems e exibidos no painel usando a plataforma), na parte inferior são feitas diretamente na sessão de trabalho R e a saída de lá para arquivos gráficos. Um aspecto importante: o fragmento apresentado no protótipo é responsável por treinar o modelo (classificação dos estados do equipamento) em dados vindos em tempo real do simulador de processo do equipamento, sob comando do monitor de processo da qualidade da classificação observadas durante a aplicação do modelo. A implementação de uma solução AI/ML como um conjunto de processos interativos (“agentes”) será discutida mais adiante.

InterSystems IRIS - plataforma universal de IA/ML em tempo real
Figura 12 Interação com Python, R e Julia no InterSystems IRIS

Os processos da plataforma (também são “processos de negócios”, “processos analíticos”, “pipelines”, etc. - dependendo do contexto), são editados principalmente em um editor gráfico de processos de negócios na própria plataforma, e de forma que ambos seu diagrama de blocos e o mecanismo AI/ML correspondente (código do programa) são criados simultaneamente. Falando sobre o fato de que “um mecanismo AI/ML é obtido”, inicialmente nos referimos ao hibridismo (dentro do mesmo processo): o conteúdo em linguagens de ambientes de modelagem matemática é adjacente ao conteúdo em SQL (incluindo extensões de ML integrado), em InterSystems ObjectScript, com outras linguagens suportadas. Além disso, o processo da plataforma oferece possibilidades muito amplas de “desenho” na forma de fragmentos aninhados hierarquicamente (como pode ser visto no exemplo do diagrama abaixo), o que permite organizar efetivamente até conteúdos muito complexos sem “cair” de o formato gráfico em qualquer lugar (em métodos/classes/procedimentos “não-gráficos”, etc.). Ou seja, se necessário (e é esperado na maioria dos projetos), absolutamente todas as soluções AI/ML podem ser implementadas em um formato gráfico de autocomentário. Observe que na parte central do diagrama abaixo, que mostra um “nível de aninhamento” maior, você pode ver que além do trabalho real de treinamento do modelo (usando Python e R), uma análise do chamado ROC é adicionada a curva do modelo treinado, que permite visualmente (e também computacionalmente) avaliar a qualidade do treinamento - e essa análise é implementada na linguagem Julia (é executada, respectivamente, no ambiente Julia).

InterSystems IRIS - plataforma universal de IA/ML em tempo real
Figura 13 Ambiente visual para composição de soluções AI/ML no InterSystems IRIS

Conforme mencionado anteriormente, o desenvolvimento inicial e (em alguns casos) a adaptação de mecanismos AI/ML já implementados na plataforma serão/podem ser feitos fora da plataforma no editor Jupyter. No diagrama abaixo, vemos um exemplo de adaptação de um processo de plataforma existente (o mesmo do diagrama acima) - é assim que o fragmento responsável por treinar o modelo fica no Jupyter. O conteúdo do Python está disponível para edição, depuração e saída de gráficos diretamente no Jupyter. Alterações (se necessárias) podem ser feitas com sincronização instantânea ao processo da plataforma, incluindo sua versão de produção. Da mesma forma, novos conteúdos podem ser transferidos para a plataforma (um novo processo de plataforma é gerado automaticamente).

InterSystems IRIS - plataforma universal de IA/ML em tempo real
Figura 14 Usando o Jupyter Notebook para editar o mecanismo AI/ML na plataforma IRIS da InterSystems

A adaptação do processo da plataforma pode ser realizada não apenas em formato gráfico ou notebook, mas também no formato “total” IDE (Integrated Development Environment). Esses IDEs são IRIS Studio (estúdio IRIS nativo), Visual Studio Code (extensão InterSystems IRIS para VSCode) e Eclipse (plug-in Atelier). Em alguns casos, é possível que a equipe de desenvolvimento use os três IDEs ao mesmo tempo. O diagrama abaixo mostra um exemplo de edição do mesmo processo no estúdio IRIS, no Visual Studio Code e no Eclipse. Absolutamente todo o conteúdo está disponível para edição: Python / R / Julia / SQL e ObjectScript e um processo de negócios.

InterSystems IRIS - plataforma universal de IA/ML em tempo real
Figura 15 Desenvolvimento do processo de negócios InterSystems IRIS em vários IDEs

As ferramentas de descrição e execução de processos de negócios InterSystems IRIS na Business Process Language (BPL) merecem menção especial. O BPL possibilita o uso de "componentes de integração prontos" (atividades) em processos de negócios - o que, de fato, dá plena razão para afirmar que a "integração contínua" é implementada no InterSystems IRIS. Componentes de processo de negócios prontos (atividades e links entre eles) são o acelerador mais poderoso para montar uma solução AI/ML. E não apenas montagens: graças às atividades e conexões entre elas, sobre desenvolvimentos e mecanismos díspares de IA/ML, surge uma “camada de gestão autônoma” capaz de tomar decisões de acordo com a situação, em tempo real.

InterSystems IRIS - plataforma universal de IA/ML em tempo real
Figura 16 Componentes de processos de negócios prontos para integração contínua (CI) na plataforma InterSystems IRIS

O conceito de sistemas de agentes (eles também são “sistemas multiagentes”) tem uma forte posição na robótica, e a plataforma InterSystems IRIS o suporta organicamente por meio da construção “produto-processo”. Além de possibilidades ilimitadas de “encher” cada processo com a funcionalidade necessária para a solução global, dotar o sistema de processos da plataforma da propriedade de “agência” permite criar soluções eficazes para fenômenos simulados extremamente instáveis ​​(comportamento de sistemas sociais/biossistemas , processos tecnológicos parcialmente observáveis, etc.).

InterSystems IRIS - plataforma universal de IA/ML em tempo real
Figura 16 Operação da solução AI/ML como um sistema de agente de processo de negócios no InterSystems IRIS

Continuamos nossa revisão do InterSystems IRIS com uma história sobre a aplicação da plataforma para resolver classes inteiras de problemas em tempo real (um conhecimento bastante detalhado de algumas das melhores práticas da plataforma AI / ML no InterSystems IRIS ocorre em um de nossos anteriores webinars).

Em busca do diagrama anterior, abaixo está um diagrama mais detalhado do sistema de agente. O diagrama mostra o mesmo protótipo, todos os quatro processos do agente são visíveis, as relações entre eles são desenhadas esquematicamente: GENERATOR - lida com a criação de dados pelos sensores do equipamento, BUFFER - gerencia as filas de dados, ANALYZER - realiza o próprio aprendizado de máquina, MONITOR - controla o qualidade do aprendizado de máquina e alimenta um sinal de que o modelo precisa ser treinado novamente.

InterSystems IRIS - plataforma universal de IA/ML em tempo real
Figura 17 Composição de uma solução AI/ML como um sistema de agente de processo de negócios no InterSystems IRIS

O diagrama abaixo ilustra o funcionamento autônomo de outro protótipo robótico (reconhecimento emocional de texto) por algum tempo. Na parte superior - a evolução do indicador de qualidade de aprendizagem do modelo (a qualidade está crescendo), na parte inferior - a dinâmica do indicador de qualidade de aplicação do modelo e os fatos de treinamento repetido (barras vermelhas). Como se pode constatar, a solução auto-aprendizou-se de forma eficiente e autónoma, e funciona num determinado nível de qualidade (os valores do indicador de qualidade não descem abaixo dos 80%).

InterSystems IRIS - plataforma universal de IA/ML em tempo real
Figura 18 (Auto)aprendizagem (CT) Contínua na plataforma InterSystems IRIS

Também mencionamos “auto-ML” anteriormente, mas o diagrama abaixo mostra a aplicação dessa funcionalidade em detalhes usando outro protótipo como exemplo. O diagrama gráfico do fragmento do processo de negócios mostra a atividade que inicia a simulação na pilha H2O, mostra os resultados dessa simulação (dominância óbvia do modelo resultante sobre os modelos "feitos pelo homem", de acordo com o gráfico comparativo das curvas ROC , bem como a identificação automatizada das "variáveis ​​mais influentes" disponíveis no conjunto de dados original). O ponto importante aqui é a economia de tempo e recursos especializados, o que é alcançado através do "auto-ML": o que o processo da nossa plataforma faz em meio minuto (encontrar e treinar o modelo ideal), um especialista pode levar de uma semana a uma mês.

InterSystems IRIS - plataforma universal de IA/ML em tempo real
Figura 19 Integração de Auto-ML na solução AI/ML baseada na plataforma InterSystems IRIS

O diagrama abaixo “derruba um pouco o clímax”, mas é uma boa forma de completar a história sobre as classes de problemas em tempo real que estão sendo resolvidas: lembramos que com todas as capacidades da plataforma InterSystems IRIS, os modelos de treinamento em seu controle não é obrigatório. A plataforma pode obter externamente uma chamada especificação de modelo PMML treinada em uma ferramenta que não é controlada pela plataforma - e aplicar esse modelo em tempo real a partir do momento em que é importado Especificações PMML. Ao mesmo tempo, é importante ter em conta que nem todos os artefactos AI/ML podem ser reduzidos a uma especificação PMML, mesmo que a maioria dos artefactos mais comuns o permitam. Assim, a plataforma IRIS da InterSystems possui um “loop aberto” e não significa “escravidão de plataforma” para os usuários.

InterSystems IRIS - plataforma universal de IA/ML em tempo real
Figura 20 Integração de Auto-ML na solução AI/ML baseada na plataforma InterSystems IRIS

Listamos as vantagens adicionais da plataforma InterSystems IRIS (para maior clareza, em relação ao controle de processos), que são de grande importância na automação de inteligência artificial e aprendizado de máquina em tempo real:

  • Ferramentas avançadas de integração com quaisquer fontes de dados e consumidores (PCS/SCADA, equipamentos, MRO, ERP, etc.)
  • Construídas em DBMS multimodelo para processamento analítico transacional de alto desempenho (Hybrid Transaction/Analytical Processing, HTAP) de qualquer volume de dados de processo
  • Ferramentas de desenvolvimento para implantação contínua de mecanismos de decisão AI/ML em tempo real baseados em Python, R, Julia
  • Processos de negócios adaptáveis ​​para integração contínua e mecanismos de (auto)aprendizagem de soluções de IA/ML em tempo real
  • Ferramentas incorporadas de Business Intelligence para visualizar dados de processo e resultados de soluções de IA/ML
  • Gerenciamento de API entregar os resultados da solução AI/ML para sistemas de controle de processo/SCADA, sistemas de informação e analíticos, envio de alertas, etc.

As soluções AI/ML baseadas na plataforma IRIS da InterSystems se encaixam facilmente na infraestrutura de TI existente. A plataforma InterSystems IRIS fornece alta confiabilidade de soluções AI/ML por meio de suporte para configurações tolerantes a falhas e desastres e implantação flexível em ambientes virtuais, em servidores físicos, em nuvens privadas e públicas, contêineres Docker.

Assim, o InterSystems IRIS é uma plataforma universal de computação AI/ML em tempo real. A universalidade de nossa plataforma é confirmada na prática pela ausência de restrições de fato sobre a complexidade dos cálculos implementados, a capacidade do InterSystems IRIS de combinar (em tempo real) o processamento de cenários de uma ampla variedade de setores e a excepcional adaptabilidade de quaisquer funções e mecanismos da plataforma às necessidades específicas do usuário.

InterSystems IRIS - plataforma universal de IA/ML em tempo real
Figura 21 InterSystems IRIS - Plataforma Universal de Computação AI/ML em Tempo Real

Para uma interação mais substantiva com nossos leitores interessados ​​no material aqui apresentado, recomendamos que não se limite à leitura e continue o diálogo “ao vivo”. Teremos o maior prazer em fornecer suporte na formulação de cenários de IA/ML em tempo real em relação às especificidades da sua empresa, realizar prototipagem conjunta na plataforma InterSystems IRIS, formar e colocar em prática um roteiro para introdução de inteligência artificial e aprendizado de máquina em seus processos de produção e gerenciamento. O endereço de e-mail de contato do nosso grupo de especialistas em AI/ML é [email protegido].

Fonte: habr.com

Adicionar um comentário