InterSystems IRIS es una plataforma universal de AI/ML en tiempo real

Autor: Sergey Lukyanchikov, ingeniero consultor de InterSystems

Llamadas informáticas AI/ML en tiempo real

Comencemos con ejemplos de la experiencia de la práctica de Data Science en InterSystems:

  • El portal del comprador cargado está conectado a un sistema de recomendación en línea. Habrá una reestructuración de las promociones en toda la red minorista (por ejemplo, en lugar de una línea de promociones "plana", ahora se utilizará una matriz de "tácticas de segmentos"). ¿Qué pasa con los motores de recomendación? ¿Qué sucede con el envío y la actualización de datos al motor de recomendaciones (el volumen de datos de entrada ha aumentado 25000 veces)? ¿Qué sucede con el desarrollo de recomendaciones (la necesidad de reducir mil veces el umbral de filtrado de las reglas de recomendación debido a un aumento mil veces mayor en su número y “rango”)?
  • Existe un sistema para monitorear la probabilidad de que se desarrollen defectos en los componentes del equipo. Al sistema de monitorización se conectó un sistema automatizado de control de procesos que transmite miles de parámetros tecnológicos del proceso por segundo. ¿Qué pasa con el sistema de seguimiento que antes funcionaba con “muestras manuales” (es capaz de proporcionar un seguimiento de la probabilidad segundo a segundo)? ¿Qué pasará si aparece un nuevo bloque de varios cientos de columnas en los datos de entrada con lecturas de sensores agregados recientemente al sistema de control de procesos (será necesario y durante cuánto tiempo detener el sistema de monitoreo para incluir datos de nuevos sensores en el análisis? )?
  • Se ha creado un conjunto de mecanismos de IA/ML (recomendación, seguimiento, previsión) que utilizan los resultados del trabajo de cada uno. ¿Cuántas horas hombre se requieren cada mes para adaptar la operación de este complejo a los cambios en los datos de entrada? ¿Cuál es la "desaceleración" general cuando está respaldada por el complejo de toma de decisiones de gestión (la frecuencia de aparición de nueva información de respaldo en relación con la frecuencia de aparición de nuevos datos de entrada)?

Resumiendo estos y muchos otros ejemplos, hemos llegado a la formulación de los desafíos que surgen al pasar al uso de mecanismos de aprendizaje automático e inteligencia artificial en tiempo real:

  • ¿Estamos satisfechos con la velocidad de creación y adaptación (a la situación cambiante) de los desarrollos de IA/ML en nuestra empresa?
  • ¿En qué medida las soluciones de IA/ML que utilizamos respaldan la gestión empresarial en tiempo real?
  • ¿Las soluciones de IA/ML que utilizamos son capaces de adaptarse de forma independiente (sin desarrolladores) a los cambios en los datos y las prácticas de gestión empresarial?

Nuestro artículo es una descripción detallada de las capacidades de la plataforma InterSystems IRIS en términos de soporte universal para el despliegue de mecanismos AI/ML, ensamblaje (integración) de soluciones AI/ML y capacitación (pruebas) de soluciones AI/ML en condiciones intensivas. flujos de datos. En este artículo analizaremos investigaciones de mercado, estudios de casos de soluciones de IA/ML y aspectos conceptuales de lo que llamamos una plataforma de IA/ML en tiempo real.

Lo que sabemos de las encuestas: aplicaciones en tiempo real

resultados estudiorealizado entre casi 800 profesionales de TI en 2019 por Lightbend, hablan por sí solos:

InterSystems IRIS es una plataforma universal de AI/ML en tiempo real
Figura 1 Principales consumidores de datos en tiempo real

Citemos fragmentos importantes del informe sobre los resultados de esta encuesta en nuestra traducción:

“... Las tendencias en la popularidad de las herramientas para integrar flujos de datos y, al mismo tiempo, soportar la computación en contenedores brindan una respuesta sinérgica a la solicitud del mercado de una propuesta de soluciones efectivas más receptiva, racional y dinámica. La transmisión de datos transfiere información más rápido que los paquetes de datos tradicionales. A esto se suma la capacidad de aplicar rápidamente métodos computacionales, como, por ejemplo, recomendaciones basadas en AI/ML, creando ventajas competitivas a través de una mayor satisfacción del cliente. La carrera por la agilidad también afecta a todos los roles en el paradigma DevOps, lo que hace que el desarrollo y la implementación de aplicaciones sean más eficientes. … Ochocientos cuatro profesionales de TI proporcionaron información sobre el uso de los flujos de datos en sus organizaciones. Los encuestados estaban ubicados predominantemente en países occidentales (41% en Europa y 37% en América del Norte) y estaban distribuidos casi por igual entre pequeñas, medianas y grandes empresas. ...

... La inteligencia artificial no es una exageración. El cincuenta y ocho por ciento de aquellos que ya utilizan el procesamiento de flujo de datos en aplicaciones de productividad AI/ML confirman que su uso de AI/ML experimentará el mayor crecimiento en el próximo año (en comparación con otras aplicaciones).

  • Según la mayoría de los encuestados, el uso de flujos de datos en escenarios de IA/ML experimentará el mayor crecimiento durante el próximo año.
  • Las aplicaciones de IA/ML crecerán no solo debido a tipos de escenarios relativamente nuevos, sino también a escenarios tradicionales en los que se utilizan cada vez más datos en tiempo real.
  • Además de AI/ML, el nivel de entusiasmo entre los usuarios de los canales de datos de IoT es impresionante: el 48 % de los que ya han integrado datos de IoT dicen que la implementación de escenarios sobre estos datos verá un aumento significativo en el futuro cercano. ..."

