Activar análisis de cámaras de IA acelerados por GPU en OCI

Utilice esta arquitectura de referencia para implantar un patrón escalable de Oracle Cloud Infrastructure para la analítica de video y cámaras acelerada por GPU.

La arquitectura acepta eventos de cámaras inteligentes, transmisiones tradicionales de cámaras IP RTSP, eventos móviles o de dispositivos periféricos, imágenes cargadas y clips de video cortos. Separa el manejo de flujos con uso intensivo de CPU de la inferencia de GPU, utiliza Oracle Cloud Infrastructure Queue como un buffer de trabajo duradero y aplica decisiones basadas en políticas antes de entregar alertas a los sistemas operativos.

La solución va más allá de la simple detección de objetos. Evalúa si un evento visual es esperado, sospechoso, urgente o relevante desde el punto de vista operativo mediante el uso de contexto, como el rol, la zona, la hora, la confianza, la política de inquilinos, la propiedad de dispositivos y los patrones de eventos históricos. Los marcos seleccionados, los metadatos de detección, los resultados de las reglas y el estado de entrega descendente se conservan para la auditoría y la reproducción.

Utilice esta arquitectura cuando:
  • Las cargas de trabajo de cámara, imagen o clip están repartidas
  • El costo y la utilización de la GPU requieren un control deliberado
  • La detección bruta por sí sola es insuficiente
  • Los clientes necesitan trazabilidad, reproducción, controles multiinquilino o integración con los sistemas operativos existentes

Antes de empezar

Comprenda los requisitos para la arquitectura de referencia de análisis de cámara que se describe a continuación.

La arquitectura de referencia es modular. Puede adoptar cualquiera de los bloques de ingestión, inferencia, decisión u operaciones necesarios.

  • Defina las fuentes de vídeo y la topología, incluida la cámara inteligente de IA, la cámara IP tradicional, el dispositivo móvil o de borde, los medios cargados o una combinación. Para las cámaras IP tradicionales, planifique un conector de VPN, túnel TLS o cámara saliente a la capa de procesamiento del lado de OCI.
  • Confirme casos de uso, clases de objetos, latencia de destino, frescura de alerta esperada, requisitos de retención, necesidades de revisión humana y destinos de integración descendentes.
  • Valide la capacidad de la región de OCI, la disponibilidad de la unidad de GPU, las cuotas, los límites de servicio y el ancho de banda de red antes de confirmar los objetivos de nivel de servicio (SLO) de producción.
  • Seleccione y evalúe modelos de inferencia para el caso de uso del cliente. La arquitectura publicada utiliza la detección de estilo RT-DETR y la clasificación contextual de estilo CLIP como ejemplos. La evaluación y selección de modelos siguen siendo específicas del cliente.
  • Establezca políticas de identidad de inquilinos, sitios, cámaras, usuarios y dispositivos. Planifique el registro de dispositivos, la emisión y rotación de certificados, el TLS mutuo (mTLS), la gestión de claves y la validación de firmware firmada cuando el hardware lo admita.
  • Comience con una suposición de tamaño base de aproximadamente 50 tomas de cámara, flujos de 720p, muestreados a 1-5 fotogramas por segundo (FPS) para inferencia; cambie el tamaño según los requisitos de recuento, resolución, FPS, modelo y latencia de la cámara.

Arquitectura

Obtén más información sobre las capas de arquitectura y los servicios de OCI para el análisis de cámaras de IA acelerado por GPU.

En la siguiente tabla se muestran las capas arquitectónicas clave, los servicios de OCI utilizados para implantarlas y la finalidad de cada capa.

