InterSystems IRIS é uma plataforma versátil de AI / ML em tempo real

Autor: Sergey Lukyanchikov, Engenheiro Consultor da InterSystems



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



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



  • O portal do comprador “carregado” está conectado a um sistema de recomendação online. Há uma reestruturação das ações promocionais na escala da rede de varejo (por exemplo, em vez de uma linha “plana” de ações promocionais, a matriz “táticas de segmento” passará a ser usada). O que acontece com os mecanismos de recomendação? O que acontece com o envio e atualização de dados para o mecanismo de recomendação (a quantidade de dados de entrada aumentou 25.000 vezes)? O que acontece com o desenvolvimento de recomendações (a necessidade de redução de mil vezes no limite de filtragem das regras de recomendação devido ao aumento de mil vezes em seu número e "variedade")?
  • Existe um sistema de monitoramento da probabilidade de desenvolvimento de defeitos nos nodos dos equipamentos. Um sistema de controle de processo foi conectado ao sistema de monitoramento, transmitindo milhares de parâmetros do processo tecnológico a cada segundo. O que acontece com o sistema de monitoramento que costumava trabalhar em “amostras manuais” (ele é capaz de fornecer monitoramento de probabilidade a cada segundo)? O que acontecerá se um novo bloco de várias centenas de colunas aparecer nos dados de entrada com as leituras dos sensores recentemente introduzidos no sistema de controle de processo (será necessário e por quanto tempo parar o sistema de monitoramento para incluir dados de novos sensores na análise)?
  • Um complexo de mecanismos AI / ML (recomendação, monitoramento, prognóstico), usando os resultados do trabalho um do outro, foi criado. Quantas horas de trabalho são necessárias por mês para adaptar a operação deste complexo às mudanças nos dados de entrada? Qual é a “desaceleração” geral com o suporte do complexo para a tomada de decisões de gestão (a frequência de ocorrência de novas informações de suporte no mesmo quanto à frequência de ocorrência de novos dados de entrada)?


Resumindo esses e muitos outros exemplos, chegamos à formulação dos desafios que surgem na transição 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) de desenvolvimentos de AI / ML em nossa empresa?
  • Até que ponto as soluções de AI / ML que usamos oferecem suporte ao gerenciamento de negócios em tempo real?
  • As soluções de AI / ML que usamos são capazes de se adaptar de forma independente (sem desenvolvedores) às mudanças nos dados e nas práticas de gestão de 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 de AI / ML, montagem (integração) de soluções de AI / ML e treinamento (teste) de soluções de AI / ML em fluxos de dados intensivos. Vamos nos voltar para a pesquisa de mercado, exemplos práticos de soluções de AI / ML e aspectos conceituais do que chamamos de plataforma de AI / ML em tempo real neste artigo.



O que sabemos de pesquisas: aplicativos em tempo real



Os resultados de uma pesquisa de 2019 com cerca de 800 profissionais de TI da Lightbend falam por si:





Figura 1 Principais consumidores de dados em tempo real



Para citar trechos importantes deste relatório de pesquisa em nossa tradução:



“… As tendências de popularidade das ferramentas de integração de fluxo de dados e, ao mesmo tempo, o suporte à computação em containers dão uma resposta sinérgica à demanda do mercado por uma proposta mais rápida, mais racional e dinâmica de soluções eficazes. Os fluxos de dados permitem que as informações sejam transferidas com mais rapidez do que os tradicionais pacotes de dados. Somado a isso, está a capacidade de aplicar rapidamente técnicas computacionais, como recomendações baseadas em AI / ML, criando uma vantagem competitiva por meio do aumento da satisfação do cliente. A corrida para a 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 respondentes estavam predominantemente localizados em países ocidentais (41% na Europa e 37% na América do Norte) e estavam quase igualmente distribuídos entre pequenas, médias e grandes empresas. ...



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



  • A maioria dos entrevistados acredita que o uso de fluxos de dados de AI / ML terá os maiores ganhos no próximo ano.
  • A aplicação em AI / ML crescerá 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 de IoT é impressionante - 48% dos que já integraram dados de IoT afirmam que o script desses dados verá um aumento significativo em um futuro próximo. ... "


