sql >> Base de Datos >  >> NoSQL >> HBase

Cómo implementar modelos ML en producción

Actualmente, muchas empresas, incluidos muchos clientes de Cloudera, están experimentando con el aprendizaje automático (ML) y creando modelos para abordar una amplia gama de desafíos. Si bien hoy en día, muchos modelos se utilizan para tableros y propósitos internos de BI, un grupo pequeño y en rápido crecimiento de líderes empresariales ha comenzado a darse cuenta del potencial de ML para la automatización comercial, la optimización y la innovación de productos. En esta publicación de blog, nos sumergiremos en esto último, específicamente, cómo las líneas de negocios están reorientando a sus científicos de datos para trabajar con ingenieros de aplicaciones y otras partes interesadas para resolver problemas comerciales en tiempo real. Estos casos de uso varían según la industria y la importancia comercial y están creciendo en amplitud y profundidad a medida que las empresas aprenden cuánto se puede hacer con los datos que tienen.

Ejemplos de estos casos de uso incluyen:

  • Cerner, líder en el cuidado de la salud, utiliza datos de sensores de pacientes para identificar la sepsis usando modelos de aprendizaje automático y notifica de manera proactiva a los médicos para que puedan diagnosticar y tratar más dentro de las 6 horas que esta enfermedad es tratable
  • Servicios financieros las empresas utilizan el aprendizaje automático para detectar transacciones fraudulentas en tiempo real y utilizan los comentarios en tiempo real de los clientes para realizar un aprendizaje de refuerzo 
  • Empresas ferroviarias hacer que los trenes de carga de larga distancia pasen por estaciones especiales donde toman miles de fotografías de alta resolución y aplican el aprendizaje automático para identificar las piezas defectuosas. Luego programan el tren para que llegue a un taller de reparación junto con las piezas y los técnicos, lo que hace que la parada sea similar a una parada en boxes de Fórmula 1
  • Utilidades están utilizando datos de medidores inteligentes para identificar problemas potenciales en la red de distribución eléctrica y programar el mantenimiento de manera proactiva
  • Empresas de medios están utilizando el aprendizaje automático para identificar y proporcionar contenido relevante en tiempo real en función de lo que está viendo
  • Empresas de comercio electrónico y tecnología publicitaria han estado usando estas capacidades por más tiempo para garantizar la relevancia de sus ofertas para varios públicos objetivo

Una vez que se identifica un problema y se toma la decisión de invertir en una solución comercial, los científicos de datos estudiarán los datos utilizando varias herramientas de ML para crear los algoritmos y trabajarán con ingenieros de software para crear aplicaciones que puedan aprovechar esos algoritmos.

Según sus necesidades, los datos pueden residir en su almacén de datos o dentro de sus bases de datos operativas. Muchos de los clientes de Cloudera usarán Spark y SparkMLlib dentro de Cloudera Machine Learning (CML) para entrenar sus algoritmos. El uso de CML permite flujos de trabajo fluidos para poner en funcionamiento modelos en una plataforma única, segura y gobernada creada para flujos de trabajo de ML más rápidos. Para obtener más información sobre nuestro enfoque para desarrollar flujos de trabajo de producción en CML, únase este seminario web.

Los algoritmos de entrenamiento se pueden realizar en la base de datos operativa 

Una de las razones principales para usar un almacén de datos para entrenar algoritmos es evitar agregar carga a una base de datos operativa existente y, por lo tanto, afectar los SLA de la carga de trabajo operativa. Sin embargo, en el caso de la base de datos operativa de Cloudera (OpDB), los usuarios pueden establecer cuotas y límites en la cantidad de recursos y la carga que los usuarios de aprendizaje automático pueden poner en el sistema. Esto protege las cargas de trabajo operativas y permite que los científicos de datos utilicen datos en tiempo real sin incurrir en el costo de crear una segunda copia.

Al usar OpDB de Cloudera, los clientes a menudo usan Spark para consultar datos dentro de la base de datos operativa, lo que elimina la necesidad de descargar datos antes de explorarlos y usarlos para capacitación con fines de aprendizaje automático.

Los algoritmos de aprendizaje automático deben cumplir los requisitos de disponibilidad, resistencia y capacidad de respuesta a nivel de aplicación 

El desarrollo y la capacitación del algoritmo basado en ML generalmente se realiza junto con el desarrollo de la aplicación (suponiendo que ya se haya establecido el hecho de que esto es factible). Los requisitos de aplicación típicos para una base de datos subyacente a menudo incluyen:

  • Tiempo de respuesta inferior a 1 ms
  • Disponibilidad continua frente a interrupciones del hardware (o alta disponibilidad, pero se prefiere menos alta disponibilidad)
  • Capacidad de escalamiento horizontal
  • Alta simultaneidad (miles de solicitudes/segundo)

Al implementar el aprendizaje automático como parte de una aplicación, se deben cumplir los requisitos de la aplicación en cuanto a disponibilidad, resistencia y capacidad de respuesta. Además, se imponen a la aplicación varios requisitos adicionales específicos de aprendizaje automático:

  • Capacidad para auditar decisiones
  • Capacidad para versionar modelos/algoritmos
  • Capacidad de admitir el aumento de datos para el aprendizaje continuo (dependiendo del algoritmo que se implemente)

La base de datos operativa de Cloudera puede cumplir ambos conjuntos de requisitos 

Para cumplir con estos requisitos, los clientes normalmente aplanarán la salida del modelo de aprendizaje automático en una tabla, esencialmente calculando previamente todas las salidas para todo el espacio de entrada. Esto crea requisitos adicionales para la base de datos subyacente:

  • Capacidad para crear una tabla de cientos de gigabytes o terabytes (según el tamaño y la cantidad de parámetros de entrada)
  • Simplicidad de administración (no obligue a los administradores a administrar la fragmentación, etc.)

Desde la perspectiva de la base de datos operativa de Cloudera, un modelo de aprendizaje automático se representa fácilmente como una tabla (y este es el enfoque que han adoptado muchos clientes):

  • La clave principal se compone del conjunto de entradas necesarias para identificar la salida (independientemente del número de entradas necesarias)
  • Columna:recomendación del modelo de aprendizaje automático (el resultado)
  • Columna:Versión del modelo

Una función de auditoría también se parece a una tabla:

  • La clave principal se compone del conjunto de entradas necesarias para identificar la salida (independientemente del número de entradas necesarias)
  • Columna:a quién entregó este resultado (por ejemplo, ID de cliente)
  • Columna:qué salida se sirvió
  • Columna:qué versión del modelo se usó
  • Columna:qué respuesta alternativa hubiera sido mejor (aumento)

El aumento se puede realizar de forma manual o programática (es decir, cuando una compañía de tarjetas de crédito le envía un correo electrónico pidiéndole que verifique una transacción, están realizando un aumento de datos). Esta tabla de auditoría aumentada se puede usar para reforzar el aprendizaje en la base de datos o descargarse en un almacén de datos.

Dado que los datos están en la base de datos, las actualizaciones del modelo se pueden realizar sin ningún tiempo de inactividad de la aplicación.

Desde una perspectiva de escalabilidad, la base de datos operativa de Cloudera se basa en Apache HBase y Apache Phoenix, los cuales han demostrado que manejan tablas de cientos de terabytes de tamaño sin ningún problema.

Consulte la base de datos operativa de Cloudera dentro de la plataforma de datos de Cloudera en la nube pública para crear su próxima aplicación basada en ML.