Autor: Sergey Lukyanchikov, engenheiro consultor da InterSystems
Desafios das computações AI/ML em tempo real
Vamos começar com exemplos da prática de Data Science da InterSystems:
- Um portal de compras «sobrecarregado» está conectado a um sistema de recomendação online. Haverá uma reestruturação das promoções em toda a rede de varejo (por exemplo, em vez de uma linha «plana» de promoções, agora será aplicada uma matriz «segmento-tática»). O que acontece com os mecanismos de recomendação? O que acontece com a apresentação e atualização dos dados no mecanismo de recomendação (o volume dos dados de entrada aumentou 25.000 vezes)? O que ocorre com a elaboração de recomendações (a necessidade de reduzir mil vezes o limiar de filtragem das regras recomendativas devido ao aumento mil vezes na quantidade e na «variedade»)?
- Há um sistema de monitoramento da probabilidade de desenvolvimento de falhas em nós de equipamentos. O sistema de monitoramento foi conectado ao controle de processo automatizado, transmitindo milhares de parâmetros do processo tecnológico a cada segundo. O que acontece com o sistema de monitoramento, que antes funcionava com «amostras manuais» (será capaz de garantir o monitoramento por segundo da probabilidade)? O que acontecerá se nos dados de entrada aparecer um novo bloco com várias centenas de colunas de leituras de sensores, recentemente incorporados ao controle de processo automatizado (será necessário e por quanto tempo parar o sistema de monitoramento para incluir a análise dos dados dos novos sensores)?
- Foi criado um conjunto de mecanismos AI/ML (recomendativos, de monitoramento, preditivos), que utilizam os resultados do trabalho uns dos outros. Quantas horas-homem são necessárias mensalmente para adaptar o funcionamento desse conjunto às mudanças nos dados de entrada? Qual é a «dilatação» geral ao apoiar a tomada de decisões gerenciais com esse conjunto (a frequência com que novas informações de suporte surgem em relação à frequência de novos dados de entrada)?
Resumindo esses e muitos outros exemplos, chegamos a definições dos desafios que surgem ao migrar para o uso de mecanismos de aprendizado de máquina e inteligência artificial em tempo real:
- Estamos satisfeitos com a agilidade na criação e adaptação (à situação em mudança) dos desenvolvimentos AI/ML em nossa empresa?
- Quão bem as soluções de AI/ML que utilizamos suportam a gestão de negócios em tempo real?
- As soluções de AI/ML que utilizamos conseguem se adaptar sozinhas (sem desenvolvedores) a mudanças nos dados e nas práticas de gestão de negócios?
Nosso artigo é uma análise detalhada das capacidades da plataforma InterSystems IRIS em relação ao suporte universal ao deployment de mecanismos de AI/ML, à montagem (integração) de soluções de AI/ML e ao treinamento (teste) de soluções de AI/ML em fluxos de dados intensivos. Vamos abordar pesquisas de mercado, exemplos práticos de soluções de AI/ML e aspectos conceituais do que chamamos nesta artigo de plataforma de AI/ML em tempo real.
O que sabemos a partir de pesquisas: aplicações em tempo real
Resultados , realizada entre cerca de 800 profissionais de TI em 2019 pela Lightbend, fala por si só:

Figura 1 Principais consumidores de dados em tempo real
Vamos citar trechos importantes do relatório sobre os resultados dessa pesquisa na nossa tradução:
“… As tendências na popularidade de ferramentas de integração de fluxos de dados e, ao mesmo tempo, o apoio a computação em contêineres oferecem uma resposta sinérgica à demanda do mercado por soluções mais ágeis, racionais e dinâmicas. Os fluxos de dados permitem transmitir informações mais rapidamente do que os tradicionais dados em lotes. A isso se adiciona a capacidade de aplicação rápida de métodos computacionais, como, por exemplo, recomendações baseadas em AI/ML, criando vantagens competitivas por meio do aumento da satisfação da audiência de clientes. A corrida pela agilidade também impacta todos os papéis naParadigma DevOps – aumentando a eficiência no desenvolvimento e implementação de aplicações. … Oito centos e quatro especialistas em TI forneceram informações sobre o uso de fluxos de dados em suas organizações. Os respondentes estavam predominantemente em países ocidentais (41% na Europa e 37% na América do Norte) e eram praticamente distribuídos de forma equitativa entre pequenas, médias e grandes empresas. …
A inteligência artificial não é apenas uma modinha. Cinquenta e oito por cento dos que já utilizam o processamento de fluxos de dados em aplicações AI/ML produtivas confirmam que seu uso em AI/ML terá um crescimento significativo no próximo ano (em comparação com outras aplicações).
- De acordo com a maioria dos entrevistados, o uso de fluxos de dados em cenários AI/ML terá o maior crescimento no próximo ano.
- A implementação em AI/ML irá crescer não apenas devido a tipos relativamente novos de cenários, mas também por conta de cenários tradicionais, onde dados em tempo real estão sendo utilizados de forma cada vez mais intensiva.
- Além de AI/ML, o nível de entusiasmo entre os usuários de pipelines de dados IoT é impressionante — 48% dos que já integraram dados IoT afirmam que a implementação de cenários com esses dados terá um crescimento substancial em um futuro próximo. ... »
Este interessante questionário revela que a percepção de cenários de machine learning e inteligência artificial como líderes no consumo de fluxos de dados já está 'a caminho'. Mas uma observação igualmente importante é a percepção do AI/ML em tempo real sob a ótica do DevOps: aqui já se pode começar a falar sobre a transformação da ainda predominante cultura do 'AI/ML descartável com um conjunto de dados completamente acessível'.
O conceito de uma plataforma AI/ML em tempo real
Uma das áreas típicas de aplicação da AI/ML em tempo real é o gerenciamento de processos tecnológicos na manufatura. A partir de seu exemplo e considerando as reflexões anteriores, formularemos o conceito de uma plataforma AI/ML em tempo real.
A utilização de inteligência artificial e machine learning na gestão de processos tecnológicos possui algumas particularidades:
- Os dados sobre o estado do processo tecnológico chegam de forma intensa: com alta frequência e em uma ampla gama de parâmetros (com dezenas de milhares de valores de parâmetros transmitidos por segundo de sistemas de controle automatizado).
- Os dados sobre a identificação de defeitos, para não mencionar os dados sobre seu desenvolvimento, ao contrário, são escassos e irregulares, caracterizando-se pela insuficiência na tipificação dos defeitos e sua localização no tempo (muitas vezes, apresentados em registros em papel).
- Do ponto de vista prático, para o treinamento e a aplicação de modelos, está disponível apenas uma "janela de relevância" dos dados de origem, refletindo a dinâmica do processo tecnológico em um intervalo deslizante razoável, terminando com os últimos valores lidos dos parâmetros do processo.
Essas características nos levam, além da recepção e do processamento básico em tempo real do intenso "sinal de entrada de banda larga" do processo tecnológico, a realizar (paralelamente) a aplicação, o treinamento e o controle de qualidade dos resultados do trabalho dos modelos de AI/ML — também em tempo real. O "quadro" que nossos modelos "veem" na janela deslizante de relevância está em constante mudança — e junto com ele, a qualidade dos resultados do trabalho dos modelos de AI/ML treinados em um dos "quadros" no passado. Quando a qualidade dos resultados do trabalho dos modelos de AI/ML piora (por exemplo, o valor do erro de classificação "alarme-norma" ultrapassou os limites que definimos), o re-treinamento dos modelos deve ser automaticamente iniciado em um "quadro" mais relevante — e a escolha do momento para iniciar o re-treinamento dos modelos deve considerar tanto a duração do próprio treinamento quanto a dinâmica da deterioração da qualidade do trabalho da versão atual dos modelos (uma vez que as versões atuais dos modelos continuam a ser aplicadas enquanto os modelos estão em treinamento e até que suas versões “re-treinadas” sejam formadas).
O InterSystems IRIS possui capacidades essenciais de plataforma para suportar soluções de AI/ML na gestão de processos tecnológicos em tempo real. Essas capacidades podem ser divididas em três grupos principais:
- Implantação contínua (Continuous Deployment/Delivery, CD) de novos mecanismos de AI/ML ou a adaptação dos existentes para uma solução produtiva que funcione em tempo real na plataforma InterSystems IRIS.
- Integração contínua (Continuous Integration, CI) em uma única solução produtiva dos fluxos de dados que entram no processo tecnológico, filas de dados para aplicação/treinamento/controle de qualidade do trabalho dos mecanismos de AI/ML e trocas de dados/código/controles com ambientes de modelagem matemática, cuja orquestração é realizada em tempo real pela plataforma InterSystems IRIS.
- Treinamento contínuo (auto-) dos mecanismos AI/ML realizado em ambientes de modelagem matemática utilizando dados, código e ações de controle ("decisões tomadas"), transferidos pela plataforma InterSystems IRIS
A classificação das capacidades da plataforma em relação ao aprendizado de máquina e inteligência artificial em grupos específicos não é aleatória. Citamos a abordagem metodológica da empresa Google, que fundamenta essa classificação em nossa tradução:
"... O conceito popular de DevOps atualmente abrange o desenvolvimento e a operação de sistemas de informação em larga escala. Os benefícios da implementação desse conceito incluem a redução da duração dos ciclos de desenvolvimento, aceleração do deployment e flexibilidade no planejamento de lançamentos. Para obter esses benefícios, DevOps pressupõe a adoção, no mínimo, de duas práticas:
- Integração Contínua (CI)
- Entrega Contínua (CD)
Essas práticas também se aplicam às plataformas AI/ML – com o objetivo de garantir a construção confiável e produtiva de soluções AI/ML.
As plataformas AI/ML diferem das demais sistemas de informação nos seguintes aspectos:
- Competências da equipe: ao criar uma solução AI/ML, a equipe normalmente inclui cientistas de dados ou especialistas acadêmicos na área de pesquisa de dados, que realizam análise de dados, desenvolvem e testam modelos. Esses participantes da equipe podem não ser desenvolvedores de código produtivo profissionais.
- Desenvolvimento: os mecanismos AI/ML são experimentais por natureza. Para resolver uma tarefa da maneira mais eficiente, é necessário testar várias combinações de variáveis de entrada, algoritmos, métodos de modelagem e parâmetros de modelo. A complexidade desse teste envolve rastrear "o que funcionou/não funcionou", garantindo a reprodutibilidade de episódios e a generalização das inovações para implementações recorrentes.
- Teste: o teste de mecanismos AI/ML requer uma gama mais ampla de testes do que a maioria dos outros desenvolvimentos. Além dos testes de módulo e integração padrão, são testadas a validade dos dados, a qualidade dos resultados da aplicação do modelo em amostras de treinamento e controle.
- Implantação: a implantação de soluções de AI/ML não se resume a serviços preditivos que aplicam um modelo treinado uma única vez. As soluções de AI/ML são construídas em torno de pipelines de múltiplas etapas, que realizam o treinamento automatizado e a aplicação de modelos. A implantação de tais pipelines envolve a automação de ações não triviais, tradicionalmente executadas manualmente por cientistas de dados, para possibilitar o treinamento e teste de modelos.
- Produtividade: os mecanismos de AI/ML podem carecer de desempenho não apenas devido à programação ineficaz, mas também em razão da natureza constantemente mutável dos dados de entrada. Em outras palavras, o desempenho dos mecanismos de AI/ML pode deteriorar-se por uma gama mais ampla de causas do que o desempenho de desenvolvimentos convencionais. Isso leva à necessidade de monitoramento (em tempo real) do desempenho dos nossos mecanismos de AI/ML, assim como do envio de alertas ou rejeição de resultados, caso os indicadores de desempenho não correspondam às expectativas.
As plataformas de AI/ML são semelhantes a outros sistemas de informação na medida em que ambos requerem integração contínua de código com controle de versão, testes modulares, testes de integração e implantação contínua de desenvolvimentos. No entanto, no caso de AI/ML, há algumas diferenças importantes:
- CI (Integração Contínua) não se limita mais ao teste e validação do código dos componentes implantados – ela também inclui o teste e validação de dados e modelos de AI/ML.
- CD (Entrega/Implantação Contínua) não se resume à criação e lançamento de pacotes ou serviços, mas envolve uma plataforma para composição, treinamento e aplicação de soluções de AI/ML.
- CT (Treinamento Contínuo) – um novo elemento [nota do autor: um novo elemento em relação ao conceito tradicional de DevOps, onde CT geralmente se refere ao Teste Contínuo], característico das plataformas de AI/ML, que é responsável pela gestão autônoma dos mecanismos de treinamento e aplicação de modelos de AI/ML. …
Podemos afirmar que o aprendizado de máquina e a inteligência artificial, que operam 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 estreita entre todas as áreas funcionais e de domínio, e uma organização mais eficiente dos recursos humanos e de máquinas.
Cenário em tempo real: reconhecimento do desenvolvimento de defeitos em bombas de nutrientes
Continuando a usar como exemplo a área de gerenciamento de processos tecnológicos, consideremos uma tarefa específica (já mencionada no início): é necessário garantir, em tempo real, o monitoramento do desenvolvimento de defeitos nas bombas com base no fluxo de valores dos parâmetros do processo tecnológico e nos relatórios da equipe de manutenção sobre os defeitos identificados.