A partir dessa pesquisa bastante interessante, fica claro 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 não menos observação importante é a percepção da AI / ML em tempo real através da ótica do DevOps: aqui já podemos começar a falar sobre a transformação da cultura ainda dominante de "AI / ML descartável com um conjunto de dados totalmente acessível".



Conceito de plataforma de AI / ML em tempo real



Uma das aplicações típicas de AI / ML em tempo real é o controle de processo na manufatura. Usando seu exemplo e levando em consideração as reflexões anteriores, formularemos o conceito de uma plataforma de IA / ML em tempo real.



O uso de inteligência artificial e aprendizado de máquina no controle de processos tem uma série de recursos:



  • : ( , )
  • , , , , (, )
  • , « » , ,


Essas características nos obrigam, além de receber um processamento básico em tempo real da intensa "entrada de banda larga" do processo, a realizar (em paralelo) a aplicação, o treinamento e o controle de qualidade dos resultados dos modelos AI / ML - também em tempo real. O “quadro” que nossos modelos “veem” na janela deslizante da relevância está mudando constantemente - e com ele a qualidade dos resultados do trabalho dos 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 "normal de alarme" ultrapassou os limites que definimos), o treinamento adicional dos modelos deve ser iniciado automaticamente em um "quadro" mais relevante - e a escolha do momento para iniciar o treinamento adicional dos modelos deve ser considerada como a duração do treinamento em si,e a dinâmica de deterioração da qualidade da versão atual dos modelos (visto que as versões atuais dos modelos continuam a ser aplicadas enquanto os modelos estão sendo treinados e até que suas versões "recém-treinadas" sejam formadas).



O InterSystems IRIS tem recursos de plataforma chave para habilitar soluções de AI / ML para controle de processo em tempo real. Esses recursos podem ser divididos em três grupos principais:



  • Implantação / entrega contínua (CD) de mecanismos novos ou adaptados de AI / ML existentes em uma solução produtiva operando em tempo real na plataforma IRIS da InterSystems
  • Integração Contínua (CI) em uma única solução produtiva de fluxos de entrada de dados de um processo tecnológico, filas de dados para aplicação / treinamento / controle de qualidade de mecanismos de AI / ML e trocas de dados / código / ações de controle com ambientes de modelagem matemática, orquestrados em plataforma em tempo real InterSystems IRIS
  • (-) (Continuous Training, CT) AI/ML-, , (« »), InterSystems IRIS


A classificação das capacidades da plataforma em relação ao aprendizado de máquina e inteligência artificial precisamente em tais grupos não é acidental. Citemos a publicação metodológica do Google, que fornece uma base conceitual para essa classificação, em nossa tradução:



“... O conceito DevOps, que é popular hoje, abrange o desenvolvimento e a operação de sistemas de informação em grande escala. As vantagens de implementar esse conceito são reduzir os ciclos de desenvolvimento, acelerar a implantação do desenvolvimento e planejar o lançamento flexível. Para colher esses benefícios, DevOps envolve pelo menos duas práticas:



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


Essas práticas também se aplicam a plataformas de AI / ML para garantir a construção confiável e eficiente de soluções produtivas de AI / ML.



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



  • Competências da equipe: Ao criar uma solução de AI / ML, a equipe geralmente inclui cientistas de dados ou “acadêmicos” de ciência de dados que conduzem análises de dados, desenvolvimento e validação de modelos. Esses membros da equipe podem ou não ser desenvolvedores profissionais de código produtivo.
  • : AI/ML- . , , , , . « / », , .
  • : AI/ML- , . , .
  • : AI/ML- , . AI/ML- , . , - , .
  • Produtivo: os motores AI / ML podem perder desempenho não apenas devido à programação ineficiente, mas também devido à natureza em constante mudança dos dados de entrada. Em outras palavras, o desempenho dos motores AI / ML pode degradar devido a uma gama mais ampla de razões do que o desempenho dos projetos convencionais. Isso leva à necessidade de monitorar (online) o desempenho de nossos motores de AI / ML, bem como enviar notificações ou descartar resultados se os indicadores de desempenho não atenderem às expectativas.


