Cómo utilizar un feature store para optimizar el despliegue de modelos de machine learning

A medida que las organizaciones comienzan a hacer un uso más extenso del aprendizaje automático, necesitan gestionar no solo sus datos y los modelos de aprendizaje automático que los utilizan, sino también las características que organizan los datos sin procesar en conceptos con los que los modelos pueden trabajar.

Cómo utilizar un feature store para optimizar el despliegue de modelos de machine learning - Desarrollo | Imagen 1 Newsmatic

A principios de este año, LinkedIn liberó el código de Feathr, el almacén de características que utiliza internamente para cientos de servicios diferentes impulsados por aprendizaje automático que utilizan petabytes de datos, como mostrar trabajos interesantes o publicaciones de blog que podrías querer leer. Es la tecnología detrás del servicio Azure Feature Store, y ahora forma parte de la Linux Foundation AI & Data Foundation para ser más útil para un amplio rango de equipos de desarrollo.

"Los almacenes de características y Feathr son una pieza importante de cómo hacer MLOps y cómo implementar modelos de aprendizaje automático de manera eficiente, efectiva y cumpliendo todos los aspectos que la empresa debe tener en cuenta", dijo David Stein, ingeniero senior de Feathr en LinkedIn a Newsmatic.

Índice de Contenido
  1. Cómo el aprendizaje automático encuentra características
  2. Feathr: Una plataforma para características
  3. Aprendizaje automático empresarial eficaz

Cómo el aprendizaje automático encuentra características

En términos de aprendizaje automático, una característica es una entrada de datos específica para un modelo de aprendizaje automático, algo así como una columna en una base de datos o una variable en el código.

"Si estás tratando de predecir si una persona va a comprar un automóvil, y tienes una persona y un automóvil como entrada al modelo, y la predicción es una probabilidad de compra o no querer comprar, las características que el modelo podría estar diseñado para utilizar podrían incluir cosas como el nivel de ingresos de la persona o su color favorito: cosas que conoces sobre ellos y cosas sobre el automóvil", explicó Stein. "Si tienes un conjunto de datos gigante con mil millones de filas, querrías seleccionar un conjunto de columnas como punto de partida y luego diseñar tu modelo en torno a cómo utilizar esas características para hacer la predicción".

Los mejores cursos de Linux en LinkedIn Premium para desarrolladores de software

Algunas de las características están presentes en los datos, como los identificadores de productos y las fechas, pero otras necesitan ser procesadas, por lo que es más complicado que simplemente señalar las columnas que deseas en una base de datos.

"Todas las otras características útiles que vas a necesitar pueden necesitar ser calculadas, unidas y agregadas a partir de distintos recursos de datos diferentes", explicó Stein.

Si tu modelo de aprendizaje automático funciona con transacciones, el valor promedio de las transacciones en restaurantes durante los últimos tres meses sería ese tipo de característica. Si estás construyendo un sistema de recomendación, los datos son tablas de usuarios, artículos y compras, y la característica sería algo que puedes utilizar para hacer recomendaciones, como qué productos se han comprado en la última semana o mes, si alguien compró el producto en un día de semana o fin de semana y cómo estaba el clima cuando lo compraron.

Los sistemas complejos de aprendizaje automático tienen cientos o miles de características, y construir el flujo de trabajo que convierte los datos en esas características requiere mucho trabajo. Es necesario conectar múltiples fuentes de datos, combinar las características con los datos etiquetados mientras se preservan cosas como la "corrección en el tiempo", almacenar esas características en almacenamiento de baja latencia y asegurarse de que las características se manejen de la misma manera cuando se utilizan esos modelos para hacer predicciones.

"En LinkedIn, existen muchos activos de datos como bases de datos y almacenes de datos ETL y diferentes tipos de informaciones sobre ofertas de trabajo, publicidad, elementos del feed, usuarios de LinkedIn, empresas, habilidades y trabajos, y todas estas cosas, así como el grafo económico de LinkedIn", dijo Stein. "Hay una gran cantidad de entidades diferentes que pueden estar relacionadas con un problema de predicción en particular".

Simplemente encontrar y conectarse a todos esos conjuntos de datos es mucho trabajo, antes de comenzar a elegir y calcular las diferentes características que contienen.

Empieza con éxito el despliegue de contenedores con Podman