Figura 2 Formulação da tarefa de monitoramento do desenvolvimento de defeitos
A característica da maioria das tarefas formuladas dessa maneira na prática é que a regularidade e a rapidez na chegada dos dados (Sistemas de Controle de Processos Tecnológicos) devem ser consideradas à luz da episódica e irregular ocorrência (e registro) de defeitos de vários tipos. Em outras palavras: os dados do Sistema de Controle de Processos Tecnológicos chegam uma vez por segundo corretos e precisos, enquanto os defeitos são registrados com lápis químico em uma anotação com data em um caderno geral na fábrica (por exemplo: "12.01 - vazamento na tampa do lado do 3º rolamento").
Assim, podemos complementar a formulação da tarefa com esta importante limitação: a "marca" de um tipo específico de defeito que temos é única (ou seja, o exemplo de um defeito de tipo específico é apresentado pelos dados do Sistema de Controle de Processos Tecnológicos em uma data específica - e não temos mais exemplos desse tipo de defeito). Essa limitação nos leva imediatamente para além do aprendizado de máquina clássico (aprendizado supervisionado), para o qual muitas "marcas" devem existir.

Figura 3 Esclarecimento da tarefa de monitoramento do desenvolvimento de defeitos
Podemos de alguma forma "duplicar" a única "marca" que temos à nossa disposição? Sim, podemos. O estado atual da bomba é caracterizado pelo grau de semelhança com os defeitos registrados. Mesmo sem aplicar métodos quantitativos, ao nível da percepção visual, observando a dinâmica dos valores dos dados que chegam do SCADA, já é possível extrair muitas informações.