As plataformas AI / ML são semelhantes a outros sistemas de informação no sentido de que ambas precisam de 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 (Continuous Integration, ) – AI/ML-.
  • CD (Continuous Delivery/Deployment, ) , , AI/ML-.
  • CT (Continuous Training, ) – [. : DevOps, CT , , Continuous Testing], AI/ML-, AI/ML-. …»


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



Cenário em tempo real: reconhecimento do desenvolvimento de defeitos nas bombas de alimentação



Continuando a usar a área de controle de processo tecnológico como exemplo, consideraremos um problema específico (já mencionado no início): é necessário fornecer monitoramento em tempo real do desenvolvimento de defeitos em bombas com base no fluxo de valores dos parâmetros de processo tecnológico e relatórios do pessoal de reparo sobre os defeitos detectados.





Figura 2 Formulação da tarefa de monitorar o desenvolvimento de defeitos



Uma característica da maioria das tarefas definidas desta forma na prática é que a regularidade e eficiência da recepção de dados (APCS) devem ser consideradas no contexto da ocorrência episódica e irregular (e registro) de defeitos de vários tipos. Em outras palavras: os dados do sistema de controle de processo vêm uma vez por segundo, corretos e precisos, e as notas são feitas sobre defeitos com um lápis químico com a data no caderno geral da oficina (por exemplo: "12.01 - fluxo para a tampa do terceiro lado do rolamento").



Assim, a declaração do problema pode ser complementada com a seguinte restrição importante: temos apenas um "rótulo" de um tipo específico de defeito (ou seja, um exemplo de um tipo específico de defeito é representado por dados do sistema de controle para uma data específica - e não temos mais exemplos desse tipo de defeito). Essa limitação nos leva imediatamente além da estrutura do aprendizado de máquina clássico (aprendizado supervisionado), para o qual deve haver muitas "tags".





Figura 3 Esclarecimento da tarefa de monitorar o desenvolvimento de defeitos



Podemos de alguma forma "multiplicar" o único "rótulo" que temos à 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 provenientes do sistema de controle do processo, você já pode aprender muito:





Figura 4 Dinâmica do estado da bomba contra o fundo da "marca" de um defeito de um determinado tipo



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





Figura 5 Aplicação de um teste estatístico aos dados recebidos no contexto de um "rótulo" de defeito



O teste estatístico determina a probabilidade de que os registros com os valores dos parâmetros tecnológicos do processo no “stream-pacote” recebido do sistema de controle de processo sejam semelhantes aos registros da “etiqueta” de um determinado tipo de defeito. O valor da probabilidade (índice de similaridade estatística) calculado a partir da aplicação do teste estatístico é convertido para o valor 0 ou 1, tornando-se um "rótulo" para aprendizado de máquina em cada registro específico da embalagem que está sendo examinada. 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 ao conjunto de treinamento para treinar o modelo AI / ML e (b) controlar a qualidade da versão atual do modelo quando ele é aplicado a este pacote.





Figura 6 Aplicando um modelo de aprendizado de máquina aos dados de entrada no contexto de uma "tag" de defeito



em um de nossos webinars anterioresmostramos e explicamos como a plataforma IRIS da InterSystems permite que você implemente qualquer mecanismo de AI / ML na forma de execução contínua de processos de negócios que controlam a confiabilidade dos resultados da modelagem e adaptam os parâmetros do modelo. Ao implementar um protótipo de nosso cenário com bombas, usamos toda a funcionalidade InterSystems IRIS apresentada durante o webinar - implementando no processo do analisador como parte de nossa solução, não o aprendizado supervisionado clássico, mas sim o aprendizado de reforço, que gerencia automaticamente a amostra para modelos de treinamento. A amostra de treinamento contém registros nos quais um "consenso de detecção" surge após a aplicação do teste estatístico e da versão atual do modelo - isto é, o teste estatístico (após transformar o índice de similaridade em 0 ou 1),e o modelo produziu o resultado 1 nesses registros. Com o novo treinamento do modelo, durante sua validação (o modelo recém-treinado é aplicado à sua própria amostra de treinamento, com a aplicação preliminar do teste estatístico a ela), registros que "não se sustentaram" após o processamento do resultado do teste estatístico 1 ( devido à presença constante no conjunto de treinamento de registros do "rótulo" inicial do defeito), são removidos do conjunto de treinamento e a nova versão do modelo aprende com o "rótulo" do defeito mais os registros "retidos" do fluxo.Resultado 1 "não retido" após ser processado pelo teste estatístico (devido à presença constante no conjunto de treinamento de registros da "marca" inicial do defeito) são removidos do conjunto de treinamento, e a nova versão do modelo aprende a partir da "marca" do defeito mais nos registros "retidos" de fluxo.Resultado 1 "não retido" após ser processado pelo teste estatístico (devido à presença constante no conjunto de treinamento de registros da "marca" inicial do defeito) são removidos do conjunto de treinamento, e a nova versão do modelo aprende a partir da "marca" do defeito mais nos registros "retidos" de fluxo.