De esta interesante encuesta se desprende claramente que la percepción de los escenarios de aprendizaje automático y de inteligencia artificial como líderes en el consumo de flujos de datos ya está "en camino". Pero una observación igualmente importante es la percepción de la IA/ML en tiempo real a través de la lente de DevOps: aquí ya podemos comenzar a hablar de la transformación de la cultura aún dominante de “IA/ML desechable con un conjunto de datos totalmente accesible”.

Concepto de plataforma AI/ML en tiempo real

Un área de aplicación típica para AI/ML en tiempo real es el control de procesos en la fabricación. Usando su ejemplo y teniendo en cuenta las ideas anteriores, formularemos el concepto de una plataforma AI/ML en tiempo real.
El uso de inteligencia artificial y aprendizaje automático en el control de procesos tiene una serie de características:

  • Los datos sobre el estado del proceso tecnológico se reciben de forma intensiva: con alta frecuencia y para una amplia gama de parámetros (hasta decenas de miles de valores de parámetros transmitidos por segundo desde el sistema de control de procesos)
  • Los datos sobre la identificación de defectos, por no hablar de su desarrollo, por el contrario, son escasos e irregulares, caracterizados por una tipificación insuficiente de los defectos y su localización en el tiempo (a menudo representada por registros en papel).
  • Desde un punto de vista práctico, sólo está disponible una "ventana de relevancia" de los datos fuente para entrenar y aplicar modelos, que refleja la dinámica del proceso tecnológico durante un intervalo deslizante razonable que finaliza con los últimos valores leídos de los parámetros del proceso.

Estas características nos obligan, además de la recepción y procesamiento básico en tiempo real de la intensiva “señal de entrada de banda ancha” del proceso tecnológico, a realizar (en paralelo) la aplicación, entrenamiento y control de calidad de los resultados de la IA/ Modelos ML, también en tiempo real. El "marco" que nuestros modelos "ven" en la ventana deslizante de relevancia cambia constantemente y, con él, también cambia la calidad de los resultados del trabajo de los modelos AI/ML entrenados en uno de los "marcos" en el pasado. . Si la calidad de los resultados del trabajo de los modelos AI/ML se deteriora (por ejemplo: el valor del error de clasificación "alarma-norma" ha superado los límites que hemos definido), se debe iniciar automáticamente un entrenamiento adicional de los modelos en un "marco" más actual - y la elección del momento para iniciar la capacitación adicional de los modelos debe tener en cuenta tanto la duración de la capacitación en sí como la dinámica de deterioro en la calidad del trabajo de la versión actual de los modelos (desde las versiones actuales de los modelos continúan utilizándose mientras se entrenan los modelos y hasta que se formen sus versiones “recién entrenadas”).

InterSystems IRIS tiene capacidades de plataforma clave para habilitar soluciones de IA/ML para el control de procesos en tiempo real. Estas capacidades se pueden dividir en tres grupos principales:

  • Despliegue continuo (Despliegue/Entrega Continua, CD) de mecanismos AI/ML nuevos o adaptados existentes en una solución productiva que opera en tiempo real en la plataforma InterSystems IRIS
  • Integración continua (CI) en una única solución productiva de flujos de datos de procesos tecnológicos entrantes, colas de datos para aplicación/capacitación/control de calidad de mecanismos de IA/ML e intercambios de datos/código/acciones de control con entornos de modelado matemático, orquestados en tiempo real. plataforma InterSystems IRIS
  • (Auto)entrenamiento continuo (Continuous Training, CT) de mecanismos de IA/ML, realizado en entornos de modelado matemático utilizando datos, código y acciones de control (“decisiones tomadas”) transmitidas por la plataforma InterSystems IRIS

La clasificación de las capacidades de las plataformas en relación con el aprendizaje automático y la inteligencia artificial precisamente en estos grupos no es casual. Citemos los metodológicos. publicación Google, que proporciona una base conceptual para esta clasificación, en nuestra traducción:

“... El concepto DevOps, popular hoy en día, abarca el desarrollo y operación de sistemas de información a gran escala. Las ventajas de implementar este concepto son una reducción en la duración de los ciclos de desarrollo, una implementación más rápida de los desarrollos y flexibilidad en la planificación de lanzamientos. Para lograr estos beneficios, DevOps implica la implementación de al menos dos prácticas:

  • Integración continua (CI)
  • Entrega continua (CD)

Estas prácticas también se aplican a las plataformas de IA/ML para garantizar un ensamblaje confiable y eficaz de soluciones productivas de IA/ML.