Figura 4 Dinâmica do estado da bomba em relação à "marca" do defeito do tipo especificado
Mas a percepção visual (pelo menos, por enquanto) não é o gerador mais adequado de "marcas" em nosso cenário em rápida mudança. Vamos avaliar a semelhança do estado atual da bomba com os defeitos registrados por meio de um teste estatístico.

Figura 5 Aplicação do teste estatístico aos dados recebidos em relação à "marca" do defeito
O teste estatístico determina a probabilidade de que os registros com os valores dos parâmetros do processo tecnológico no "fluxo-pacote" obtido do SCADA sejam semelhantes aos registros da "marca" do defeito de um determinado tipo. O valor de probabilidade calculado após a aplicação do teste estatístico (índice de semelhança estatística) é transformado em um valor de 0 ou 1, tornando-se uma "marca" para aprendizado de máquina em cada registro específico do pacote analisado. Ou seja, após a análise do novo pacote de registros do estado da bomba pelo teste estatístico, temos a oportunidade de (a) adicionar esse pacote ao conjunto de treino para treinar o modelo de IA/ML e (b) realizar o controle de qualidade do desempenho da versão atual do modelo ao aplicá-lo a esse pacote.

Figura 6 Aplicação do modelo de aprendizado de máquina aos dados recebidos em relação à "marca" do defeito
Em um de nossos webinars anteriores Mostramos e explicamos como a plataforma InterSystems IRIS permite implementar qualquer mecanismo de IA/ML na forma de processos de negócios executados continuamente, que controlam a veracidade dos resultados de modelagem e adaptam os parâmetros dos modelos. Ao implementar o protótipo do nosso cenário com bombas, utilizamos toda a funcionalidade apresentada durante o webinar do InterSystems IRIS – implementando no processo de análise, dentro da nossa solução, não o aprendizado supervisionado clássico, mas sim o aprendizado por reforço (reinforcement learning), que gerencia automaticamente a amostra para o treinamento dos modelos. A amostra de treinamento inclui registros 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 forneceram o resultado 1 para esses registros. Ao re-treinar o modelo, durante sua validação (o modelo re-treinado é aplicado à sua própria amostra de treinamento, com a aplicação prévia do teste estatístico), registros que 'não mantiveram' o resultado 1 após o processamento do teste estatístico (devido à presença contínua na amostra de registros da 'etiqueta' original do defeito) são removidos da amostra de treinamento, e a nova versão do modelo aprende com a 'etiqueta' do defeito mais os registros 'mantidos' do fluxo.

Figura 7 Robotização de cálculos de IA/ML no InterSystems IRIS
Caso surja a necessidade de um tipo de 'segundo julgamento' sobre a qualidade da detecção obtida com cálculos locais no InterSystems IRIS, é criado um processo-consultor para realizar o treinamento-aplicação de modelos em um conjunto de dados de controle usando serviços em nuvem (por exemplo, Microsoft Azure, Amazon Web Services, Google Cloud Platform, etc.):

Figura 8 'Segundo julgamento' do Microsoft Azure sob a orquestração do InterSystems IRIS
O protótipo do nosso cenário no InterSystems IRIS é implementado como um sistema de agentes de processos analíticos que interagem com o objeto de equipamento (bomba), ambientes de modelagem matemática (Python, R e Julia), e asseguram o autoaprimoramento de todos os mecanismos de IA/ML envolvidos – com fluxos de dados em tempo real.

Figura 9 Funcionalidade principal da solução de IA/ML em tempo real no InterSystems IRIS
Resultado prático do trabalho do nosso protótipo:
- Amostra de defeito reconhecida pelo modelo (12 de janeiro):

- Defeito em desenvolvimento reconhecido pelo modelo, que não estava na amostra (11 de setembro; o defeito foi constatado pela equipe de reparo apenas dois dias depois - 13 de setembro):

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 identificar o desenvolvimento de defeitos desse tipo vários dias antes do momento em que são detectados pela equipe de reparo.
InterSystems IRIS – plataforma universal de computação AI/ML em tempo real
A plataforma InterSystems IRIS simplifica o desenvolvimento, a implementação e a operação de soluções em dados em tempo real. A InterSystems IRIS pode realizar simultaneamente processamento transacional e analítico de dados; suportar visões de dados sincronizadas de acordo com vários modelos (incluindo relacional, hierárquico, orientado a objetos e documental); atuar como plataforma de integração de uma ampla gama de fontes de dados e aplicativos individuais; e fornecer análise avançada em tempo real sobre dados estruturados e não estruturados. A InterSystems IRIS também oferece mecanismos para a aplicação de ferramentas analíticas externas, permitindo uma combinação flexível de implantação em nuvem e em servidores locais.
Aplicações construídas na plataforma InterSystems IRIS foram implantadas em diversos setores, ajudando as empresas a obter um impacto econômico significativo em perspectivas estratégicas e operacionais, aumentando a conscientização na tomada de decisões e eliminando lacunas entre eventos, análise e ação.