Capa de arquitectura Servicios OCI Finalidad
Entrada y captura Equilibrador de carga de OCI, OCI API Gateway, OCI Object Storage Acepte flujos de cámara retráctiles, clips y lotes de imágenes.
Procesamiento de flujos OCI Container Instances Gestionar sesiones RTSP, decodificar H.264/H.265, marcos de ejemplo, trabajo en buffer y volver a conectar sesiones.
Desacoplamiento Oracle Cloud Infrastructure Queue Absorba el tráfico y permite a los consumidores de GPU funcionar a un ritmo controlado.
Inferencia en GPU Pools de instancias de GPU de OCI Compute Permite ejecutar la detección, clasificación, procesamiento por lotes y correlación temporal de objetos con modelos seleccionados por el cliente.
Decisión y operaciones OCI Functions, OCI Notifications, OCI Connector Hub, OCI Object Storage, OCI Logging, OCI Monitoring, OCI Vault, OCI Identity and Access Management Aplique políticas, notifique los sistemas descendentes, conserve pruebas, gestione secretos y supervise la plataforma.

El siguiente diagrama ilustra esta arquitectura de referencia (no todos los servicios están representados).



contenedor-flujo-procesamiento-arquitectura-oracle.zip#GUID-A16027C3-0928-49C9-BA9D-BD5C6052E1A0