Figura 7 Computação Robótica AI / ML no InterSystems IRIS



Caso haja a necessidade de uma espécie de "segunda opinião" sobre a qualidade da detecção obtida durante os cálculos locais no InterSystems IRIS, um processo consultor é criado para realizar o treinamento e aplicação de modelos em um conjunto de dados de controle com usando serviços em nuvem (por exemplo, Microsoft Azure, Amazon Web Services, Google Cloud Platform, etc.):





Figura 8 Segunda opinião do Microsoft Azure orquestrada pela InterSystems IRIS



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





Figura 9 A principal funcionalidade de uma solução de 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):




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




A simulação de dados reais contendo vários episódios do mesmo defeito mostrou que a nossa solução, implementada na plataforma InterSystems IRIS, permite detectar o desenvolvimento de defeitos deste tipo vários dias antes de serem descobertos pela equipa de reparação.



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



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 realizar processamento de dados transacionais e analíticos simultaneamente; manter visualizações de dados sincronizadas de acordo com diversos modelos (incluindo relacional, hierárquico, objeto e documento); atuar como uma plataforma para integrar uma ampla gama de fontes de dados e aplicativos individuais; fornecem análises avançadas em tempo real em dados estruturados e não estruturados. O InterSystems IRIS também fornece mecanismos para o uso de ferramentas analíticas externas, permitindo combinar com flexibilidade a hospedagem na nuvem e em servidores locais.



Os aplicativos construídos na plataforma IRIS da InterSystems foram implantados em uma variedade de setores, ajudando as empresas a gerar valor econômico significativo de uma perspectiva estratégica e operacional, aumentando a consciência para a tomada de decisões e preenchendo a lacuna entre o evento, a análise e a ação.





Figura 10 Arquitetura IRIS da InterSystems em contexto de AI / ML em tempo real



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





Figura 11 Diagrama de fluxos de informações entre os elementos AI / ML da plataforma InterSystems IRIS



A essência do mecanismo de CD no InterSystems IRIS: os usuários da plataforma (desenvolvedores de soluções AI / ML) adaptam os desenvolvimentos existentes e / ou criam novos desenvolvimentos AI / ML usando um editor especializado do código do programa dos mecanismos AI / ML: Jupyter (nome completo: Jupyter Notebook; também, por brevidade, os documentos criados neste editor são às vezes chamados). No Jupyter, um desenvolvedor tem a capacidade de escrever, depurar e certificar-se de que um desenvolvimento de AI / ML específico está funcionando (incluindo o uso de gráficos) antes de ser implantado ("implantado") no InterSystems IRIS. É claro que o novo desenvolvimento criado desta forma receberá apenas depuração básica (já que, em particular, o Jupyter não funciona com fluxos de dados em tempo real) - esta é a ordem do dia,afinal, o principal resultado do desenvolvimento em Jupyter é a confirmação do desempenho fundamental de um mecanismo de AI / ML separado ("mostra o resultado esperado em uma amostra de dados"). Da mesma forma, um mecanismo já colocado na plataforma (consulte os seguintes macro-mecanismos) antes de depurar no Jupyter pode exigir um "rollback" para uma visualização "pré-plataforma" (leitura de dados de arquivos, trabalho com dados via xDBC em vez de tabelas, interação direta com globais - matrizes de dados multidimensionais InterSystems IRIS - etc.).trabalhar com dados via xDBC em vez de tabelas, interação direta com globais - matrizes de dados multidimensionais da InterSystems IRIS - etc.).trabalhar com dados via xDBC em vez de tabelas, interação direta com globais - matrizes de dados multidimensionais da InterSystems IRIS - etc.).