"Los ingenieros que construirían los modelos de aprendizaje automático tendrían que hacer grandes esfuerzos para encontrar los detalles de los diversos activos de datos a partir de los cuales esas muchas señales podrían necesitar provenir", dijo Stein. También tienen que dedicar tiempo a normalizar cómo acceder a los datos: diferentes fuentes de datos pueden etiquetar la misma información como ID de usuario, ID de perfil o UID.

Si dos personas utilizan los mismos datos para entrenar diferentes modelos, pueden terminar creando la misma característica para sus proyectos diferentes. Eso es un esfuerzo desperdiciado, y si las definiciones de características son ligeramente diferentes, podrían dar respuestas confusamente diferentes. Además, cada equipo tiene que construir un complejo flujo de trabajo de ingeniería de características para cada proyecto.

Feathr: Una plataforma para características

Un almacén de características es un registro de características que te permite hacer todo ese trabajo una sola vez. Cada proyecto puede utilizar el mismo flujo de trabajo, y si necesitas una característica que otro desarrollador ya ha creado, simplemente puedes reutilizarla. Esta es la función de Feathr (Figura A).

Figura A

Cómo utilizar un feature store para optimizar el despliegue de modelos de machine learning - Desarrollo | Imagen 2 Newsmatic

Stein sugiere pensar en ellos como administradores de paquetes.

Aprende a programar con el paquete de certificación Premium 2023 por solo $24.99

"Los almacenes de características se tratan de simplificar y facilitar la importación de los datos que necesitas en tu aplicación y modelo de aprendizaje automático", dijo. "Eso a menudo puede ser una configuración muy compleja, especialmente para proyectos grandes que se ejecutan a lo largo del tiempo, y especialmente en empresas donde hay muchos proyectos que utilizan conjuntos de datos similares. Queremos facilitar que el ingeniero de aprendizaje automático importe sus características como entradas y luego escriba su código de modelo".

En lugar de encontrar el conjunto de datos correcto y escribir el código para agregar los datos en características, Stein explicó que "al ingeniero de aprendizaje automático le gustaría poder decir 'ok, quiero el número de años de experiencia del usuario, quiero algo sobre su empresa' y simplemente que aparezcan como columnas en una tabla de entrada". De esta manera, pueden pasar su tiempo trabajando en el modelo en lugar de la infraestructura de características.

Esto significa mucho menos trabajo para los desarrolladores en cada proyecto de aprendizaje automático; en un caso, miles de líneas de código se redujeron a tan solo diez líneas debido a Feathr. En otro caso, lo que hubiera sido semanas de trabajo se terminó en un par de horas porque el almacén de características tiene operadores incorporados.

Cuanto menos procesos manuales existan en cualquier flujo de trabajo de desarrollo, menos frágil será, porque no estás pidiendo a alguien que haga una cosa complicada a mano de manera perfecta cada vez. Tener esas características incorporadas significa que más personas pueden utilizar estas técnicas sofisticadas.

"Feathr proporciona la capacidad de definir señales de actividad con ventana deslizante en datos de eventos en bruto", dijo Stein. "Antes era difícil de hacer sin una plataforma que supiera cómo hacerlo correctamente. Hacerlo bien con herramientas más básicas era lo suficientemente difícil como para que muchos equipos ni siquiera experimentaran con el uso de señales así".

Feathr también se encarga de almacenar las características en una memoria caché de baja latencia para que estén listas para usar en producción.

Cómo crear scripts de shell sin contraseña en Linux

"Cuando la aplicación intenta hacer una inferencia, solicita los valores de algunas características para que pueda ejecutarlos a través de su modelo y hacer algunas predicciones", agregó Stein. "Quieres que la maquinaría del almacén de características responda rápidamente para que esa consulta pueda ser respondida muy rápidamente".

No necesitas esa baja latencia cuando estás entrenando tu modelo de aprendizaje automático, por lo que puedes obtener datos de otras ubicaciones como Spark, pero con Feathr no tienes que escribir un código diferente para hacer eso.

"Desde el punto de vista del ingeniero de aprendizaje automático que está escribiendo el código del modelo, queremos que esas cosas se vean iguales", dijo Stein.

La precisión y la repetibilidad son importantes para el aprendizaje automático, al igual que saber cómo los modelos producen sus resultados y qué datos están utilizando. Un almacén de características facilita la auditoría de eso (el Azure Feature Store tiene una interfaz de usuario amigable que muestra de dónde provienen los datos y cómo se utilizan) y también puede facilitar la comprensión porque se ven nombres simplificados en lugar de todos los diferentes identificadores de datos (Figura B).

Figura B