Esta arquitectura incluye los siguientes componentes:

  • Gateway de API de OCI

    Oracle Cloud Infrastructure API Gateway permite publicar API con puntos finales privados a los que se puede acceder desde la red y que, si es necesario, se pueden exponer a la red pública de Internet. Los puntos finales soportan las validaciones de API, las transformaciones de solicitud y respuesta, CORS, la autenticación y autorización, y la limitación de solicitudes.

  • Computación de OCI

    Con Oracle Cloud Infrastructure Compute, puede aprovisionar y gestionar hosts informáticos en la nube. Puede iniciar instancias informáticas con unidades que cumplan los requisitos de recursos para CPU, memoria, ancho de banda de red y almacenamiento. Después de crear una instancia informática, puede acceder a ella de forma segura, reiniciarla, asociar y desasociar volúmenes, y finalizarla cuando ya no la necesite.

  • Hub de conector de OCI

    Oracle Cloud Infrastructure Connector Hub es un servicio de bus de mensajes que organiza el movimiento de datos entre servicios en OCI. Puede utilizar conectores para mover datos de un servicio de origen a un servicio de destino. Los conectores también permiten especificar opcionalmente una tarea (como una función) que se debe realizar en los datos antes de que se entreguen al servicio de destino.

    Puede utilizar OCI Connector Hub para crear rápidamente un marco de agregación de registro para sistemas de gestión de eventos e información de seguridad (SIEM).

  • Funciones de OCI

    Oracle Cloud Infrastructure Functions es una plataforma totalmente gestionada, multiinquilino, altamente escalable, a demanda y de funciones como servicio (FaaS). Se basa en el motor de código abierto Fn Project. OCI Functions le permite desplegar su código y llamarlo directamente o dispararlo en respuesta a eventos. OCI Functions utiliza contenedores de Docker alojados en Oracle Cloud Infrastructure Registry.

  • OCI Identity and Access Management

    Oracle Cloud Infrastructure Identity and Access Management (IAM) proporciona control de acceso de usuario para OCI y Oracle Cloud Applications. La API de IAM y la interfaz de usuario le permiten gestionar los dominios de identidad y los recursos que contienen. Cada dominio de identidad de OCI IAM representa una solución de gestión de identidad y acceso independiente o un grupo de usuarios diferente.

  • Pool de instancia

    Un pool de instancia es un grupo de instancias dentro de una región que se crean a partir de la misma configuración que se gestionan como un grupo.

  • OCI Kubernetes Engine

    Oracle Cloud Infrastructure Kubernetes Engine (OCI Kubernetes Engine o OKE) es un servicio totalmente gestionado, escalable y de alta Disponibilidad que puede utilizar para desplegar sus aplicaciones de contenedores en la nube. Especifique los recursos informáticos que necesitan sus aplicaciones y OKE los aprovisiona en OCI en un arrendamiento existente. OKE utiliza Kubernetes para automatizar el despliegue, la ampliación y la gestión de aplicaciones en contenedores en clusters de hosts.

  • Equilibrador de carga

    Oracle Cloud Infrastructure Load Balancer proporciona la distribución automatizada de tráfico desde un único punto para acceder a varios servidores.

  • Registro de OCI
    Oracle Cloud Infrastructure Logging es un servicio altamente escalable y totalmente gestionado que proporciona acceso a los siguientes tipos de logs de sus recursos en la nube:
    • Logs de auditoría: logs relacionados con eventos producidos por OCI Audit.
    • Logs de servicio: logs publicados por servicios individuales como OCI API Gateway, OCI Events, OCI Functions, OCI Load Balancer, OCI Object Storage y logs de flujo de VCN.
    • Logs personalizados: logs que contienen información de diagnóstico a partir de aplicaciones personalizadas, otros proveedores de nube o un entorno local.
  • Supervisión de OCI

    Oracle Cloud Infrastructure Monitoring supervisa de forma activa y pasiva los recursos en la nube, y utiliza alarmas para notificarle cuando las métricas cumplen los disparadores especificados.

  • Notifications de OCI

    OCI Notifications difunde mensajes a componentes distribuidos mediante un patrón de publicación-suscripción de baja latencia, que ofrece mensajes seguros, altamente fiables y duraderos para las aplicaciones alojadas en OCI.

  • OCI Object Storage

    OCI Object Storage proporciona acceso a grandes cantidades de datos estructurados y no estructurados de cualquier tipo de contenido, incluidas copias de seguridad en bases de datos, datos analíticos y contenido enriquecido como imágenes y vídeos. Puede almacenar datos de forma segura directamente desde las aplicaciones o desde la plataforma en la nube. Puedes ampliar el almacenamiento sin experimentar ninguna degradación del rendimiento o la fiabilidad del servicio.

    Utilice el almacenamiento estandar para el almacenamiento "caliente" al que debe acceder de forma rápida, inmediata y frecuente. Utilice este tipo de almacenamiento para el almacenamiento "frío" que conserva durante largos períodos de tiempo y a los a los que rara vez accede.

  • Cola de OCI

    Oracle Cloud Infrastructure Queue proporciona un sistema escalable para procesar mensajes mientras gestiona tareas de gestión complejas, como el procesamiento, el seguimiento y el aislamiento de clientes garantizados al menos una vez. Este servicio centralizado también gestiona el orden de los mensajes y el estado de procesamiento, lo que permite a los procesos de cliente sin estado descargar el seguimiento del cursor.

  • Región OCI

    Una región de OCI es un área geográfica localizada que contiene uno o más centros, denominados dominios de disponibilidad. Las regiones son independientes de otras regiones y pueden haber grandes distancias que las separan (entre países o incluso continentes).

  • OCI Registry

    Oracle Cloud Infrastructure Registry es un servicio gestionado por Oracle que permite simplificar el flujo de trabajo del desarrollo a la producción. Registry facilita su almacenamiento, uso compartido y gestión de artefactos de desarrollo, como imágenes de Docker.

  • Arrendamiento

    Un arrendamiento es una partición segura y aislada que Oracle configura en Oracle Cloud cuando se registra en OCI. Puede crear, organizar y administrar sus recursos en OCI dentro de su arrendamiento. Un arrendamiento es sinónimo de una compañía u organización. Normalmente, una compañía tendrá un único arrendamiento y reflejará su estructura organizativa dentro de ese arrendamiento. Un único arrendamiento suele estar asociado a una única suscripción y una única suscripción suele tener un solo arrendamiento.

  • OCI Vault

    Oracle Cloud Infrastructure Vault permite crear y gestionar de forma centralizada las claves de cifrado que protegen los datos y las credenciales secretas que utiliza para proteger el acceso a los recursos en la nube. La gestión de claves por defecto son las claves gestionadas por Oracle. También puede utilizar claves gestionadas por el cliente que utilizan OCI Vault. OCI Vault ofrece un juego enriquecido de API de REST para gestionar almacenes y claves.

  • Red virtual en la nube y subred de OCI

    Una red virtual en la nube (VCN) es una red personalizable y definida por software que se configura en una región de OCI. Al igual que las Redes de los Centros de Datos Tradicionales, las Redes Virtuales le proporcionan control sobre su entorno de red. Una VCN puede tener varios bloques de enrutamiento entre dominios sin clases (CIDR) 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.

  • VNIC

    Los servidores de los Centros de Datos de OCI tienen Tarjetas de Interfaz de Red (NIC) físicas. Al iniciar una instancia en uno de estos servidores, esta se comunica con el servicio de redes NIC virtuales (VNIC) del servicio asociadas a las NIC físicas. Una tarjeta de interfaz de red virtual (VNIC) permite que una instancia se conecte a una VCN y determina cómo se conecta dicha instancia con los puntos finales ubicados dentro y fuera de la VCN. Cada VNIC reside en una subred de una VCN.