Um aspecto importante da implementação de CD no InterSystems IRIS: uma integração bidirecional é implementada entre a plataforma e o Jupyter, o que permite transferir conteúdo para a plataforma (e, no futuro, processar na plataforma) conteúdo em Python, R e Julia (todas as três são linguagens de programação no open- ambientes de origem para modelagem matemática). Assim, os desenvolvedores de conteúdo de AI / ML têm a capacidade de "implantar continuamente" esse conteúdo na plataforma, trabalhando em seu editor Jupyter usual, com as bibliotecas familiares disponíveis em Python, R, Julia e realizando depuração básica (se necessário) fora da plataforma ...



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



Um aspecto importante da implementação de CI no InterSystems IRIS: é implementada uma integração bidirecional entre a plataforma e os ambientes de modelagem matemática, que permite executar conteúdos colocados 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 código ObjectScript que faz chamadas para o ambiente matemático) e 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 IDE - IRIS Studio, Eclipse, Visual Studio Code). A disponibilidade editável de processos de negócios no Jupyter é refletida pelo link entre o IRIS no nível de CI e o Jupyter no nível de CD.Uma visão geral mais detalhada da integração com ambientes de modelagem matemática é fornecida abaixo. Nesta fase, a nosso ver, há todas as razões para fixar a presença na plataforma de todas as ferramentas necessárias para a implementação da “integração contínua” de desenvolvimentos de AI / ML (provenientes da “implantação contínua”) em soluções de AI / ML em tempo real.



E o principal macro mecanismo: CT. Sem ele, a plataforma AI / ML não funcionará (embora o "tempo real" seja implementado via CD / CI). A essência da TC é 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, vetores matriciais, camadas de redes neurais, etc. Este "trabalho", na maioria dos casos, consiste na criação dos referidos artefatos nos ambientes (no caso de modelos, por exemplo, "criação" consiste em especificar a especificação do modelo e a posterior seleção dos valores de seus parâmetros - o chamado "treinamento" do modelo), sua aplicação (para modelos: o cálculo com a ajuda de valores de "modelo" de variáveis-alvo - previsões, pertencer a uma categoria, a probabilidade de um evento, etc.) e a melhoria de 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 uma opção). O ponto-chave para compreender o papel do CT é sua "abstração" das realidades do CD e do CI: o CT implementará todos os artefatos, com foco nas especificidades computacionais e matemáticas de uma solução AI / ML dentro dos recursos fornecidos por ambientes específicos. CD e CI serão responsáveis ​​por “fornecer insumos” e “entregar resultados”.com foco nas especificidades computacionais e matemáticas de uma solução AI / ML dentro dos recursos fornecidos por ambientes específicos. CD e CI serão responsáveis ​​por “fornecer insumos” e “entregar resultados”.com foco nas especificações computacionais e matemáticas de uma solução de AI / ML dentro dos recursos fornecidos por ambientes específicos. CD e CI serão responsáveis ​​por “fornecer insumos” e “entregar resultados”.