Las plataformas AI/ML se diferencian de otros sistemas de información en los siguientes aspectos:

  • Competencias del equipo: al crear una solución de IA/ML, el equipo suele incluir científicos de datos o expertos "académicos" en el campo de la investigación de datos que realizan análisis de datos, desarrollan y prueban modelos. Es posible que estos miembros del equipo no sean desarrolladores de código profesionales y productivos.
  • Desarrollo: Los motores AI/ML son de naturaleza experimental. Para resolver un problema de la manera más eficiente, es necesario pasar por varias combinaciones de variables de entrada, algoritmos, métodos de modelado y parámetros del modelo. La complejidad de tal búsqueda radica en rastrear “lo que funcionó y lo que no funcionó”, asegurando la reproducibilidad de los episodios y la generalización de los desarrollos para implementaciones repetidas.
  • Pruebas: probar motores de IA/ML requiere una gama más amplia de pruebas que la mayoría de los demás desarrollos. Además de las pruebas unitarias y de integración estándar, se prueban la validez de los datos y la calidad de los resultados de la aplicación del modelo a las muestras de entrenamiento y control.
  • Implementación: la implementación de soluciones de IA/ML no se limita a servicios predictivos que utilizan un modelo una vez entrenado. Las soluciones de IA/ML se basan en procesos de varias etapas que realizan entrenamiento y aplicación de modelos automatizados. La implementación de tales canalizaciones implica la automatización de acciones no triviales que tradicionalmente realizan manualmente los científicos de datos para poder entrenar y probar modelos.
  • Productividad: Los motores de IA/ML pueden carecer de productividad no solo debido a una programación ineficiente, sino también a la naturaleza en constante cambio de los datos de entrada. En otras palabras, el rendimiento de los mecanismos de IA/ML puede degradarse debido a una gama más amplia de razones que el rendimiento de los desarrollos convencionales. Lo que lleva a la necesidad de monitorear (en línea) el desempeño de nuestros motores AI/ML, así como enviar alertas o rechazar resultados si los indicadores de desempeño no cumplen con las expectativas.

Las plataformas AI/ML son similares a otros sistemas de información en el sentido de que ambos requieren una integración continua del código con control de versiones, pruebas unitarias, pruebas de integración e implementación de desarrollo continuo. Sin embargo, en el caso de AI/ML, existen varias diferencias importantes:

  • La CI (integración continua) ya no se limita a probar y validar el código de los componentes implementados, sino que también incluye probar y validar datos y modelos de IA/ML.
  • CD (Entrega/Implementación Continua, implementación continua) no se limita a escribir y lanzar paquetes o servicios, sino que implica una plataforma para la composición, capacitación y aplicación de soluciones AI/ML.
  • CT (Continuous Training, formación continua) es un elemento nuevo [aprox. autor del artículo: un nuevo elemento en relación al concepto tradicional de DevOps, en el que CT es, por regla general, Pruebas Continuas], inherente a las plataformas AI/ML, responsable de la gestión autónoma de los mecanismos de entrenamiento y aplicación de la IA. /Modelos ML. ..."

Podemos afirmar que el aprendizaje automático y la inteligencia artificial que trabajan con datos en tiempo real requieren un conjunto más amplio de herramientas y competencias (desde el desarrollo de códigos hasta la orquestación de entornos de modelado matemático), una integración más estrecha entre todas las áreas funcionales y temáticas, una organización más eficiente de los recursos humanos y recursos de la máquina.

Escenario en tiempo real: reconocimiento del desarrollo de defectos en las bombas de alimentación

Siguiendo usando el área de control de procesos como ejemplo, consideremos un problema específico (ya mencionamos al principio): necesitamos proporcionar un monitoreo en tiempo real del desarrollo de defectos en las bombas en función del flujo de valores de los parámetros del proceso. ​​e informes del personal de reparación sobre defectos identificados.

InterSystems IRIS es una plataforma universal de AI/ML en tiempo real
Figura 2 Formulación de problemas para monitorear el desarrollo de defectos.

Una característica de la mayoría de las tareas planteadas de esta manera en la práctica es que la regularidad y eficiencia de la recepción de datos (APCS) debe considerarse en el contexto de la aparición (y registro) episódica e irregular de defectos de diversos tipos. En otras palabras: los datos del sistema de control de procesos llegan una vez por segundo, correctos y precisos, y se anotan los defectos con un lápiz químico indicando la fecha en un cuaderno general del taller (por ejemplo: “12.01 – fuga en la tapa desde el lado del 3er rodamiento”).

Por lo tanto, podemos complementar la formulación del problema con la siguiente limitación importante: solo tenemos una "etiqueta" de un defecto de un tipo específico (es decir, un ejemplo de un defecto de un tipo específico está representado por datos del sistema de control del proceso). sistema en una fecha específica (y no tenemos más ejemplos de un defecto de este tipo en particular). Esta limitación nos lleva inmediatamente más allá del alcance del aprendizaje automático clásico (aprendizaje supervisado), para el cual debería haber muchas "etiquetas".

InterSystems IRIS es una plataforma universal de AI/ML en tiempo real
Figura 3 Aclaración de la tarea de monitorear el desarrollo de defectos.

¿Podemos de alguna manera “multiplicar” la única “etiqueta” a nuestra disposición? Si podemos. El estado actual de la bomba se caracteriza por el grado de similitud con los defectos registrados. Incluso sin el uso de métodos cuantitativos, a nivel de percepción visual, al observar la dinámica de los valores de datos que provienen del sistema de control de procesos, ya se puede aprender mucho:

InterSystems IRIS es una plataforma universal de AI/ML en tiempo real
Figura 4 Dinámica del estado de la bomba en el contexto de una "marca" de un defecto de un tipo determinado

Pero la percepción visual (al menos por ahora) no es el generador de “etiquetas” más adecuado en nuestro escenario que cambia rápidamente. Evaluaremos la similitud de la condición actual de la bomba con los defectos reportados mediante una prueba estadística.

