DigiFarm: optimización de la producción de cultivos mediante modelos de red neuronal en Oracle Cloud

DigiFarm ejecuta su plataforma de agricultura de precisión nativa en la nube en Oracle Cloud Infrastructure (OCI), lo que ayuda a los agricultores y otras empresas agrícolas a determinar los límites de acre de campo predefinidos.

Con sus profundos modelos de red neuronal que se ejecutan en GPU de Oracle Bare Metal, DigiFarm ingiere imágenes de satélite óptico de la Agencia Espacial Europea (ESA), aumenta su resolución y, a continuación, proporciona un mapa de georreferencias, que hasta ahora ha ayudado a unos 14.000 productores de 30 países a delinear los límites de su superficie de campo semilla con una precisión del 92%.

Caso de cliente

Obtenga más información sobre el viaje de DigiFarm a Oracle Cloud:

Arquitectura

Después de ingerir imágenes de satélite de la Agencia Espacial Europea (ESA) mediante un cubo público en Amazon Web Services (AWS), las imágenes se introducen en una instancia de Oracle Cloud Infrastructure (OCI) y se colocan en Oracle Cloud Infrastructure Object Storage.

A continuación, DigiFarm entrena su modelo de red neuronal profunda para clasificar y mejorar la resolución de esas imágenes en una subred privada en siete servidores con hardware dedicado de Oracle.

Mediante una combinación de GPU NVIDIA Tesla A100, V100 y P100, DigiFarm aplica sus modelos de inferencia para ayudar a analizar las imágenes mejoradas y determinar los límites precisos de los acres predefinidos de un agricultor. Una vez delimitados los límites, las imágenes se almacenan en almacenamiento de bloques y se convierten en mapas de georreferencia y se ponen a disposición de los clientes de DigiFarm.

Los clientes de DigiFarm pueden acceder a sus mapas de georreferencia mediante Oracle API Gateway, que indica a Oracle Cloud Infrastructure Functions que extraiga las imágenes delineadas del almacenamiento de bloques.

Los siguientes diagramas ilustran la arquitectura. La primera imagen muestra el flujo de trabajo de formación e inferencia de aprendizaje automático y la segunda imagen muestra el flujo de trabajo de servicios de cliente.

  1. Las instancias de formación de delimitación de campos (almacenamiento en bloques y con hardware dedicado) se aprovisionan mediante imágenes de Docker.
  2. Las instancias de formación de delimitación de campo descargan datos de imágenes satelitales de ESA u otras fuentes utilizando la puerta de enlace de traducción de direcciones de red (NAT) y almacenan los datos en almacenamiento de bloques.
  3. Las instancias de formación de delimitación de campos mejoran las imágenes mediante el algoritmo de red neuronal de Digifarm que se ejecuta en GPU NVIDIA en hardware dedicado mediante la recuperación de metadatos del sistema de base de datos compartida. Una vez completada la mejora de la imagen, las instancias de entrenamiento de delimitación de campos se descomponen.
  4. Las imágenes mejoradas se guardan en Object Storage.
  5. Los motores de inferencia de delineación de campos y resolución profunda recuperan datos del almacenamiento de objetos, aplican la vectorización y crean mapas con referencia geográfica.

    digifarm-oci-ml-oracle.zip

  6. Los clientes de Digifarm acceden a sus mapas georreferenciados mediante una API expuesta mediante OCI API Gateway.
  7. La API permite a los clientes acceder a una biblioteca de funciones de servicio de usuario creadas en la plataforma Oracle Cloud Infrastructure Functions.
  8. Las funciones de servicio de usuario extraen las imágenes satelitales optimizadas del almacenamiento de objetos y acceden a los polígonos y metadatos con líneas de campo.

    digifarm-oci-client-oracle.zip