Figura 10 Arquitetura do InterSystems IRIS no contexto de AI/ML em tempo real
Assim como o diagrama anterior, o diagrama abaixo combina um novo 'sistema de coordenadas' (CD/CI/CT) com o esquema de fluxos de informação entre os elementos de trabalho da plataforma. A visualização começa com o macro-mecanismo CD e continua com os macro-mecanismos CI e CT.

Figura 11 Esquema de 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 desenvolvimentos existentes e/ou criam novas soluções AI/ML utilizando um editor de código especializado para mecanismos AI/ML: Jupyter (nome completo: Jupyter Notebook; para abreviar, os documentos criados nesse editor também são denominados assim). No Jupyter, o desenvolvedor tem a capacidade de escrever, depurar e verificar a funcionalidade (incluindo o uso de gráficos) de um desenvolvimento AI/ML específico antes de sua implementação (‘deploy’) no InterSystems IRIS. É evidente que o novo desenvolvimento criado desse modo receberá apenas uma depuração básica (uma vez que, entre outras questões, o Jupyter não opera com fluxos de dados em tempo real) - isso é comum, visto que o principal resultado do desenvolvimento no Jupyter é a confirmação da viabilidade de um mecanismo AI/ML isolado (‘apresenta o resultado esperado em uma amostra de dados’). De maneira semelhante, um mecanismo já implantado na plataforma (veja os próximos macro-mecanismos) pode exigir um ‘rollback’ para a versão ‘pré-plataforma’ antes do processo de depuração no Jupyter (leitura de dados de arquivos, manipulação de dados por meio de xDBC em vez de tabelas, interação direta com globais - arrays multidimensionais de dados InterSystems IRIS - etc.).
Um aspecto importante da implementação do CD especificamente no InterSystems IRIS: existe uma integração bidirecional entre a plataforma e o Jupyter, permitindo a transferência para a plataforma (e, posteriormente, o processamento na plataforma) de conteúdo nas linguagens Python, R e Julia (todas três são linguagens de programação nos principais ambientes open-source de modelagem matemática). Assim, os desenvolvedores de conteúdo AI/ML têm a oportunidade de realizar o ‘desdobramento contínuo’ desse conteúdo na plataforma, trabalhando em seu editor Jupyter familiar, com bibliotecas conhecidas disponíveis em Python, R, Julia, e realizando a depuração básica (se necessário) fora da plataforma.
Vamos abordar o macro-mecanismo de CI no InterSystems IRIS. O diagrama ilustra o macroprocesso de operação do "robô de tempo real" (um conjunto de estruturas de dados, processos de negócios e fragmentos de código orquestrados em linguagens de matriz e na linguagem ObjectScript – a linguagem nativa de desenvolvimento do InterSystems IRIS). A tarefa deste macroprocesso é manter as filas de dados necessárias para o funcionamento dos mecanismos de AI/ML (baseadas em fluxos de dados transmitidos para a plataforma em tempo real), tomar decisões sobre a sequência de aplicação e a "variedade" de mecanismos de AI/ML (também chamados de "algoritmos matemáticos", "modelos", etc. – podem ser denominados de várias maneiras dependendo das especificidades da implementação e das preferências terminológicas), e manter as estruturas de dados atualizadas para analisar os resultados do funcionamento dos mecanismos de AI/ML (cubos, tabelas, arrays multidimensionais etc. – para relatórios, dashboards, etc.).
Um aspecto importante da implementação de CI especificamente no InterSystems IRIS: entre a plataforma e os ambientes de modelagem matemática, uma integração bidirecional foi realizada, permitindo a execução de conteúdo hospedado na plataforma em linguagens Python, R e Julia em seus respectivos ambientes, retornando os resultados da execução. Esta integração é realizada tanto no "modo terminal" (ou seja, o conteúdo de AI/ML é formulado como código em ObjectScript, que realiza chamadas aos ambientes matemáticos), quanto no "modo processo de negócios" (ou seja, o conteúdo de AI/ML é formulado como um processo de negócios utilizando um editor gráfico, ou às vezes utilizando Jupyter, ou IDEs – IRIS Studio, Eclipse, Visual Studio Code). A disponibilidade de processos de negócios para edição no Jupyter é refletida pela conexão entre o IRIS no nível CI e Jupyter no nível CD. Uma visão mais detalhada da integração com os ambientes de modelagem matemática será feita a seguir. Neste estágio, acreditamos que há todas as razões para registrar a presença na plataforma de todas as ferramentas necessárias para a implementação da "integração contínua" de desenvolvimentos em AI/ML (provenientes da "implantação contínua") em soluções de AI/ML em tempo real.
E o principal mecanismo macromecânico: CT. Sem ele, não é possível ter uma plataforma de AI/ML (mesmo que o "tempo real" seja implementado através de CD/CI). A essência do CT é o trabalho da plataforma com "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ções, vetores-matrizes, camadas de redes neurais, etc. Este "trabalho", na maioria dos casos, consiste na criação dos mencionados artefatos em ambientes (no caso de modelos, por exemplo, a "criação" consiste em definir a especificação do modelo e, em seguida, ajustar os valores de seus parâmetros – o chamado "treinamento" do modelo), sua aplicação (para modelos: cálculo com a ajuda deles de valores "modelados" de variáveis-alvo – previsões, pertencimento a categorias, probabilidade de ocorrência de eventos, etc.) e aprimoramento dos artefatos já criados e aplicados (por exemplo, redefinição do conjunto de variáveis de entrada do modelo com base nos resultados de aplicação – com o objetivo de aumentar a precisão da previsão, por exemplo). Um ponto chave para entender o papel do CT é sua "abstração" das realidades de CD e CI: o CT irá implementar todos os artefatos, orientando-se pela especificidade computacional e matemática da solução de AI/ML dentro das possibilidades oferecidas pelos ambientes específicos. A responsabilidade por "fornecer os dados de entrada" e "entregar os resultados" será de CD e CI.
Um aspecto importante da implementação do CT no InterSystems IRIS: ao aproveitar a integração mencionada anteriormente com ambientes de modelagem matemática, a plataforma tem a capacidade de extrair dos sesssões de trabalho que estão sendo gerenciadas em ambientes matemáticos os artefatos e (o mais importante) convertê-los em objetos de dados da plataforma. Por exemplo, uma tabela de distribuição que foi criada recentemente em uma sessão de trabalho Python pode ser (sem interromper a sessão em Python) transferida para a plataforma na forma, por exemplo, de um global (array multidimensional de dados do InterSystems IRIS) – e utilizada para cálculos em outro mecanismo de AI/ML (implementado já em linguagem de outro ambiente – por exemplo, em R) – ou uma tabela virtual. Outro exemplo: em paralelo ao "modo padrão" de operação do modelo (na sessão de trabalho Python), nos dados de entrada é realizado o "auto-ML": seleção automática das variáveis de entrada otimizadas e valores dos parâmetros. E junto com o aprendizado "padrão", o modelo produtivo em tempo real recebe também uma "proposta de otimização" de sua especificação – na qual um conjunto de variáveis de entrada é alterado, e os valores dos parâmetros mudam (não mais como resultado do aprendizado em Python, mas como resultado do aprendizado 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 nos fenômenos modelados.
Vamos explorar mais detalhadamente a funcionalidade de AI/ML da plataforma InterSystems IRIS, usando o exemplo de um protótipo realmente existente.
No diagrama abaixo, na parte esquerda do slide, está a parte do processo de negócios que implementa a execução de scripts em Python e R. Na parte central, estão os logs visuais da execução de alguns desses scripts, respectivamente em Python e em R. Logo após, exemplos de conteúdo em ambas as linguagens, enviados para execução nos respectivos ambientes. À direita, visualizações baseadas nos resultados da execução dos scripts. As visualizações na parte superior foram feitas no IRIS Analytics (os dados foram extraídos do Python para a plataforma de dados InterSystems IRIS e exibidos no dashboard da plataforma), enquanto as da parte inferior foram feitas diretamente na sessão de trabalho do R e exportadas para arquivos gráficos. Um aspecto importante: o fragmento apresentado no protótipo é responsável pelo treinamento do modelo (classificação dos estados do equipamento) com dados recebidos em tempo real de um processo simulador de equipamento, acionado por um processo de monitoramento da qualidade da classificação, observado durante a aplicação do modelo. A implementação da solução de AI/ML na forma de um conjunto de processos interativos ("agentes") será discutida a seguir.

Figura 12 Interação com Python, R e Julia no InterSystems IRIS
Os processos da plataforma (também chamados de "processos de negócios", "processos analíticos", "pipelines", etc. – dependendo do contexto) são, antes de tudo, editáveis em um editor gráfico de processos de negócios na própria plataforma, de modo que ao mesmo tempo uma diagramação é criada, assim como o mecanismo correspondente de AI/ML (código de programação). Ao dizer que "um mecanismo de AI/ML é obtido", inicialmente implicamos hibridismo (dentro de um único processo): conteúdo nas linguagens de ambientes de modelagem matemática coexiste com conteúdo em SQL (incluindo extensões de ), em InterSystems ObjectScript, com outras linguagens suportadas. Além disso, o processo da plataforma oferece amplas possibilidades para a 'renderização' em forma de fragmentos hierarquicamente aninhados (como pode ser visto no exemplo da diagramação abaixo), permitindo organizar de modo eficaz até mesmo conteúdos bastante complexos, sem nunca 'sair' do formato gráfico (em métodos/classe/procedimentos 'não gráficos', etc.). Ou seja, se necessário (o que é esperado na maioria dos projetos), toda a solução de AI/ML pode ser implementada em um formato gráfico auto-documentado. Vale ressaltar que na parte central do diagrama abaixo, onde está apresentado um 'nível de aninhamento' mais elevado, pode-se ver que, além do trabalho de treinamento do modelo (utilizando Python e R), é adicionado a análise da chamada curva ROC do modelo treinado, permitindo avaliar visualmente (e computacionalmente também) a qualidade do aprendizado – e essa análise é realizada na linguagem Julia (executada, respectivamente, no ambiente de matemática Julia).

Figura 13 Ambiente visual de composição de soluções AI/ML no InterSystems IRIS
Como mencionado anteriormente, o desenvolvimento inicial e (em alguns casos) a adaptação de mecanismos de AI/ML já implementados na plataforma pode ser realizada fora da plataforma no editor Jupyter. No diagrama abaixo, vemos um exemplo da adaptação do processo da plataforma existente (o mesmo que no diagrama acima) – assim aparece em Jupyter o fragmento que é responsável pelo treinamento do modelo. O conteúdo na linguagem Python é editável, depurável, e a saída gráfica está disponível diretamente no Jupyter. Alterações (se necessário) podem ser feitas com sincronização instantânea no processo da plataforma, inclusive na sua versão produtiva. De forma semelhante, conteúdos novos podem ser enviados para a plataforma (um novo processo na plataforma é automaticamente gerado).

Figura 14 Uso do Jupyter Notebook para edição do mecanismo AI/ML na plataforma InterSystems IRIS
A adaptação do processo de plataforma pode ser realizada não apenas em formato gráfico ou de notebook, mas também em formato IDE (Ambiente de Desenvolvimento Integrado) "total". IDEs como IRIS Studio (estúdio nativo IRIS), Visual Studio Code (extensão InterSystems IRIS para VSCode) e Eclipse (plugin Atelier) desempenham esse papel. Em alguns casos, é possível o uso simultâneo de todas as três IDEs pela equipe de desenvolvedores. No diagrama abaixo, é apresentado um exemplo de edição do mesmo processo no estúdio IRIS, no Visual Studio Code e no Eclipse. Todo o conteúdo está disponível para edição: Python/R/Julia/SQL, ObjectScript e processo de negócios.

Figura 15 Desenvolvimento de processo de negócios InterSystems IRIS em diferentes IDEs
É digno de nota os meios de descrição e execução de processos de negócios InterSystems IRIS na linguagem Business Process Language (BPL). A BPL permite o uso de "componentes de integração prontos" (activities) nos processos de negócios - o que, na verdade, fornece razões completas para afirmar que a "integração contínua" foi implementada no InterSystems IRIS. Os componentes prontos do processo de negócios (atividades e conexões entre elas) são um poderoso acelerador para a montagem de soluções de AI/ML. E não apenas a montagem: graças às atividades e às conexões entre elas, surge uma "camada de gestão autônoma" sobre os desenvolvimentos e mecanismos de AI/ML díspares, capaz de tomar decisões conforme a situação, em tempo real.

Figura 16 Componentes prontos de processos de negócios para integração contínua (CI) na plataforma InterSystems IRIS
O conceito de sistemas de agentes (também conhecidos como "sistemas multiagentes") tem uma posição forte na robotização, e a plataforma InterSystems IRIS o suporta organicamente através do construto "produto-processo". Além das possibilidades ilimitadas para "preencher" cada processo com a funcionalidade necessária para a 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 altamente instáveis (comportamento de sistemas sociais/bióticos, processos tecnológicos parcialmente observáveis, etc.).

Figura 16 Funcionamento da solução AI/ML na forma de um sistema de agentes de processos de negócios no InterSystems IRIS
Continuamos nossa análise do InterSystems IRIS com uma discussão sobre a aplicação da plataforma para resolver classes inteiras de problemas em tempo real (uma introdução bastante detalhada a algumas das melhores práticas de AI/ML na InterSystems IRIS pode ser encontrada em uma de nossas análises anteriores. ).
Seguindo a linha da diagrama anterior, abaixo está um diagrama mais detalhado do sistema de agentes. O diagrama ilustra o mesmo protótipo, onde são visíveis os quatro processos-agentes, com as relações entre eles esquematicamente desenhadas: GENERATOR – realiza a criação de dados pelos sensores do equipamento, BUFFER – gerencia as filas de dados, ANALYZER – executa propriamente o aprendizado de máquina, MONITOR – controla a qualidade do aprendizado de máquina e sinaliza a necessidade de re-treinamento do modelo.

Figura 17 Composição da solução AI/ML na forma de um sistema de agentes para processos de negócios na InterSystems IRIS.
No diagrama abaixo, é ilustrado o funcionamento autônomo de outro protótipo robótico (reconhecimento da tonalidade emocional de textos) ao longo de um determinado período. Na parte superior – a evolução do indicador de qualidade do treinamento do modelo (a qualidade aumenta), na parte inferior – a dinâmica do indicador de qualidade da aplicação do modelo e os fatos de re-treinamento (linhas vermelhas). Como pode ser visto, a solução se auto-treinou de forma eficaz e autônoma, funcionando em um nível de qualidade definido (os valores do indicador de qualidade não caem abaixo de 80%).

Figura 18 Aprendizado contínuo (auto-aprendizado) (CT) na plataforma InterSystems IRIS.
Sobre o "auto-ML", também mencionamos anteriormente, mas no diagrama abaixo, a aplicação dessa funcionalidade é mostrada em detalhes com um exemplo de mais um protótipo. No esquema gráfico de um fragmento do processo de negócios, está mostrada a atividade que inicia a simulação na pilha H2O, os resultados dessa simulação são apresentados (com uma clara predominância do modelo obtido sobre os modelos "artificiais", conforme o diagrama comparativo das curvas ROC, além da descoberta automatizada das "variáveis mais influentes" disponíveis no conjunto de dados original). Um ponto importante aqui é a economia de tempo e recursos especializados que é alcançada com o "auto-ML": o que o nosso processo de plataforma faz em meia minuto (encontrar e treinar o modelo ótimo) pode levar a um especialista de uma semana a um mês.

Figura 19 Integração do "auto-ML" na solução AI/ML na plataforma InterSystems IRIS
O diagrama abaixo um pouco "dilui a culminância", mas é uma boa forma de concluir a narrativa sobre as classes de problemas que são resolvidas em tempo real: lembramos que, apesar de todas as capacidades da plataforma InterSystems IRIS, o treinamento de modelos sob sua gestão não é obrigatório. A plataforma pode obter externamente a chamada especificação PMML de um modelo treinado em uma ferramenta que não está sob a administração da plataforma – e aplicar esse modelo em tempo real a partir do momento de sua importação. . É importante levar em conta que nem todos os artefatos de AI/ML podem ser reduzidos à especificação PMML, mesmo que a maioria dos artefatos mais comuns permita isso. Assim, a plataforma InterSystems IRIS possui um "contorno aberto" e não implica em "escravidão de plataforma" para os usuários.

Figura 20 Integração do "auto-ML" na solução AI/ML na plataforma InterSystems IRIS
Vamos listar as vantagens adicionais da plataforma InterSystems IRIS (para maior clareza, aplicáveis à gestão de processos tecnológicos), que são de grande importância na automação de inteligência artificial e aprendizado de máquina em tempo real:
- Recursos avançados de integração com quaisquer fontes e consumidores de dados (SCADA/Automação, equipamentos, manutenção, ERP, etc.)
- Embebido para processamento analítico transacional de alto desempenho (Hybrid Transaction/Analytical Processing, HTAP) de qualquer volume de dados de processos tecnológicos
- Ferramentas de desenvolvimento para a implementação contínua de mecanismos AI/ML em soluções em tempo real com base em Python, R, Julia
- Processos de negócios adaptativos para integração contínua e (auto) aprendizagem de mecanismos de soluções AI/ML em tempo real
- Ferramentas integradas de Business Intelligence para visualização de dados de processos tecnológicos e resultados de soluções AI/ML
- para entrega de resultados de soluções AI/ML em APTU/SCADA, sistemas de informação e análise, envios de alertas etc.
As soluções AI/ML na plataforma InterSystems IRIS se integram facilmente à infraestrutura de TI existente. A plataforma InterSystems IRIS garante alta confiabilidade das soluções AI/ML por meio do suporte a configurações de alta disponibilidade e recuperação de desastres, além de permitir implantações flexíveis em ambientes virtuais, servidores físicos, nuvens privadas e públicas, e contêineres Docker.
Assim, o InterSystems IRIS é uma plataforma versátil para computação AI/ML em tempo real. A versatilidade da nossa plataforma é comprovada na prática pela ausência de limitações de fato na complexidade das computações implementadas, permitindo que o InterSystems IRIS combine (em tempo real) o processamento de cenários de diversas indústrias, com uma adaptabilidade excepcional de qualquer função e mecanismo da plataforma às necessidades específicas dos usuários.

Figura 21 InterSystems IRIS — plataforma versátil para computação AI/ML em tempo real
Para um engajamento mais substancial com aqueles de nossos leitores interessados no material apresentado aqui, recomendamos que não se limitem à leitura e continuem o diálogo "pessoalmente". Estamos prontos para oferecer suporte na formulação de cenários AI/ML em tempo real aplicáveis às especificidades da sua empresa, conduziremos prototipagem conjunta na plataforma InterSystems IRIS, e criaremos e implementaremos na prática um roadmap para a implementação de inteligência artificial e aprendizado de máquina em seus processos produtivos e de gerenciamento. O endereço de e-mail de contato do nosso grupo de especialistas em AI/ML – .
Fonte: habr.com
