La ejecución de una infraestructura de inteligencia sintético (IA) en las instalaciones presenta desafíos importantes, como un parada desembolso de haber y requiere experiencia interna. Puede proporcionar muchos beneficios para las organizaciones que desean establecer una logística de IA. La opción descrita en esta publicación ilustra el poder y la utilidad del Operator Lifecycle Manager (OLM) universal utilizando Juju, un OLM universal, para crear y tener la llave de la despensa una infraestructura de inteligencia sintético particular. Esta infraestructura es capaz de soportar los MLOps de un caso de uso de IA comúnmente utilizado sobre datos de series de tiempo financieras y modelado predictivo.
Tabla de Contenidos
Beneficios de una opción de IA particular
Cualquier ordenamiento que busque establecer una logística de IA debe considerar varios criterios secreto. La riqueza es a menudo uno de los criterios más importantes a la hora de lograr y desarrollar tecnología e infraestructura de IA. Sin bloqueo, igualmente se deben tener en cuenta varios otros criterios (flexibilidad, usabilidad y seguridad) para construir una logística valioso a corto y generoso plazo.
Al observar los criterios financieros, operativos y de seguridad, una audacia importante que se debe tomar es si construir y meter la aplicación en una montón pública o construir una infraestructura particular. Teniendo en cuenta el costo y la dificultad de tener la llave de la despensa servidores de inteligencia sintético especializados y la tendencia del mercado para implementar nuevas aplicaciones en la montón pública, la implementación y la construcción de una infraestructura de inteligencia sintético en las instalaciones ofrece beneficios significativos:
Crear su propia montón privada puede dominar los costos
El uso de servicios de montón pública es tremendamente complicado. Si utiliza los servicios de AWS para desarrollar un chatbot, por ejemplo, sería muy difícil mover esta aplicación de Amazon dada la dependencia con las API y los servicios de montón pública. Este ejemplo igualmente se puede aplicar a los servicios de montón pública de Google y Microsoft.
Ser apegado a los servicios de montón pública no es necesariamente agorero, ya que ofrecen un amplio catálogo de aplicaciones, así como capacidades de inteligencia sintético listas para usar que pueden proveer la implementación y el incremento de sus cargas de trabajo de inteligencia sintético.
El problema principal aquí es que cuando progresas en tu delirio de IA, las cosas pueden empeorar muy rápidamente. El incremento de la IA necesita una gran cantidad de capital computacionales, así como trabajos de entrenamiento de larga duración (de días a semanas) para poder hacer que sus redes neuronales sean avíos y estén actualizadas con datos y funciones nuevos. Este nivel de computación puede resultar costoso en la montón, con un costo de 2 a 3 veces más que construir su propia montón privada para entrenar y ejecutar las redes neuronales.
En las instalaciones hereda los procesos de seguridad standard
Muchas empresas ya han establecido reglas de seguridad y procesos definidos que muy probablemente se romperán si eligen comenzar su delirio de IA en la montón pública. Las empresas financieras y gubernamentales son buenos ejemplos de cómo las nubes públicas pueden no cumplir con los requisitos de seguridad y cumplimiento exactos o únicos que se pueden implementar más fácilmente con una opción particular. .
Costos y capital que vienen con Data Gravity
Uno de los mayores problemas para las empresas que desean utilizar servicios de montón pública para IA es cómo utilizar los datos que han estado recopilando durante abriles. Si sus datos están en las instalaciones, la molestia y los costos de las transferencias de datos pueden ser onerosos, especialmente considerando el tamaño masivo de los conjuntos de datos de entrenamiento de redes neuronales. Por esa razón, generalmente igualmente tiene sentido construir su IA en las instalaciones.
Caso de uso de modelado predictivo de series de tiempo financiero: predecir si el índice S&P 500 cerrará positivo o agorero
Los ingenieros de Canonical utilizan una edificación económica y probada para ejecutar este caso de uso de series temporales financieras en una infraestructura de IA / ML. El objetivo es tener una opción particular de un extremo a otro que pueda aceptar todo el flujo de trabajo de MLops, desde la creación del maniquí hasta la implementación de la producción.
El caso de uso se puede describir de la próximo guisa:
“Usamos inteligencia sintético y redes neuronales profundas para elaborar un maniquí que intentará predecir si el índice de mercado S & P 500 cerrará positivo o agorero en saco a información histórica de los mercados de títulos.
Los mercados financieros son cada vez más globales: puede utilizar la información de una zona horaria precedente a su atención en una zona horaria posterior. «
En sitio de centrarnos en el código fuente del caso de uso, que ya está cubierto en múltiples publicaciones de blog y muestras de Kubeflow, en esta publicación de blog queremos hacer pedantería en la edificación del entorno particular, el flujo de trabajo y los componentes para ejecutarlo.
Para poder construir el maniquí de predicción de series de tiempo y ponerlo a disposición de los servicios del mercado financiero realizaremos varios pasos:
- Obtenga datos de varios mercados financieros de un almacén de datos y conviértalos en un formato servible.
- Utilice TensorFlow para crear y entrenar modelos para predecir si el índice de mercado cerrará positivo o agorero.
- Envíe un maniquí entrenado a un sistema de almacenamiento de objetos.
- Sirve el maniquí entrenado mediante tensorflow en un bus de transporte distribuido.
El flujo de trabajo de nuestro caso de uso se ilustra en la figura 1. Estamos utilizando múltiples componentes de código descubierto para conquistar nuestro objetivo. De hecho, estamos utilizando la distribución encantadora de esas aplicaciones para poder explotar el poder de OLM en los ciclos de vida de implementación y suministro. Los Charms son conjuntos de scripts que simplifican las tareas de implementación y suministro de un servicio. Se revisan y actualizan periódicamente. Los siguientes amuletos y conjunto de amuletos se han utilizado para esta demostración:
- Elasticsearch: Elasticsearch es un motor de búsqueda y investigación de código descubierto, distribuido y en tiempo verdadero, flexible y potente. Diseñado desde cero para su uso en entornos distribuidos donde la confiabilidad y la escalabilidad son imprescindibles, Elasticsearch le brinda la capacidad de ir más allá de la simple búsqueda de texto completo.
Charmed Elasticsearch ›
- Canalización de Kubeflow: Kubeflow Pipelines es una opción integral para implementar y tener la llave de la despensa flujos de trabajo de educación espontáneo de un extremo a otro. Utilice Kubeflow Pipelines para una experimentación rápida y confiable. Puede programar y comparar ejecuciones y examinar informes detallados de cada ejecución.
Paquete Charmed Kubeflow lite ›
- Ceph: Ceph es un sistema de archivos de red y almacenamiento distribuido diseñado para proporcionar un excelente rendimiento, confiabilidad y escalabilidad. Asimismo se puede utilizar como un sistema de almacenamiento de objetos y proporcionar un punto final S3.
- Publicación de Tensorflow: TensorFlow Serving es un sistema de publicación flexible y de parada rendimiento para modelos de educación espontáneo, diseñado para entornos de producción. TensorFlow Serving facilita la implementación de nuevos algoritmos y experimentos, al tiempo que mantiene la misma edificación de servidor y API. TensorFlow Serving proporciona una integración inmediata con los modelos de TensorFlow, pero se puede ampliar fácilmente para ofrecer otros tipos de modelos y datos.
- Kafka: Apache Kafka es una plataforma de transmisión de eventos distribuida de código descubierto utilizada por miles de empresas para canalizaciones de datos de parada rendimiento, investigación de transmisión, integración de datos y aplicaciones de cometido crítica.
Básicamente, comenzamos ejecutando la canalización de Financial Time Series Kubeflow. En primer sitio, en el paso de preproceso, descargamos datos sin procesar de elasticsearch y los preprocesamos. Los datos representan títulos de cerrojo antiguos de múltiples mercados de títulos (aord, dax, djia, nyse, snp…). Luego, en el paso de entrenamiento, entrenamos un maniquí de red neuronal con los datos preprocesados. En este paso, usamos la biblioteca Tensorflow para entrenar el maniquí y podemos ejecutarlo usando CPU o GPU. Finalmente, en el paso de implementación, cargamos el maniquí de resultado en un depósito s3 adentro de Ceph.
El servidor de tensorflow descarga el maniquí entrenado del bucket de ceph s3 y lo entrega a través de Kafka.
Entorno
La Figura 3 representa una perspicacia de parada nivel de nuestro medio dominio. Lo que está adentro del recuadro punteado representa un dominio de Juju o un maniquí de Juju.
Los servicios elasticsearch, k8s y kafka se implementarán y administrarán a través de Juju sobre las máquinas virtuales que proporciona MAAS. Los servicios de servidor de Kubeflow y tensorflow se implementarán sobre Kubernetes igualmente a través de Juju.
Básicamente, elasticsearch se utilizará para acumular los datos sin procesar que se utilizarán para entrenar nuestro maniquí.
K8s, se utilizará para ejecutar la plataforma Kubeflow y el servicio de tensorflow. Ceph se utilizará principalmente como un sistema de almacenamiento de objetos para acumular nuestro maniquí entrenado. Asimismo actúa como un sistema de almacenamiento en sillar para acumular volúmenes persistentes para nuestros pods de Kubernetes. Kafka actúa como un bus de transporte entre el servidor maniquí y las aplicaciones cliente.
Como se mencionó anteriormente, todos los componentes desplegados en este entorno se realizan a través de Juju y los encantos. La Figura 4 muestra el resultado ambiental a través de Juju gui.
Conclusión
Únase a miles de desarrolladores y empresas que eligieron Ubuntu como su plataforma para cargas de trabajo de incremento, innovación y producción.
¡Despeguemos juntos!
Póngase en contacto con el equipo de Ubuntu Kubeflow>
Asimismo hay un seminario web arreglado para esta demostración>