Cómo utilizar un feature store para optimizar el despliegue de modelos de machine learning - Desarrollo | Imagen 3 Newsmatic

Cómo instalar el kernel 6.0 en Ubuntu 22.04: Guía paso a paso

Aunque el acceso a los datos está centralizado a través de un almacén de características, Feathr utiliza el Control de Acceso Basado en Roles para asegurarse de que solo las personas que deberían tener acceso a un conjunto de datos puedan utilizarlo para su modelo. Feathr de código abierto utiliza Azure Purview, lo que significa que puedes establecer controles de acceso una vez y que se apliquen de manera coherente y segura en todas partes.

Aprendizaje automático empresarial eficaz

Debido a que fue desarrollado para la tecnología y configuraciones que LinkedIn utiliza internamente, liberar Feathr también significó que se volviera más generalizado, para que fuera útil para empresas que utilizan tecnologías diferentes a las de LinkedIn.

"Hay un número creciente de personas en la industria que tienen este tipo de problema", señaló Stein. "Cada organización individual que construye flujos de trabajo de características necesita descubrir cómo resolver esos desafíos de ingeniería, cómo asegurarse de que las cosas se estén utilizando de la manera correcta; estas son cosas que puedes construir una vez y construir bien en una solución de plataforma".

El primer paso fue trabajar con Microsoft para que Feathr funcionara bien en Azure. Eso incluye el soporte para más fuentes de datos más comunes en la industria en general que en LinkedIn (Figura C).

Figura C

Cómo utilizar un feature store para optimizar el despliegue de modelos de machine learning - Desarrollo | Imagen 4 Newsmatic

Cómo configurar y personalizar el archivo .gitconfig en Git

Si estás utilizando Feathr en Azure, puedes obtener datos de Azure Blob Storage, Azure Data Lake Storage, bases de datos SQL de Azure y almacenes de datos. Una vez que se han definido las características, se pueden generar utilizando Spark en Azure Databricks o Azure Synapse Analytics.

Las características se almacenan en una memoria caché de Azure Redis para un procesamiento de baja latencia y se registran en Azure Purview para compartir entre equipos. Cuando deseas utilizar características en un modelo de aprendizaje automático, puedes llamarlas desde Azure Machine Learning: Implementa el modelo en un clúster de Azure Kubernetes Service y puede obtener características de la memoria caché de Redis.

Llevar el proyecto a la LF AI & Data Foundation es el siguiente paso y llevará a Feathr más allá del ecosistema de Azure.

"La colaboración y afiliación mejoran la red de personas que trabajan en Feathr", dijo Stein. "Tenemos acceso a recursos y oportunidades de colaboración con proyectos relacionados".

La colaboración y la contribución son importantes porque los almacenes de características son una idea bastante nueva.

"La industria se está moviendo hacia una comprensión más sólida de los detalles de lo que estas herramientas deben ser y lo que deben hacer, y estamos tratando de contribuir a eso basándonos en lo que hemos aprendido", agregó.

Cómo desplegar Portainer con Podman: Guía paso a paso para administrar contenedores

Como suele suceder cuando se libera el código fuente de un proyecto, ese trabajo también hizo que Feathr fuera mejor para LinkedIn en sí mismo.

"La ingeniería de LinkedIn tiene una cultura de liberar el código de nuestras cosas que creemos que son generalmente útiles y que serían de interés para la industria", dijo Stein.

Los nuevos usuarios son una oportunidad para que las personas que construyeron la herramienta aprendan más sobre lo que la hace útil al ver cómo se puede utilizar para resolver problemas cada vez más diversos. También es una fuerza motriz para mejorar la documentación lo suficiente como para que un nuevo usuario pueda recoger el proyecto y entender cómo utilizarlo para resolver un problema y cómo se compara con las alternativas, señaló Stein.

"Hay muchas cosas que deberían estar en un producto bien desarrollado", dijo Stein. "Liberar el código fuente y poner una solución a disposición del público es una gran oportunidad para hacer esas cosas y convertir el producto en excelente. Traer Feathr a la comunidad de código abierto y ahora a la Linux Foundation es parte del proceso de continuar evolucionando esto en una mejor herramienta que funcione para una amplia variedad de casos y aplicaciones de aprendizaje automático. Es el camino para mejorar: egoístamente, para LinkedIn, pero también para la comunidad".

Aprende desarrollo web de pila completa desde cero con este curso por solo $19

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Desarrollo, allí encontraras muchos artículos similares a Cómo utilizar un feature store para optimizar el despliegue de modelos de machine learning , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.