Recomendaciones

Utilice estas recomendaciones como punto de partida para la arquitectura de referencia.

Despliegue la solución en un diseño de red virtual en la nube (VCN) específico del cliente que separe la entrada pública de los servicios de procesamiento privados. La arquitectura de referencia recomienda subredes privadas, grupos de seguridad de red (NSG), gateways de servicio, puntos finales privados, OCI Identity and Access Management con menos privilegios, compartimentos, grupos dinámicos y secretos gestionados por OCI Vault cuando los requisitos de seguridad del cliente solicitan rutas de comunicación de servicio aisladas.

  • VCN: coloque los pools de instancias de GPU de OCI Compute, los procesadores de flujos de OCI Container Instances, los consumidores de Oracle Cloud Infrastructure Queue, los servicios de reglas y los servicios operativos en subredes privadas. Muestre solo la entrada necesaria a través del equilibrador de carga de OCI o el gateway de API de OCI. Utilice OCI Object Storage y otro acceso al servicio de OCI a través de gateways de servicio o puntos finales privados, cuando corresponda.

  • Seguridad: utilice Oracle Cloud Guard para supervisar y mantener la seguridad de los recursos en Oracle Cloud Infrastructure. Cloud Guard utiliza recetas de detector que puede definir para examinar los recursos en busca de puntos débiles de seguridad y para supervisar operadores y usuarios para detectar actividades riesgosas. Cuando se detecta una configuración incorrecta o una actividad no segura, Cloud Guard recomienda acciones correctivas y le ayuda a realizar esas acciones, en función de las recetas de responsable de respuesta que pueda definir.

    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, no se puede acceder a los recursos de una zona con seguridad desde la red pública de Internet y se deben cifrar con claves gestionadas por el cliente.

  • Grupos de seguridad de red (NSG): utilice los NSG para definir un juego de reglas de entrada y salida que se aplican a tarjetas de interfaz de red virtual (VNIC) específicas. Utilice NSG en lugar de listas de seguridad porque separan la arquitectura de subred de la VCN de los requisitos de seguridad de la aplicación.

  • OCI Identity and Access Management y secretos: aplica políticas, límites de compartimentos y grupos dinámicos de OCI Identity and Access Management con el mínimo de privilegios. Almacene credenciales y certificados en OCI Vault. Cifre los medios almacenados y las cargas útiles de eventos estructurados, y utilice URL de acceso de corta duración de OCI Object Storage para la reproducción en lugar de exponer las rutas de acceso de medios raw.

Consideraciones

