Durante los últimos cuatro años, tuve la oportunidad de oro de liderar la estrategia, el diseño y la implementación de plataformas de inteligencia artificial y big data a escala global no en una, sino en dos plataformas de nube pública: AWS y GCP. Además, mi equipo puso en funcionamiento más de 70 casos de uso de ciencia de datos/aprendizaje automático (DSML) y 10 aplicaciones digitales, lo que contribuyó a un crecimiento de ingresos de aproximadamente 100 millones de dólares.
El viaje estuvo lleno de desafíos apasionantes y algunas curvas de aprendizaje pronunciadas, pero los resultados finales fueron muy impactantes. A través de esta publicación, quiero compartir mis aprendizajes y experiencias, que ayudarán a otros innovadores tecnológicos a pensar en su proceso de planificación y avanzar en su implementación.
Esta publicación se centrará principalmente en la construcción fundamental para proporcionar una imagen holística del ecosistema de producción general. En publicaciones posteriores, analizaré las opciones tecnológicas y compartiré prescripciones más detalladas.
Permítanme comenzar dándoles una visión de los componentes básicos de la plataforma de datos e inteligencia artificial.
Pensar en la arquitectura de un extremo a otro es una idea excelente, ya que puede evitar la trampa común de hacer las cosas de forma rápida y sucia. Después de todo, el resultado de su modelo de ML es tan bueno como los datos que le proporciona. Y usted no quiere comprometer la seguridad e integridad de los datos.
1. Adquisición e ingesta de datos
Crear un marco DataOps bien diseñado es esencial para el proceso general de incorporación de datos. Mucho depende de la fuente que genera los datos (estructurados o no estructurados) y de cómo los recibe (por lotes, replicación, casi en tiempo real, en tiempo real).
A medida que ingiere los datos, hay diferentes formas de incorporarlos:
- Extraer → Cargar (no se necesita transformación)
- Extraer → Cargar → Transformar (utilizado principalmente en cargas por lotes)
- Extraer → Transformar → Cargar (funciona mejor para la transmisión de datos)
Los ingenieros de funciones deben combinar aún más los datos para crear funciones (ingeniería de funciones) para casos de uso de aprendizaje automático.
2. Almacenamiento de datos
Elegir el almacenamiento de datos óptimo es esencial, y los depósitos de almacenamiento de objetos como S3, GCS o Blob Storage son las mejores opciones para incorporar datos sin procesar, principalmente datos no estructurados.
Para casos de uso de análisis puro, además, si está incorporando datos estructurados de SQL, también puede enviar los datos directamente a un almacén de datos en la nube (Big Query, etc.). Muchos equipos de ingeniería también prefieren utilizar un almacén de datos (diferente del almacenamiento de objetos). Su elección dependerá de los casos de uso y los costos involucrados. ¡Camina sabiamente!
Por lo general, puede traer directamente los datos de fuentes internas y externas (primeras y terceras partes) sin ningún paso intermedio.
Sin embargo, existen algunos casos en los que el proveedor de datos necesitará acceso a su entorno para realizar transacciones de datos. Planifique una zona de aterrizaje de terceros en una configuración DMZ para evitar exponer todo su sistema de datos a los proveedores.
Además, para datos relacionados con el cumplimiento como PCI, PII y datos regulados como GDPR, MLPS, AAPI, CCPA, etc., cree zonas de almacenamiento estructuradas para tratar los datos con sensatez desde el principio.
Recuerde planificar las políticas de retención y respaldo según los requisitos de contexto histórico o de viaje en el tiempo de sus informes de modelo de aprendizaje automático y análisis. Si bien el almacenamiento es barato, la acumulación de datos a lo largo del tiempo aumenta el costo de manera exponencial.
3. Gobernanza de datos
Si bien la mayoría de las organizaciones son buenas para traer y almacenar datos, la mayoría de los equipos de ingeniería necesitan ayuda para que los datos sean consumibles para los usuarios finales.
Los principales factores que conducen a una mala adopción son:
- Conocimiento de datos inadecuado en la organización
- Ausencia de un catálogo de datos y un diccionario de datos (metadatos) bien definidos
- Inaccesibilidad a la interfaz de consulta.
Los equipos de datos deben asociarse con equipos legales, de privacidad y de seguridad para comprender las regulaciones de datos nacionales y regionales y los requisitos de cumplimiento para una gobernanza de datos adecuada.
Varios métodos que podría utilizar para implementar la gobernanza de datos son:
- Enmascaramiento de datos y anonimización
- Control de acceso basado en atributos
- Localización de datos
No proteger adecuadamente el almacenamiento y el acceso a los datos podría exponer a la organización a problemas legales y sanciones asociadas.
4. Patrones de consumo de datos
A medida que los datos se transforman y enriquecen según los KPI empresariales, la presentación y el consumo de datos tienen diferentes facetas.
Para visualización pura y paneles de control, todo lo que necesita es un acceso simple a los datos almacenados y a la interfaz de consulta.
A medida que los requisitos se vuelven más complejos, como la presentación de datos a modelos de aprendizaje automático, es necesario implementar y mejorar el almacén de funciones. Este dominio necesita madurez y la mayoría de las soluciones nativas de la nube aún se encuentran en las primeras etapas de preparación para el nivel de producción.
Además, busque una capa de datos horizontal donde pueda presentar datos a través de API para que otras aplicaciones los consuman. GraphQL es una buena solución para ayudar a crear la capa de microservicios, lo que ayuda significativamente a facilitar el acceso (datos como servicio).
A medida que madure en esta área, considere estructurar los datos en dominios de productos de datos y encontrar administradores de datos dentro de las unidades de negocios que puedan ser los custodios de ese dominio.
5. Aprendizaje automático
Después del procesamiento de datos, existe un enfoque de dos pasos para el aprendizaje automático: desarrollo de modelos e implementación y gobernanza del modelo.
En la fase de desarrollo del modelo, los ingenieros de aprendizaje automático colaboran estrechamente con los científicos de datos hasta que el modelo esté empaquetado y listo para implementarse. La elección de marcos y funciones de aprendizaje automático y la asociación con DS en el ajuste de hiperparámetros y la capacitación de modelos son parte del ciclo de vida de desarrollo.
La creación de canales de implementación y la elección de la pila tecnológica para poner en funcionamiento y servir el modelo se incluyen en MLOps. Los ingenieros de MLOps también brindan gestión de modelos de ML, que incluye monitoreo, puntuación, detección de desviaciones e inicio del reentrenamiento.
Automatizar todos estos pasos en el ciclo de vida del modelo ML ayuda con el escalamiento.
No olvide almacenar todos sus modelos entrenados en un registro de modelos de ML y promover la reutilización para operaciones eficientes.
6. Operaciones de producción
Servir el resultado del modelo requiere una colaboración constante con otras áreas funcionales. La planificación avanzada y los canales de comunicación abiertos son fundamentales para garantizar que los calendarios de lanzamiento estén bien alineados. Hágalo para evitar plazos incumplidos, conflictos en la elección de tecnología y problemas en la capa de integración.
Dependiendo de la capa de consumo y los objetivos de implementación, publicaría la salida del modelo (punto final del modelo) a través de API o haría que las aplicaciones obtengan directamente la inferencia del almacén. Usar GraphQL junto con API Gateway es una forma eficiente de lograrlo.
7. Capa de seguridad
Separe el plano de gestión y cree una capa de servicios compartidos, que será su principal punto de entrada y salida para las cuentas en la nube. También será su sala de encuentro para las nubes públicas/privadas internas y externas dentro de su organización.
Sus políticas de control de servicios (AWS) o restricciones de políticas organizativas (GCP) deben estar centralizadas y proteger los recursos para que no se creen o alojen sin los controles de acceso adecuados.
8. Interfaz de gestión de usuarios/capa de consumo
Es aconsejable elegir de antemano la estructura de sus cuentas en la nube. Puede estructurarlos en líneas de negocio (LOB) O dominios de productos O una combinación de ambos. Además, diseñe y separe sus entornos de desarrollo, puesta en escena y producción.
Sería mejor si también centralizara su cadena de herramientas DevOps. Prefiero un conjunto de herramientas independientes de la nube para respaldar la integración y la transición perfectas entre un ecosistema híbrido de múltiples nubes.
Para los IDE de desarrollador, podría haber una combinación de IDE individuales y compartidos. Asegúrese de que los desarrolladores verifiquen el código con frecuencia en un repositorio de códigos; de lo contrario, corren el riesgo de perder el trabajo.
Proceso de ciencia de datos de un extremo a otro
Navegar a través de la dinámica organizacional y reunir a las partes interesadas en torno a un objetivo común alineado es vital para una implementación exitosa de la producción y las operaciones en curso.
Estoy compartiendo los flujos de trabajo y procesos multifuncionales que hacen que este complejo motor funcione sin problemas.
Conclusión
Con suerte, esta publicación despertó sus pensamientos, generó nuevas ideas y lo ayudó a visualizar la imagen completa de su empresa. Es una tarea compleja, pero con un diseño bien pensado, una ejecución adecuadamente planificada y muchas asociaciones multifuncionales, podrá navegarla fácilmente.
Un último consejo: no cree soluciones tecnológicas sólo porque parece interesante. Empiece por comprender el problema empresarial y evaluar el posible retorno de la inversión. En última instancia, el objetivo es crear valor empresarial y contribuir al crecimiento de los ingresos de la empresa.
Buena suerte con la creación o maduración de su plataforma de datos e inteligencia artificial.
¡Buen viaje!
~ Adil {LinkedIn}