InterSystems IRIS es una plataforma universal de AI/ML en tiempo real
Figura 5 Aplicación de una prueba estadística a los datos entrantes en el contexto de una "etiqueta" defectuosa

Una prueba estadística determina la probabilidad de que los registros con los valores de los parámetros del proceso tecnológico en el "paquete de flujo" recibido del sistema de control de procesos sean similares a los registros de la "etiqueta" de un defecto de cierto tipo. El valor de probabilidad (índice de similitud estadística) calculado como resultado de la aplicación de una prueba estadística se convierte a un valor de 0 o 1, convirtiéndose en una "etiqueta" para el aprendizaje automático en cada registro específico del paquete que se examina en busca de similitud. Es decir, después de procesar un paquete recién recibido de registros del estado de la bomba con una prueba estadística, tenemos la oportunidad de (a) agregar este paquete al conjunto de entrenamiento para entrenar el modelo AI/ML y (b) llevar a cabo el control de calidad del versión actual del modelo al usarlo en este paquete.

InterSystems IRIS es una plataforma universal de AI/ML en tiempo real
Figura 6 Aplicación de un modelo de aprendizaje automático a los datos entrantes en el contexto de una "etiqueta" defectuosa

En uno de nuestros anteriores seminarios web Mostramos y explicamos cómo la plataforma InterSystems IRIS le permite implementar cualquier mecanismo de IA/ML en forma de procesos de negocio de ejecución continua que monitorean la confiabilidad de los resultados del modelado y adaptan los parámetros del modelo. Al implementar un prototipo de nuestro escenario con bombas, utilizamos todas las funciones de InterSystems IRIS presentadas durante el seminario web: implementando en el proceso del analizador como parte de nuestra solución no el aprendizaje supervisado clásico, sino el aprendizaje reforzado, que gestiona automáticamente la selección de modelos de entrenamiento. . La muestra de entrenamiento contiene registros sobre los cuales surge un "consenso de detección" después de aplicar tanto la prueba estadística como la versión actual del modelo, es decir, tanto la prueba estadística (después de transformar el índice de similitud a 0 o 1) como el modelo produjeron el resultado. en dichos registros 1. Durante el nuevo entrenamiento del modelo, durante su validación (el modelo recién entrenado se aplica a su propia muestra de entrenamiento, con la aplicación preliminar de una prueba estadística), registros que "no retuvieron" el resultado 1 después del procesamiento mediante la prueba estadística (debido a la presencia constante en el entrenamiento de una muestra de registros de la "etiqueta" original del defecto), se eliminan del conjunto de entrenamiento y una nueva versión del modelo aprende de la "etiqueta" del defecto. defecto más los registros "retenidos" de la secuencia.

InterSystems IRIS es una plataforma universal de AI/ML en tiempo real
Figura 7 Robotización de la informática AI/ML en InterSystems IRIS

Si es necesario una especie de “segunda opinión” sobre la calidad de la detección obtenida durante los cálculos locales en InterSystems IRIS, se crea un proceso de asesor para realizar el entrenamiento y la aplicación de modelos en un conjunto de datos de control utilizando servicios en la nube (por ejemplo, Microsoft Azure, Amazon Web Services, Google Cloud Platform, etc.):

InterSystems IRIS es una plataforma universal de AI/ML en tiempo real
Figura 8 Segunda Opinión de Microsoft Azure orquestada por InterSystems IRIS

El prototipo de nuestro escenario en InterSystems IRIS está diseñado como un sistema de procesos analíticos basado en agentes que interactúan con un objeto de equipo (bomba), entornos de modelado matemático (Python, R y Julia) y garantizan el autoaprendizaje de todas las IA/involucradas. Mecanismos de aprendizaje automático: en flujos de datos en tiempo real.

InterSystems IRIS es una plataforma universal de AI/ML en tiempo real
Figura 9 Funcionalidad principal de la solución AI/ML en tiempo real en InterSystems IRIS

El resultado práctico de nuestro prototipo:

  • Defecto de muestra reconocido por el modelo (12 de enero):

InterSystems IRIS es una plataforma universal de AI/ML en tiempo real

  • Un defecto en desarrollo reconocido por el modelo que no estaba incluido en la muestra (el 11 de septiembre, el equipo de reparación identificó el defecto en sí solo dos días después, el 13 de septiembre):

InterSystems IRIS es una plataforma universal de AI/ML en tiempo real
La simulación sobre datos reales que contienen varios episodios del mismo defecto demostró que nuestra solución, implementada en la plataforma InterSystems IRIS, nos permite identificar el desarrollo de defectos de este tipo varios días antes de que sean detectados por el equipo de reparación.

InterSystems IRIS: una plataforma informática universal de IA/ML en tiempo real

La plataforma InterSystems IRIS simplifica el desarrollo, implementación y operación de soluciones de datos en tiempo real. InterSystems IRIS es capaz de realizar simultáneamente procesamiento de datos transaccionales y analíticos; admitir vistas de datos sincronizadas según múltiples modelos (incluidos relacionales, jerárquicos, de objetos y de documentos); actuar como plataforma para integrar una amplia gama de fuentes de datos y aplicaciones individuales; Proporcionar análisis avanzados en tiempo real sobre datos estructurados y no estructurados. InterSystems IRIS también proporciona mecanismos para el uso de herramientas analíticas externas y permite una combinación flexible de alojamiento en la nube y en servidores locales.