Tenga en cuenta el rendimiento, la seguridad, la disponibilidad y el costo al desplegar esta arquitectura de referencia.
  • Rendimiento: escala el procesamiento de flujos de CPU por separado de la inferencia de GPU. Oracle Cloud Infrastructure Queue desacopla las ráfagas del consumo de GPU, mientras que la profundidad de cola, el retraso del consumidor, la latencia de inferencia, el rendimiento y la utilización de GPU proporcionan, en conjunto, señales de escalado más estables que una sola métrica. Un objetivo inicial práctico es aproximadamente el 70% de la utilización media de GPU para mantener el margen de maniobra para la variabilidad.

  • Seguridad: utilice subredes privadas, grupos de seguridad de red (NSG), gateways de servicio o puntos finales privados, OCI Identity and Access Management de mínimo privilegio, OCI Vault, cifrado, certificados de dispositivo, TLS mutua (mTLS) y controles de acceso conscientes del inquilino. Tratar las clasificaciones contextuales como señales operativas en lugar de afirmaciones de identidad. Conserve la revisión humana para flujos de trabajo confidenciales, y la versión del modelo de auditoría, la versión de regla, la puntuación de confianza, el registro de hora y el resultado del operador.

  • Disponibilidad: mantenga los procesadores de flujos y los trabajadores de modelos sin estado siempre que sea posible, conservando referencias de marco, historial temporal y datos de reproducción en los servicios gestionados por OCI. Supervisa los latidos de la cámara, la profundidad de la cola, el retraso del consumidor, la capacidad de la GPU, las cargas de OCI Object Storage y la entrega de notificaciones. Cree runbooks para eventos sin conexión con cámara, atrasos de cola, falta de disponibilidad de GPU, alertas duplicadas, fallos de almacenamiento y fallos de notificación. Incluya identificadores de eventos idempotentes, reintentos y manejo de letras muertas.

  • Costo: prefiere las cargas activadas por eventos a las cargas continuas en la nube de alta resolución. Las cámaras inteligentes pueden retener imágenes continuas localmente y cargar metadatos de eventos, miniaturas o clips cortos; el procesamiento de OCI puede muestrear marcos y retener clips de alta resolución solo en torno a eventos confirmados. Reduce el ancho de banda y el almacenamiento con ejemplos de tramas, compresión H.265, marcos configurables por segundo (FPS), umbrales de movimiento o persona, filtros de zona, clips cortos y políticas de ciclo de vida de OCI Object Storage. Los niveles de retención ilustrativos son de 7 días para clips estándar, de 30 días para eventos de seguridad de alta prioridad y de 90 días para flujos de trabajo regulados o de investigación.

Despliegue de la arquitectura

Despliegue la arquitectura en capas escalables de forma independiente.

Comience con un juego pequeño y representativo de cámaras y ajuste del modelo, el muestreo, la cola, la política y los umbrales de alerta con respecto a las características de carga de trabajo medidas.

Para desplegar la arquitectura:

  1. Establecer bases: cree redes virtuales en la nube y subredes, compartimentos, NSG, políticas y grupos dinámicos de OCI Identity and Access Management, secretos de OCI Vault, cubos de OCI Object Storage, OCI Logging, OCI Monitoring y políticas de ciclo de vida.
  2. Configurar la ingesta: despliegue OCI Load Balancer o OCI API Gateway y el puente de cámara seguro o el servicio de productor. Registre flujos de cámara, orígenes de medios cargados o productores móviles o perimetrales.
  3. Desplegar procesamiento de flujos: despliegue procesadores de flujos en contenedores para terminar sesiones de RTSP, decodificar medios, marcos de ejemplo, almacenar en buffer localmente según sea necesario y publicar elementos de trabajo de inferencia en Oracle Cloud Infrastructure Queue.
  4. Desplegar inferencia de GPU: despliegue trabajadores de GPU sin estado en pools de instancias de Compute. Configure modelos de detección y clasificación, lotes, umbrales de confianza, metadatos de modelos y consumidores de colas.
  5. Configurar decisiones e integraciones: externalizar reglas en JSON, YAML o un servicio de política. Aplique políticas de rol, zona, hora, confianza, historial de eventos y inquilino antes de enviar eventos validados a las plataformas de gestión de servicios, OCI Notifications, webhooks, API, OCI Connector Hub o de OCI.
  6. Operar y ajustar: cree alarmas para la profundidad de cola, la latencia de inferencia, el uso de GPU, el estado de la cámara, los fallos de carga y el estado de entrega. Utilice estas señales para escalar las capas de CPU y GPU de forma independiente; pruebe el manejo de fallos, la reproducción, la retención y la supresión de alertas.

Acuses de recibo

  • Autores: Prodipto Ranjan Baksi, Chaitanya Chennam, Viraj Poolabhavi, Akshita Muthayala, Prashant Gaikwad, Shamish Maikoti
  • Contributors: Robert Lies