Um aspecto importante da implementação de CT no InterSystems IRIS: usando a integração já mencionada com ambientes de modelagem matemática, a plataforma tem a capacidade de extrair os próprios artefatos das sessões de trabalho rodando sob seu controle no ambiente matemático e (mais importante) transformá-los em objetos de dados da plataforma. Por exemplo, uma tabela de distribuição que acabou de ser criada em uma sessão de trabalho Python pode ser (sem interromper uma sessão em Python) transferida para a plataforma na forma de, por exemplo, um global (matriz de dados multidimensional InterSystems IRIS) - e usada para cálculos em outro AI / ML- mecanismo (já implementado na linguagem de outro ambiente - por exemplo, em R) - ou uma mesa virtual. Outro exemplo: em paralelo com o "modo normal" do modelo (em uma sessão de trabalho Python), o "auto-ML" é executado em seus dados de entrada:seleção automática de variáveis ​​de entrada ideais e valores de parâmetro. E junto com o treinamento "full-time", um modelo produtivo em tempo real também recebe uma "proposta de otimização" de sua especificação - em que o conjunto de variáveis ​​de entrada muda, os valores dos parâmetros mudam (não mais como resultado de um treinamento em Python, mas como resultado de um treinamento de " ”Versão do próprio, por exemplo, 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 os fenômenos simulados.e como resultado do treinamento de uma versão "alternativa" dele mesmo, por exemplo, 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 os fenômenos simulados.e como resultado do treinamento de uma versão "alternativa" dele mesmo, por exemplo, 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 os fenômenos simulados.



Vamos nos familiarizar com mais detalhes com a funcionalidade da plataforma AI / ML da InterSystems IRIS, usando o exemplo de um protótipo da vida real.



No diagrama abaixo, no lado esquerdo do slide, há uma parte do processo de negócios que implementa a execução de scripts em Python e R. Na parte central, há logs visuais de execução de alguns desses scripts, respectivamente, em Python e R. Imediatamente após eles estão exemplos de conteúdo em um e outra linguagem transferida para execução nos ambientes apropriados. No final, à direita - visualizações baseadas nos resultados da execução do script. As visualizações na parte superior são feitas no IRIS Analytics (os dados são levados de Python para a plataforma de dados IRIS da InterSystems e exibidos no painel pelas ferramentas da plataforma), na parte inferior, são feitas diretamente na sessão de trabalho do R e saem daí 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) nos dados recebidos em tempo real do processo do simulador do equipamento,sob comando do monitor de processo da qualidade da classificação, observada durante a aplicação do modelo. A implementação de uma solução de AI / ML na forma de um conjunto de processos de interação (“agentes”) será discutida a seguir.





Figura 12 Interação com Python, R e Julia nos



processos da InterSystems IRIS Platform (também são “processos de negócios”, “processos analíticos”, “pipelines”, etc. - dependendo do contexto), em primeiro lugar, são editáveis ​​em um editor gráfico processos de negócios na própria plataforma, e de forma que tanto seu diagrama de blocos quanto o mecanismo de AI / ML correspondente (código do programa) sejam criados. Quando dizemos que "um mecanismo AI / ML é obtido", inicialmente queremos dizer hibridismo (dentro de um processo): o conteúdo em linguagens de modelagem matemática é adjacente ao conteúdo em SQL (incluindo extensões de IntegratedML), no InterSystems ObjectScript, com outras linguagens suportadas. Além disso, o processo da plataforma oferece oportunidades muito amplas para "renderizar" na forma de fragmentos aninhados hierarquicamente (como pode ser visto no exemplo no diagrama abaixo), o que torna possível organizar efetivamente até mesmo conteúdo muito complexo sem nunca "cair" do formato gráfico (em "não gráfico »Métodos / classes / procedimentos, etc.). Ou seja, se necessário (e é previsto na maioria dos projetos), absolutamente todas as soluções de AI / ML podem ser implementadas em um formato gráfico auto-recomendado. Observe que na parte central do diagrama abaixo, que mostra um "nível de aninhamento" mais alto, você pode ver que, além do trabalho real de treinamento do modelo (usando Python e R), uma análise da chamada curva ROC do modelo treinado é adicionada.permitindo visualmente (e também computacionalmente) avaliar a qualidade do treinamento - e esta análise é implementada na linguagem Julia (executada, respectivamente, no framework Julia).





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 dos mecanismos de 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 que no diagrama acima) - é assim que o fragmento dele que é responsável por treinar o modelo se parece no Jupyter. O conteúdo Python está disponível para edição, depuração e saída de gráficos diretamente no Jupyter. Alterações (se necessário) podem ser feitas com sincronização instantânea no 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).





Figura 14 Usando o Jupyter Notebook para editar o mecanismo AI / ML na



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





Figura 15 Desenvolvimento de um processo de negócios IRIS da InterSystems em vários IDEs



Os meios de descrever e executar os processos de negócios IRIS da InterSystems 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á todos os fundamentos para afirmar que a “integração contínua” é implementada no InterSystems IRIS. Os componentes prontos de um processo de negócios (atividades e conexões entre eles) são o acelerador mais poderoso para montar uma solução de AI / ML. E não apenas assembléias: graças às atividades e conexões entre elas, surge sobre os díspares desenvolvimentos e mecanismos de IA / ML uma “camada de gestão autônoma”, capaz de tomar decisões de acordo com a situação, em tempo real.