Las aplicaciones creadas en la plataforma InterSystems IRIS se implementan en una variedad de industrias, ayudando a las empresas a obtener importantes beneficios económicos desde una perspectiva estratégica y operativa, aumentando la toma de decisiones informadas y cerrando las brechas entre eventos, análisis y acción.

InterSystems IRIS es una plataforma universal de AI/ML en tiempo real
Figura 10 Arquitectura de InterSystems IRIS en el contexto de IA/ML en tiempo real

Al igual que el diagrama anterior, el siguiente esquema combina el nuevo “sistema de coordenadas” (CD/CI/CT) con un diagrama del flujo de información entre los elementos de trabajo de la plataforma. La visualización comienza con el macromecanismo CD y continúa con los macromecanismos CI y CT.

InterSystems IRIS es una plataforma universal de AI/ML en tiempo real
Figura 11 Diagrama de flujos de información entre elementos AI/ML de la plataforma InterSystems IRIS

La esencia del mecanismo CD en InterSystems IRIS: los usuarios de la plataforma (desarrolladores de soluciones AI/ML) adaptan los desarrollos AI/ML existentes y/o crean nuevos utilizando un editor de código especializado para mecanismos AI/ML: Jupyter (nombre completo: Jupyter Notebook; para abreviar, a veces también se denominan documentos creados en este editor). En Jupyter, un desarrollador tiene la oportunidad de escribir, depurar y verificar el rendimiento (incluido el uso de gráficos) de un desarrollo de IA/ML específico antes de colocarlo (“implementar”) en InterSystems IRIS. Está claro que un nuevo desarrollo creado de esta manera solo recibirá una depuración básica (ya que, en particular, Jupyter no funciona con flujos de datos en tiempo real); esto está en el orden de las cosas, porque el principal resultado del desarrollo en Jupyter es la confirmación de la operatividad fundamental de un mecanismo AI / ML separado (“muestra el resultado esperado en una muestra de datos”). De manera similar, un mecanismo ya colocado en la plataforma (consulte los siguientes macromecanismos) antes de la depuración en Jupyter puede requerir una "reversión" a un formulario "previo a la plataforma" (leer datos de archivos, trabajar con datos a través de xDBC en lugar de tablas, interacción directa con elementos globales (matrices de datos multidimensionales InterSystems IRIS, etc.).

Un aspecto importante de la implementación de CD en InterSystems IRIS: se ha implementado la integración bidireccional entre la plataforma y Jupyter, permitiendo transferir contenidos en Python, R y Julia a la plataforma (y, posteriormente, procesarlos en la plataforma) (los tres son programación lenguajes en los principales lenguajes de código abierto correspondientes (entornos de modelado matemático de código fuente). Por lo tanto, los desarrolladores de contenido AI/ML tienen la oportunidad de llevar a cabo una “implementación continua” de este contenido en la plataforma, trabajando en su conocido editor Jupyter, con bibliotecas familiares disponibles en Python, R, Julia, y realizando una depuración básica (si es necesario). fuera de la plataforma.

Pasemos al mecanismo macro de CI en InterSystems IRIS. El diagrama muestra el proceso macro del "robotizador en tiempo real" (un complejo de estructuras de datos, procesos comerciales y fragmentos de código orquestados por ellos en lenguajes matemáticos y ObjectScript, el lenguaje de desarrollo nativo de InterSystems IRIS). La tarea de este macroproceso es mantener las colas de datos necesarias para el funcionamiento de los mecanismos de AI/ML (basados ​​en flujos de datos transmitidos a la plataforma en tiempo real), tomar decisiones sobre la secuencia de aplicación y el "surtido" de AI/ Los mecanismos de ML (también son “algoritmos matemáticos”, “modelos”, etc., pueden denominarse de diferentes maneras según las características específicas de la implementación y las preferencias terminológicas), mantienen actualizadas las estructuras de datos para analizar los resultados del trabajo de AI/ Mecanismos de aprendizaje automático (cubos, tablas, matrices de datos multidimensionales, etc., etc., para informes, paneles, etc.).

Un aspecto importante de la implementación de CI específicamente en InterSystems IRIS: se ha implementado la integración bidireccional entre la plataforma y los entornos de modelado matemático, permitiendo ejecutar contenidos alojados en la plataforma en Python, R y Julia en sus respectivos entornos y recibir de vuelta la ejecución. resultados. Esta integración se implementa tanto en “modo terminal” (es decir, el contenido AI/ML se formula como código ObjectScript que realiza llamadas al entorno) como en “modo proceso de negocio” (es decir, el contenido AI/ML se formula como un proceso de negocio). usando un editor gráfico, o a veces usando Jupyter, o usando un IDE (IRIS Studio, Eclipse, Visual Studio Code). La disponibilidad de procesos de negocio para editar en Jupyter se refleja a través de la conexión entre IRIS a nivel de CI y Jupyter a nivel de CD. A continuación se proporciona una descripción más detallada de la integración con entornos de modelado matemático. En esta etapa, en nuestra opinión, hay muchas razones para garantizar que la plataforma tenga todas las herramientas necesarias para implementar la "integración continua" de los desarrollos de AI/ML (provenientes de la "implementación continua") en soluciones de AI/ML en tiempo real.

Y el principal mecanismo macro: CT. Sin él, no habrá plataforma AI/ML (aunque el “tiempo real” se implementará a través de CD/CI). La esencia de CT es el trabajo de la plataforma con "artefactos" de aprendizaje automático e inteligencia artificial directamente en sesiones de trabajo de entornos de modelado matemático: modelos, tablas de distribución, vectores matriciales, capas de redes neuronales, etc. Este “trabajo”, en la mayoría de los casos, consiste en crear los artefactos mencionados en entornos (en el caso de modelos, por ejemplo, la “creación” consiste en fijar la especificación del modelo y posterior selección de los valores de sus parámetros - el llamado "entrenamiento" del modelo), su aplicación (para modelos: cálculo con su ayuda de los valores del "modelo" de las variables objetivo: pronósticos, pertenencia a categorías, probabilidad de un evento, etc.) y mejora de ya artefactos creados y aplicados (por ejemplo, redefinir un conjunto de variables de entrada del modelo en función de los resultados de la aplicación, para mejorar la precisión del pronóstico, como opción). El punto clave para comprender el papel de CT es su “abstracción” de las realidades de CD y CI: CT implementará todos los artefactos, enfocándose en los detalles computacionales y matemáticos de la solución AI/ML dentro de las capacidades proporcionadas por entornos específicos. La responsabilidad de “proporcionar insumos” y “entregar productos” será responsabilidad de CD y CI.

Un aspecto importante de la implementación de CT específicamente en InterSystems IRIS: utilizando la integración con entornos de modelado matemático ya mencionados anteriormente, la plataforma tiene la capacidad de extraer esos mismos artefactos de las sesiones de trabajo que se ejecutan bajo su control en entornos matemáticos y (lo más importante) convertir convertirlos en objetos de datos de plataforma. Por ejemplo, una tabla de distribución que se acaba de crear en una sesión de Python en funcionamiento se puede transferir (sin detener la sesión de Python) a la plataforma en forma de, por ejemplo, un global (una matriz de datos multidimensional de InterSystems IRIS) y usarse. para cálculos en otro mecanismo AI/ML (implementado en el lenguaje de otro entorno, por ejemplo, en R) - o una tabla virtual. Otro ejemplo: en paralelo con el "modo normal" de funcionamiento del modelo (en la sesión de trabajo de Python), se lleva a cabo un "auto-ML" en sus datos de entrada: selección automática de variables de entrada óptimas y valores de parámetros. Y junto con el entrenamiento "regular", un modelo productivo en tiempo real también recibe una "propuesta de optimización" de su especificación, en la que cambia el conjunto de variables de entrada, los valores de los parámetros cambian (ya no como resultado del entrenamiento). en Python, pero como resultado del entrenamiento con una versión "alternativa" de sí mismo, como la pila H2O), lo que permite que la solución general de IA/ML haga frente de forma autónoma a cambios inesperados en la naturaleza de los datos de entrada y los fenómenos que se están modelando. .

Conozcamos más detalladamente la funcionalidad de la plataforma AI/ML de InterSystems IRIS, usando el ejemplo de un prototipo de la vida real.

En el siguiente diagrama, en el lado izquierdo de la diapositiva hay una parte del proceso de negocio que implementa la ejecución de scripts en Python y R. En la parte central hay registros visuales de la ejecución de algunos de estos scripts, respectivamente, en Python y R. Inmediatamente detrás de ellos hay ejemplos de contenido en uno y otro lenguaje, transferidos para su ejecución en los entornos apropiados. Al final a la derecha hay visualizaciones basadas en los resultados de la ejecución del script. Las visualizaciones en la parte superior se realizaron en IRIS Analytics (los datos se tomaron de Python a la plataforma de datos InterSystems IRIS y se mostraron en un tablero usando la plataforma), en la parte inferior se realizaron directamente en la sesión de trabajo de R y se enviaron desde allí a archivos gráficos. . Un aspecto importante: el fragmento presentado en el prototipo es responsable de entrenar el modelo (clasificación de estados del equipo) con los datos recibidos en tiempo real del proceso del simulador del equipo, siguiendo el comando del proceso de monitorización de calidad de clasificación observado durante la aplicación del modelo. Se analizará más a fondo la implementación de una solución de IA/ML en forma de un conjunto de procesos interactivos (“agentes”).

InterSystems IRIS es una plataforma universal de AI/ML en tiempo real
Figura 12 Interacción con Python, R y Julia en InterSystems IRIS

Los procesos de la plataforma (también llamados "procesos de negocio", "procesos analíticos", "canalizaciones", etc., según el contexto), en primer lugar, se editan en el editor gráfico de procesos de negocio de la propia plataforma, y ​​en tal manera que tanto su diagrama de bloques como el correspondiente mecanismo AI/ML (código de programa) se crean simultáneamente. Cuando decimos que "se obtiene un mecanismo AI/ML", inicialmente nos referimos a la hibridación (dentro de un proceso): el contenido en los lenguajes de los entornos de modelado matemático es adyacente al contenido en SQL (incluidas las extensiones de IntegradoML), en InterSystems ObjectScript, con otros lenguajes soportados. Además, el proceso de la plataforma ofrece oportunidades muy amplias para "renderizar" en forma de fragmentos anidados jerárquicamente (como se puede ver en el ejemplo del diagrama a continuación), lo que le permite organizar de manera efectiva incluso contenido muy complejo sin "caerse" nunca. del formato gráfico (en formatos “no gráficos”). » métodos/clases/procedimientos, etc.). Es decir, si es necesario (y está previsto en la mayoría de los proyectos), absolutamente toda la solución AI/ML se puede implementar en un formato gráfico autodocumentado. Tenga en cuenta que en la parte central del diagrama a continuación, que representa un "nivel de anidamiento" más alto, está claro que además del trabajo real de entrenamiento del modelo (usando Python y R), se realiza un análisis del llamado Se agrega la curva ROC del modelo entrenado, lo que permite evaluar visualmente (y también computacionalmente) la calidad del entrenamiento, y este análisis se implementa en el lenguaje Julia (ejecutado, en consecuencia, en el entorno matemático de Julia).