La arquitectura tiene los siguientes componentes:

  • Región

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

  • Compartimento

    Los compartimentos son particiones lógicas entre regiones dentro de un arrendamiento de Oracle Cloud Infrastructure. Utilice compartimentos para organizar los recursos en Oracle Cloud, controlar el acceso a los recursos y definir cuotas de uso. Para controlar el acceso a los recursos de un compartimento determinado, debe definir políticas que especifiquen quién puede acceder a los recursos y qué acciones pueden realizar.

  • Identity and Access Management (IAM)

    Oracle Cloud Infrastructure Identity and Access Management (IAM) es el plano de control de acceso para Oracle Cloud Infrastructure (OCI) y Oracle Cloud Applications. La API de IAM y la interfaz de usuario le permiten gestionar los dominios de identidad y los recursos del dominio de identidad. 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.

  • Dominio de disponibilidad

    Los dominios de disponibilidad son centros de datos independientes dentro de una región. Los recursos físicos de cada dominio de disponibilidad están aislados de los recursos de los otros dominios de disponibilidad, que ofrecen tolerancia a los fallos. Los dominios de disponibilidad no comparten una infraestructura como la alimentación o la refrigeración, ni la red interna del dominio de disponibilidad. Por lo tanto, es poco probable que un fallo en un dominio de disponibilidad afecte a los otros dominios de disponibilidad de la región.

  • Dominio de errores

    Un dominio de errores es una agrupación de hardware e infraestructura en un dominio de disponibilidad. Cada dominio de disponibilidad tiene tres dominios de errores con hardware y energía independientes. Al distribuir recursos entre varios dominios de errores, las aplicaciones pueden tolerar fallos físicos del servidor, mantenimiento del sistema y fallos de energía dentro de un dominio de errores.

  • Red virtual en la nube (VCN) y subredes

    Una VCN es una red personalizada y definida por software que se configura en una región de Oracle Cloud Infrastructure. Al igual que las redes del centro de datos tradicionales, las VCN le proporcionan un control completo sobre su entorno de red. Una VCN puede tener varios bloques CIDR no superpuestos que puede cambiar después de crear la VCN. Puede segmentar una VCN en subredes, que 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.

  • Lista de Seguridad

    Para cada subred, puede crear reglas de seguridad que especifiquen el origen, el destino y el tipo de tráfico que se debe permitir dentro y fuera de la subred.

  • Gateway de enrutamiento dinámico (DRG)

    El DRG es un enrutador virtual que proporciona una ruta para el tráfico de red privada entre las redes virtuales de la misma región, entre una VCN y una red fuera de la región, como una VCN de otra región de Oracle Cloud Infrastructure, una red local o una red de otro proveedor en la nube.

  • Gateway de traducción de direcciones de red (NAT)

    Un gateway de NAT permite que los recursos privados de una VCN accedan a los hosts en Internet, sin exponer esos recursos a las conexiones de Internet entrantes.

  • Gateway de internet

    El gateway de Internet permite el tráfico entre las subredes públicas de una VCN y la red pública de Internet.

  • Gateway de API

    Oracle API Gateway permite publicar API con puntos finales privados accesibles desde la red y que, si es necesario, se pueden exponer a la red pública de Internet. Los puntos finales soportan la validación de API, la transformación de solicitud y respuesta, CORS, la autenticación y autorización, y la limitación de solicitudes.

  • Host bastión

    El host bastión es una instancia informática que sirve como punto de entrada seguro y controlado a la topología desde fuera de la nube. El host bastión se aprovisiona normalmente en una zona desmilitarizada (DMZ). Permite proteger recursos confidenciales colocándolos en redes privadas a las que no se puede acceder directamente desde fuera de la nube. La topología tiene un único punto de entrada conocido que puede supervisar y auditar con regularidad. Por lo tanto, puede evitar exponer los componentes más sensibles de la topología sin comprometer el acceso a ellos.

  • Máquina Virtual

    El servicio Oracle Cloud Infrastructure Compute permite aprovisionar y gestionar hosts de recursos 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 accederla de forma segura, reiniciarla, asociar y desasociar volúmenes y terminarla cuando ya no lo necesite.

    • Instancias de formación: estas instancias se utilizan para desarrollar y verificar el modelo de aplicación, como una simulación de red neuronal. Los nodos de formación son instancias potentes que recuperan datos de Oracle Cloud Infrastructure Object Storage, realizan operaciones en los datos según el modelo que se esté utilizando y almacenan los datos en Oracle Cloud Infrastructure Block Volumes compartido asociado.
    • Servidor de inferencias: estas instancias preparan los datos procesados por los nodos de formación y almacenados en los volúmenes en bloque para su consumo por las aplicaciones de usuario.
    • Con hardware dedicado: la unidad con hardware dedicado puede reducir la duración del cálculo en un 50% en comparación con las instancias de máquina virtual que ejecutan cargas de trabajo que requieren un uso intensivo de los recursos informáticos.
  • Funciones

    Oracle Cloud Infrastructure Functions es una plataforma de funciones como servicio (FaaS) totalmente gestionada, multicliente, 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.

  • Sistema de base de datos

    El sistema de base de datos permite crear, ampliar y proteger fácilmente bases de datos Oracle con precios de licencia incluida en Oracle Cloud. También puede aprovechar Oracle Cloud Infrastructure para gestionar bases de datos Oracle en su centro de datos junto con sus bases de datos en la nube.

  • 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 bases 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 escalar el almacenamiento sin problemas sin experimentar una degradación del rendimiento o de la fiabilidad del servicio. Utilice el almacenamiento estándar para el almacenamiento "activo" al que debe acceder de forma rápida, inmediata y frecuente. Utilice el almacenamiento de archivos para el almacenamiento "en frío" que conserva durante largos períodos de tiempo y rara vez acceso.

  • Volumen en bloque

    Con los volúmenes de almacenamiento en bloques, puede crear, asociar, conectar y mover los volúmenes de almacenamiento, así como cambiar el rendimiento de los volúmenes para que se ajusten a los requisitos de almacenamiento, rendimiento y aplicación. Después de asociar y conectar un volumen a una instancia, puede utilizar el volumen como disco duro normal. También puede desconectar un volumen y asociarlo a otra instancia sin perder datos.

Incorporación y despliegue de funciones

¿Desea mostrar lo que ha creado en Oracle Cloud Infrastructure? ¿Es importante compartir sus lecciones aprendidas, mejores prácticas y arquitecturas de referencia con nuestra comunidad global de arquitectos en la nube? Permítanos ayudarte a empezar.

  1. Descargar la plantilla (PPTX)

    Ilustre su propia arquitectura de referencia arrastrando y soltando los iconos en el marco de alambre de ejemplo.

  2. Vea el tutorial de arquitectura

    Obtenga instrucciones paso a paso sobre cómo crear una arquitectura de referencia.

  3. Enviar el diagrama

    Nos envía un correo electrónico con su diagrama. Nuestros arquitectos en la nube revisarán su diagrama y se pondrán en contacto con usted para analizar su arquitectura.

Agradecimientos

  • Autores: Sasha Banks-Louie, Gabriel Grigorie, Mitesh Bhopale, Andriy Tsybulsky
  • Contribuyentes: Robert Lies, Vladimir Taft