Figura 16 Componentes prontos de processos de negócios para integração contínua (CI) na plataforma IRIS da InterSystems



O conceito de sistemas de agente (também conhecido como “sistemas multiagentes”) tem uma posição forte na robotização, e a plataforma IRIS da InterSystems oferece suporte orgânico por meio da construção de “processo de produto”. Além de possibilidades ilimitadas de "encher" cada processo com a funcionalidade necessária para uma solução geral, dotar o sistema de processos de plataforma com a propriedade de "agência" permite criar soluções eficazes para fenômenos modelados extremamente instáveis ​​(comportamento de social / biossistemas, processos tecnológicos parcialmente observáveis, etc.).





Figura 17 Trabalho de uma solução de AI / ML na forma de um sistema baseado em agente de processos 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 com algumas das práticas recomendadas da plataforma AI / ML no InterSystems IRIS ocorre em um de nossos webinars anteriores ).



Logo após o diagrama anterior, abaixo está um diagrama mais detalhado do sistema do agente. O diagrama mostra o mesmo protótipo, todos os quatro processos do agente são visíveis, a relação entre eles é esquematicamente desenhada: GENERATOR - elabora a criação de dados pelos sensores do equipamento, BUFFER - gerencia filas de dados, ANALYZER - realiza o próprio aprendizado de máquina, MONITOR - controla a qualidade do aprendizado de máquina e fornece sinalizar sobre a necessidade de treinar novamente o modelo.





Figura 18 Composição de uma solução AI / ML na forma de um sistema de processos de negócios baseado em agente no InterSystems IRIS



O diagrama abaixo ilustra o funcionamento autônomo de outro protótipo robótico (reconhecimento da coloração emocional dos textos) 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 do modelo e os fatos de treinamento repetido (barras vermelhas). Como você pode ver, a solução é autodidata de forma eficiente e autônoma, e opera no nível de qualidade especificado (os valores do indicador de qualidade não caem abaixo de 80%).





Figura 19 Aprendizado (Auto) Contínuo (CT) na plataforma IRIS da InterSystems



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





Figura 20 Integração de "auto-ML" em uma solução AI / ML baseada na plataforma InterSystems IRIS



O diagrama abaixo "traz um pouco do clímax", mas esta é uma boa maneira de completar a história sobre as classes de tarefas em tempo real sendo resolvidas: lembramos que com todos os recursos da plataforma InterSystems IRIS, o treinamento dos modelos sob seu controle é opcional. A plataforma pode obter de fora a chamada especificação do modelo PMML, treinada em uma ferramenta fora do controle da plataforma - e aplicar esse modelo em tempo real a partir do momento em que sua especificação PMML é importada .... É importante ter em mente que nem todos os artefatos de AI / ML podem ser reduzidos à especificação PMML, mesmo se a maioria dos artefatos mais comuns permitir. Portanto, a plataforma IRIS da InterSystems é um "loop aberto" e não significa "escravidão da plataforma" para os usuários.





Figura 21 Aplicação do modelo de acordo com a especificação PMML na plataforma InterSystems IRIS



Vamos listar 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 de integração avançada com quaisquer fontes de dados e consumidores (APCS / SCADA, equipamentos, MRO, ERP, etc.)
  • - (Hybrid Transaction/Analytical Processing, HTAP)
  • AI/ML- Python, R, Julia
  • - (-) AI/ML-
  • Business Intelligence AI/ML-
  • API AI/ML- /SCADA, - , . .


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



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





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



Para uma interação mais substantiva com os leitores interessados ​​no material apresentado aqui, recomendamos que você vá além da leitura e continue o diálogo "ao vivo". Estamos prontos para fornecer suporte na formulação de cenários de IA / ML em tempo real em relação às especificidades de sua empresa, realizaremos prototipagem conjunta na plataforma IRIS da InterSystems, formaremos e implementaremos na prática um roteiro para a 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 é MLToolkit@intersystems.com .



All Articles