InterSystems IRIS es una plataforma universal de AI/ML en tiempo real
Figura 13 Entorno visual para la composición de soluciones AI/ML en InterSystems IRIS

Como se mencionó anteriormente, el desarrollo inicial y (en algunos casos) la adaptación de los mecanismos de IA/ML ya implementados en la plataforma se podrán realizar fuera de la plataforma en el editor de Jupyter. En el siguiente diagrama vemos un ejemplo de adaptación de un proceso de plataforma existente (el mismo que en el diagrama anterior): así es como se ve el fragmento responsable de entrenar el modelo en Jupyter. El contenido de Python está disponible para editar, depurar y generar gráficos directamente en Jupyter. Se pueden realizar cambios (si es necesario) con sincronización instantánea en el proceso de la plataforma, incluida su versión productiva. El contenido nuevo se puede transferir a la plataforma de manera similar (se genera automáticamente un nuevo proceso de plataforma).

InterSystems IRIS es una plataforma universal de AI/ML en tiempo real
Figura 14 Uso de Jupyter Notebook para editar el motor AI/ML en la plataforma InterSystems IRIS

La adaptación de un proceso de plataforma se puede realizar no sólo en formato gráfico o portátil, sino también en formato IDE (Entorno de Desarrollo Integrado) “total”. Estos IDE son IRIS Studio (estudio IRIS nativo), Visual Studio Code (extensión InterSystems IRIS para VSCode) y Eclipse (complemento Atelier). En algunos casos, es posible que un equipo de desarrollo utilice los tres IDE simultáneamente. El siguiente diagrama muestra un ejemplo de edición del mismo proceso en IRIS Studio, en Visual Studio Code y en Eclipse. Absolutamente todo el contenido está disponible para edición: Python/R/Julia/SQL, ObjectScript y procesos de negocio.

