Despliegue de un modelo de aprendizaje automático en el perímetro de red
El aprendizaje automático desempeña un papel cada vez más importante en muchas industrias. Los científicos de datos crean y entrenan modelos de aprendizaje automático y se despliegan para proporcionar predicciones o puntuaciones basadas en predicciones y puntuaciones de datos operativos utilizados, por ejemplo, para mejorar la eficiencia de los procesos, detectar y reaccionar ante problemas o anomalías, o evaluar indicadores clave de rendimiento (KPI) e indicadores de calidad.
- El modelo requiere volúmenes de datos más grandes que el ancho de banda entre el sitio remoto y la ubicación central.
- Usted experimenta conectividad intermitente entre el sitio remoto y la ubicación central.
- Tiene requisitos de latencia muy bajos que cubren el proceso de alimentación de los datos de tiempo de ejecución del modelo, lo que permite generar su puntuación o predicción y actuar sobre esa puntuación o predicción.
Arquitectura
Esta arquitectura es la base para desplegar modelos de aprendizaje automático cercanos a orígenes de datos y sistemas de producción. Se muestra en este diagrama:
Descripción de la ilustración deployment-ml-edge-architecture.png
deployment-ml-edge-architecture-oracle.zip
- Los procesos de producción generan datos, que se transmiten al servicio de transmisión en Oracle Cloud. El servicio de flujo dispara una función para manejar la función streams.This entrante almacena los datos entrantes en el almacén de datos autónomo (ADW), tal vez después de procesarlos o transformarlos.
- Los científicos de datos reconstruyen periódicamente modelos de aprendizaje automático (ML) basados en los datos de ADW. Cuando estos modelos se prueban y se confirman para mejorarlos en modelos antiguos, se guardan para su despliegue (por ejemplo, en formato ONNX) y se transfieren al almacenamiento de objetos para que estén disponibles para su posterior recuperación. Se recomienda utilizar un bloque de almacenamiento de objetos independiente para cada sitio local a fin de garantizar que el modelo correcto se entrega al sitio correcto. El proceso normal de Oracle Data Science para almacenar modelos en el catálogo de modelos y desplegarlos posteriormente como despliegues de modelos no se utiliza, porque no se puede acceder al catálogo de modelos fuera de OCI y Oracle Data Science solo se puede desplegar en Oracle Cloud.
- Periódicamente, los sitios locales comprueban y recuperan actualizaciones de los modelos de aprendizaje automático protegiendo cubos de almacenamiento de objetos específicos. Cuando haya nuevos modelos disponibles, los sitios locales recuperan, despliegan y empiecen a utilizarlos.
- En producción, los datos de producción se transfieren al tiempo de ejecución de ML para generar puntuaciones, predicciones, alertas, etc.
- Ubicación local
Uno o más sitios de producción remotos están conectados a Oracle Cloud mediante una VPN de sitio a sitio. Estos sitios pueden ser instalaciones de fabricación, donde se requiere aprendizaje automático de baja latencia en los flujos de datos de los procesos de producción
- Maquinaria de producción
En cada sitio remoto, se están ejecutando uno o más sistemas de producción, sistemas de control de calidad, sistemas MES, sistemas SCADA, etc., que generan datos de producción y/o flujos IoT. Los datos de estos sistemas se entregan a tiempos de ejecución de aprendizaje automático para puntuar, predecir o alertar, en función de las respuestas de los modelos de aprendizaje automático a los datos.
- entorno de ejecución de ML
En cada sitio remoto, hay un entorno de ejecución de aprendizaje automático operativo. En esencia, esto consiste en un tiempo de ejecución de aprendizaje automático, como ONNX Runtime, tal vez que se ejecuta como un servicio web, y que proporciona capacidades de puntuación y predicción a un gateway IoT. La configuración exacta del entorno de ejecución de ML dependerá de las circunstancias y requisitos locales específicos
- arrendamiento
Un arrendamiento es una partición segura y aislada que Oracle configura en Oracle Cloud al registrarse en OCI. Puede crear, organizar y administrar sus recursos en Oracle Cloud dentro de su arrendamiento. Un arrendamiento es sinónimo de una compañía u organización. Normalmente, una compañía tendrá un solo arrendamiento y reflejará su estructura organizativa dentro de ese arrendamiento. Un único arrendamiento suele estar asociado a una sola suscripción, y una única suscripción suele tener un solo arrendamiento.
- Red virtual en la nube (VCN) y subredes
Una VCN es una red definida por software y personalizable que se configura en una región de Oracle Cloud Infrastructure. Al igual que las redes de los centros de datos tradicionales, las redes virtuales le proporcionan un control completo de su entorno de red. Una VCN puede tener varios bloques de CIDR no superpuestos que puede cambiar después de crear la VCN. Puede segmentar una VCN en subredes, las cuales se pueden acotar a una región o a un dominio de disponibilidad. Cada subred está formada por un rango contiguo de direcciones que no se solapan con las demás subredes de la VCN. Puede cambiar el tamaño de una subred después de la creación. Una subred puede ser pública o privada.
- Gateway de servicio
El gateway de servicios proporciona acceso desde una VCN a otros servicios, como Oracle Cloud Infrastructure Object Storage. El tráfico desde la VCN al servicio Oracle recorre el tejido de red de Oracle y no Internet. En esta arquitectura, el gateway de servicios proporciona acceso de tipo local a los servicios de Oracle Cloud a través de la VPN
- Object Storage
El almacenamiento de objetos proporciona acceso rápido a grandes cantidades de datos estructurados y no estructurados de cualquier tipo de contenido, incluidas copias de seguridad de base de datos, datos analíticos y contenido enriquecido, como imágenes y vídeos. Puede almacenar datos de forma segura y, a continuación, recuperarlos directamente desde Internet o desde la plataforma en la nube. Puede ampliar el almacenamiento sin problemas sin experimentar ninguna degradación del rendimiento ni de la fiabilidad del servicio. Utilice el almacenamiento estándar para el almacenamiento de acceso rápido al que debe acceder de forma rápida, inmediata y frecuente. Utilice el almacenamiento de archivo para el almacenamiento en frío que conserva durante largos períodos de tiempo y a los que rara vez accede. En esta arquitectura, el almacenamiento de objetos se utiliza para almacenar actualizaciones del modelo y los scripts asociados, cuando las producen los científicos de datos.
- Autonomous Data Warehouse
Oracle Autonomous Data Warehouse es un servicio de base de datos de autogestión, autoseguridad y autorreparación optimizado para cargas de trabajo de almacenamiento de datos. No necesita configurar ni gestionar ningún hardware, ni instalar ningún software. Oracle Cloud Infrastructure se encarga de crear la base de datos, así como de realizar copias de seguridad, aplicar parches, actualizar y ajustar la base de datos. En esta arquitectura, ADW almacena los datos IoT del sitio de producción sin procesar (o procesados) para su posterior procesamiento por parte de los científicos de datos.
- VPN de sitio a sitio
La VPN de sitio a sitio proporciona conectividad VPN IPSec entre la red local y las Oracle Cloud Infrastructure. El conjunto de protocolos IPSec cifra el tráfico IP antes de transferir los paquetes del origen al destino y descifra el tráfico cuando llega.
- Funciones
Oracle Functions es una plataforma de funciones como servicio (FaaS) totalmente gestionada, multitenant, altamente escalable y bajo demanda. Se basa en el motor de código abierto de Fn Project. Las funciones le permiten desplegar el código y o bien llamarlo directamente o dispararlo en respuesta a eventos. Oracle Functions utiliza contenedores de Docker alojados en Oracle Cloud Infrastructure Registry. En esta arquitectura, las funciones se utilizan para almacenar datos de flujo en ADW, mediante una función creada alrededor de un conector JDBC
- Flujo
Oracle Cloud Infrastructure Streaming proporciona una solución duradera, escalable y gestionada para la ingesta de flujos de datos continuos y de elevado volumen que puede utilizar y procesar en tiempo real. Puede utilizar Streaming para la ingestión de datos de gran volumen, como logs de aplicación, telemetría operativa, datos de flujo de clics en la web o para otros casos de uso en los que se producen y procesan datos de forma continua y secuencial en un modelo de mensajería de publicación/ suscripción. Streaming se utiliza en esta arquitectura para enrutar flujos de datos de producción a ADW para su persistencia. También es posible introducir el procesamiento y el enriquecimiento de estos datos, como parte del proceso de transmisión, pero esto no se muestra aquí
- Oracle Data Science
Oracle Data Science es una plataforma totalmente gestionada que permite a los equipos de científicos de datos crear, entrenar, desplegar y gestionar modelos de aprendizaje automático con Python y herramientas de código abierto. Incluye capacidades MLOps, como pipelines automatizados, despliegues de modelos y supervisión de modelos; sin embargo, estas capacidades están restringidas a despliegues de modelos en Oracle Cloud y no se utilizan en esta arquitectura. En esta arquitectura, los científicos de datos utilizan Oracle Data Science para analizar y crear modelos de datos de forma eficiente, así como para crear versiones desplegables de esos modelos, por ejemplo, en formato ONNX.
- Red de servicios de Oracle
La red concepto de red de servicios de Oracle (OSN) en Oracle Cloud Infrastructure está reservada para los servicios de Oracle. Estos servicios tienen direcciones IP públicas a las que puede acceder a través de Internet. Los hosts fuera de Oracle Cloud pueden acceder a OSN de forma privada mediante Oracle Cloud Infrastructure FastConnect o VPN Connect. Los hosts de sus redes virtuales pueden acceder a OSN de forma privada a través de un gateway de servicio.
Recomendaciones
- VCN
Se necesita una VCN con un DRG asociado y un gateway de servicios para enrutar el tráfico de los sitios remotos (conectados mediante una VPN de sitio a sitio) a los servicios que se ejecutan en la red de servicio. Esta VCN necesita una entrada en su tabla de rutas para enrutar todo el tráfico vinculado a los servicios de la región de Oracle Cloud seleccionada para que se enrute a través del gateway de servicios. En esta arquitectura, todo el tráfico entre el sitio remoto y la red de servicio se dispara mediante una solicitud del sitio remoto a la red de servicio
- Seguridad
Utilice Oracle Cloud Guard para supervisar y mantener la seguridad de los recursos en Oracle Cloud Infrastructure de forma proactiva. Cloud Guard utiliza recetas de detector que puede definir para examinar los recursos en busca de deficiencias de seguridad y para supervisar a operadores y usuarios en busca de actividades arriesgadas. Cuando se detecta una configuración incorrecta o una actividad no segura, Cloud Guard recomienda acciones correctivas y ayuda a realizar esas acciones, en función de las recetas de responsable de respuesta que pueda definir.
- Cloud Guard
Clone y personalice las recetas por defecto que proporciona Oracle para crear recetas personalizadas de detector y responsable de respuesta. Estas recetas le permiten especificar qué tipo de violaciones de seguridad generan una advertencia y qué acciones se pueden realizar en ellas. Por ejemplo, puede que desee detectar bloques de almacenamiento de objetos con visibilidad establecida en público.
Aplique Cloud Guard en el nivel de arrendamiento para abarcar el ámbito más amplio y reducir la carga administrativa que supone el mantenimiento de varias configuraciones.
También puede utilizar la función de lista gestionada para aplicar determinadas configuraciones a los detectores.
- Zonas de seguridad
Para los recursos que requieren la máxima seguridad, Oracle recomienda utilizar zonas de seguridad. Una zona de seguridad es un compartimento asociado a una receta de políticas de seguridad definida por Oracle que se basa en las mejores prácticas. Por ejemplo, los recursos de una zona de seguridad no deben ser accesibles desde la Internet pública y deben cifrarse con claves gestionadas por el cliente. Al crear y actualizar recursos en una zona de seguridad, Oracle Cloud Infrastructure valida las operaciones con respecto a las políticas de la receta de zona de seguridad y deniega las operaciones que violan cualquiera de las políticas
- Grupos de seguridad de red (NSG)
Puede utilizar los NSG para definir un conjunto de reglas de entrada y salida que se aplican a VNIC específicas. Recomendamos utilizar NSG en lugar de listas de seguridad, porque los NSG permiten separar la arquitectura de subred de la VCN de los requisitos de seguridad de su aplicación.
Consideraciones
Tenga en cuenta los siguientes puntos al desplegar esta arquitectura de referencia.
- Rendimiento
Los principales problemas de rendimiento están relacionados con el volumen de datos generados por los procesos de producción.
El entorno de ejecución de aprendizaje automático, donde se invocan los tiempos de ejecución de aprendizaje automático para responder a los datos de producción, se debe dimensionar para manejar los volúmenes de datos generados. Este es un problema para la configuración del sitio remoto y está fuera del ámbito de esta arquitectura.
Los datos generados por los procesos de producción pueden ser lo suficientemente voluminosos como para que el ancho de banda disponible para la transmisión a OCI se vea abrumado. En tales casos, puede ser aconsejable preprocesar los datos localmentepara desechar datos irrelevantes, agregar datos, comprimir datos, etc., demanera que se reduzcan las demandas de ancho de banda.
Al mover los tiempos de ejecución de aprendizaje automático cerca del origen de datos, se reducen las latencias de aprendizaje automático.
- Disponibilidad
Si la conectividad entre sitios remotos y Oracle Cloud es intermitente, los datos se podrían transmitir a una instalación de Kafka local, que luego se transmite a Oracle Streaming. De esta manera, la instalación de Kafka local puede almacenar en buffer los datos si se produce una interrupción de la red.