InterSystems IRIS es una plataforma universal de AI/ML en tiempo real
Figura 15 Desarrollo del proceso de negocio de InterSystems IRIS en varios IDE

Mención especial merecen las herramientas para describir y ejecutar procesos de negocio de InterSystems IRIS en Business Process Language (BPL). BPL permite utilizar "componentes de integración listos para usar" (actividades) en los procesos de negocio, lo que, de hecho, da muchas razones para decir que en InterSystems IRIS se implementa una "integración continua". Los componentes de procesos de negocio ya preparados (actividades y conexiones entre ellos) son un poderoso acelerador para ensamblar una solución de IA/ML. Y no sólo asambleas: gracias a las actividades y conexiones entre ellas a través de desarrollos y mecanismos dispares de IA/ML, surge una “capa de gestión autónoma”, capaz de tomar decisiones según la situación, en tiempo real.

InterSystems IRIS es una plataforma universal de AI/ML en tiempo real
Figura 16 Componentes de procesos de negocio listos para usar para la integración continua (CI) en la plataforma InterSystems IRIS

El concepto de sistemas de agentes (también conocidos como “sistemas multiagente”) tiene una fuerte posición en la robotización, y la plataforma InterSystems IRIS lo respalda orgánicamente a través de la construcción “producto-proceso”. Además de las posibilidades ilimitadas para "rellenar" cada proceso con la funcionalidad necesaria para la solución general, dotar al sistema de procesos de plataforma con la propiedad de "agencia" le permite crear soluciones efectivas para fenómenos simulados extremadamente inestables (comportamiento social/ biosistemas, procesos tecnológicos parcialmente observables, etc.).

InterSystems IRIS es una plataforma universal de AI/ML en tiempo real
Figura 16 Funcionamiento de una solución AI/ML como sistema de procesos de negocio basado en agentes en InterSystems IRIS

Continuamos nuestra revisión de InterSystems IRIS con una historia sobre el uso aplicado de la plataforma para resolver clases completas de problemas en tiempo real (una introducción bastante detallada a algunas de las mejores prácticas de la plataforma AI/ML en InterSystems IRIS se puede encontrar en uno de nuestro anterior seminarios web).

Siguiendo los pasos del diagrama anterior, a continuación se muestra un diagrama más detallado del sistema de agentes. El diagrama muestra el mismo prototipo, los cuatro procesos del agente son visibles, las relaciones entre ellos están dibujadas esquemáticamente: GENERADOR: procesa la creación de datos mediante sensores de equipos, BUFFER: administra las colas de datos, ANALIZADOR: realiza el aprendizaje automático, MONITOR: monitorea el calidad del aprendizaje automático y envía una señal sobre la necesidad de volver a entrenar el modelo.

InterSystems IRIS es una plataforma universal de AI/ML en tiempo real
Figura 17 Composición de una solución AI/ML en forma de sistema de procesos de negocio basado en agentes en InterSystems IRIS

El siguiente diagrama ilustra el funcionamiento autónomo de otro prototipo robótico (reconocimiento del color emocional de los textos) desde hace algún tiempo. En la parte superior está la evolución del indicador de calidad del entrenamiento del modelo (la calidad está creciendo), en la parte inferior está la dinámica del indicador de calidad de la aplicación del modelo y los hechos del entrenamiento repetido (franjas rojas). Como puede ver, la solución ha aprendido a sí misma de manera eficiente y autónoma, y ​​opera con un nivel de calidad determinado (los valores del puntaje de calidad no bajan del 80%).

InterSystems IRIS es una plataforma universal de AI/ML en tiempo real
Figura 18 (Auto)formación (CT) continua en la plataforma InterSystems IRIS

También mencionamos "auto-ML" anteriormente, pero el siguiente diagrama muestra el uso de esta funcionalidad en detalle utilizando el ejemplo de otro prototipo. El diagrama gráfico de un fragmento de un proceso de negocio muestra la actividad que desencadena el modelado en la pila de H2O, muestra los resultados de este modelado (el claro dominio del modelo resultante sobre los modelos “artificiales”, según el diagrama comparativo de Curvas ROC, así como la identificación automatizada de las “variables más influyentes” disponibles en el conjunto de datos original). Un punto importante aquí es el ahorro de tiempo y recursos de expertos que se logra a través del “auto-ML”: lo que nuestro proceso de plataforma hace en medio minuto (encontrar y entrenar el modelo óptimo) puede llevarle a un experto de una semana a un mes.

InterSystems IRIS es una plataforma universal de AI/ML en tiempo real
Figura 19 Integración de “auto-ML” en una solución AI/ML en la plataforma InterSystems IRIS

El siguiente diagrama pierde un poco el punto, pero es una buena manera de terminar la historia sobre las clases de problemas en tiempo real que se están resolviendo: les recordamos que con todas las capacidades de la plataforma InterSystems IRIS, los modelos de entrenamiento bajo su control son no es obligatorio. La plataforma puede recibir desde el exterior la llamada especificación PMML del modelo, entrenada en una herramienta que no está bajo el control de la plataforma, y ​​aplicar este modelo en tiempo real desde el momento de su importación. Especificaciones PMML. Es importante tener en cuenta que no todos los artefactos de IA/ML se pueden reducir a una especificación PMML, incluso si la mayoría de los artefactos más comunes lo permiten. Por tanto, la plataforma InterSystems IRIS es de “bucle abierto” y no significa “esclavitud de plataforma” para los usuarios.

InterSystems IRIS es una plataforma universal de AI/ML en tiempo real
Figura 20 Integración de “auto-ML” en una solución AI/ML en la plataforma InterSystems IRIS

Enumeremos las ventajas adicionales de la plataforma InterSystems IRIS (para mayor claridad, en relación con el control de procesos), que son de gran importancia en la automatización de la inteligencia artificial y el aprendizaje automático en tiempo real:

  • Herramientas de integración desarrolladas con cualquier fuente de datos y consumidores (sistema de control de procesos/SCADA, equipos, MRO, ERP, etc.)
  • Incorporado DBMS multimodelo para procesamiento transaccional y analítico de alto rendimiento (Hybrid Transaction/Analytical Processing, HTAP) de cualquier volumen de datos de procesos tecnológicos
  • Herramientas de desarrollo para implementación continua de motores AI/ML para soluciones en tiempo real basadas en Python, R, Julia
  • Procesos de negocio adaptables para la integración continua y el (auto)aprendizaje de motores de soluciones de IA/ML en tiempo real
  • Herramientas de Business Intelligence integradas para visualizar datos de procesos y los resultados de una solución AI/ML
  • Gestión de API para entregar los resultados de la solución AI/ML a sistemas de control de procesos/SCADA, sistemas de información y análisis, envío de alertas, etc.

Las soluciones AI/ML de la plataforma InterSystems IRIS se adaptan fácilmente a la infraestructura de TI existente. La plataforma InterSystems IRIS garantiza una alta confiabilidad de las soluciones de IA/ML al admitir configuraciones tolerantes a fallas y desastres y una implementación flexible en entornos virtuales, servidores físicos, nubes públicas y privadas y contenedores Docker.

Por tanto, InterSystems IRIS es una plataforma informática universal de IA/ML en tiempo real. La universalidad de nuestra plataforma se ve confirmada en la práctica por la ausencia de restricciones de facto en la complejidad de los cálculos implementados, la capacidad de InterSystems IRIS para combinar (en tiempo real) el procesamiento de escenarios de una amplia variedad de industrias y la excepcional adaptabilidad de cualquier función y mecanismo de la plataforma a las necesidades específicas de los usuarios.

InterSystems IRIS es una plataforma universal de AI/ML en tiempo real
Figura 21 InterSystems IRIS: una plataforma informática universal de IA/ML en tiempo real

Para una interacción más sustantiva con aquellos de nuestros lectores que estén interesados ​​en el material aquí presentado, recomendamos no limitarse a leerlo y continuar el diálogo “en vivo”. Estaremos encantados de brindarle apoyo con la formulación de escenarios de IA/ML en tiempo real en relación con las características específicas de su empresa, realizar prototipos conjuntos en la plataforma InterSystems IRIS, formular e implementar en la práctica una hoja de ruta para la introducción de la inteligencia artificial y el aprendizaje automático. en sus procesos de producción y gestión. Correo electrónico de contacto de nuestro equipo de expertos en IA/ML: [email protected].

Fuente: habr.com

Añadir un comentario