Connect with us

IA 101

¿Qué es el Aprendizaje Federado?

mm

¿Qué es el Aprendizaje Federado?

El método tradicional de entrenar modelos de inteligencia artificial implica configurar servidores donde se entrenan los modelos en datos, a menudo mediante el uso de una plataforma de computación en la nube. Sin embargo, en los últimos años ha surgido una forma alternativa de creación de modelos, llamada aprendizaje federado. El aprendizaje federado lleva los modelos de aprendizaje automático a la fuente de datos, en lugar de llevar los datos al modelo. El aprendizaje federado enlaza varios dispositivos computacionales en un sistema descentralizado que permite a los dispositivos individuales que recopilan datos ayudar a entrenar el modelo.

En un sistema de aprendizaje federado, los diversos dispositivos que forman parte de la red de aprendizaje tienen cada uno una copia del modelo en el dispositivo. Los diferentes dispositivos/clients entrenan su propia copia del modelo utilizando los datos locales del cliente, y luego los parámetros/pesos de los modelos individuales se envían a un dispositivo maestro o servidor que agrega los parámetros y actualiza el modelo global. Este proceso de entrenamiento se puede repetir hasta alcanzar un nivel de precisión deseado. En resumen, la idea detrás del aprendizaje federado es que ninguno de los datos de entrenamiento se transmite nunca entre dispositivos o entre partes, solo se envían las actualizaciones relacionadas con el modelo.

El aprendizaje federado se puede dividir en tres pasos o fases diferentes. El aprendizaje federado suele comenzar con un modelo genérico que actúa como línea de base y se entrena en un servidor central. En el primer paso, este modelo genérico se envía a los clientes de la aplicación. Las copias locales se entrenan entonces en datos generados por los sistemas de clientes, aprendiendo y mejorando su rendimiento.

En el segundo paso, los clientes envían todos los parámetros del modelo aprendido al servidor central. Esto sucede periódicamente, según un calendario establecido.

En el tercer paso, el servidor agrega los parámetros aprendidos cuando los recibe. Después de que se agregan los parámetros, el modelo central se actualiza y se comparte nuevamente con los clientes. Todo el proceso se repite entonces.

El beneficio de tener una copia del modelo en los varios dispositivos es que se reducen o eliminan las latencias de la red. Los costos asociados con el intercambio de datos con el servidor también se eliminan. Otros beneficios de los métodos de aprendizaje federado incluyen el hecho de que los modelos de aprendizaje federado preservan la privacidad y las respuestas del modelo se personalizan para el usuario del dispositivo.

Ejemplos de modelos de aprendizaje federado incluyen motores de recomendación, modelos de detección de fraude y modelos médicos. Los motores de recomendación de medios, del tipo utilizado por Netflix o Amazon, podrían entrenarse en datos recopilados de miles de usuarios. Los dispositivos clientes entrenarían sus propios modelos separados y el modelo central aprendería a hacer mejores predicciones, incluso si los puntos de datos individuales serían únicos para los diferentes usuarios. De manera similar, los modelos de detección de fraude utilizados por los bancos pueden entrenarse en patrones de actividad de muchos dispositivos diferentes, y un puñado de bancos diferentes podrían colaborar para entrenar un modelo común. En cuanto a un modelo de aprendizaje federado médico, varios hospitales podrían unirse para entrenar un modelo común que podría reconocer posibles tumores a través de escaneos médicos.

Tipos de Aprendizaje Federado

Las esquemas de aprendizaje federado suelen caer en una de dos clases diferentes: sistemas de múltiples partes y sistemas de una sola parte. Los sistemas de aprendizaje federado de una sola parte se llaman “de una sola parte” porque solo una entidad es responsable de supervisar la captura y el flujo de datos en todos los dispositivos clientes de la red de aprendizaje. Los modelos que existen en los dispositivos clientes se entrenan en datos con la misma estructura, aunque los puntos de datos suelen ser únicos para los diferentes usuarios y dispositivos.

En contraste con los sistemas de una sola parte, los sistemas de múltiples partes están gestionados por dos o más entidades. Estas entidades cooperan para entrenar un modelo compartido utilizando los varios dispositivos y conjuntos de datos a los que tienen acceso. Los parámetros y estructuras de datos suelen ser similares en los dispositivos que pertenecen a las múltiples entidades, pero no tienen que ser exactamente los mismos. En su lugar, se realiza un preprocesamiento para estandarizar las entradas del modelo. Es posible que se emplee una entidad neutral para agregar los pesos establecidos por los dispositivos únicos de las diferentes entidades.

Frameworks para Aprendizaje Federado

Los frameworks populares utilizados para el aprendizaje federado incluyen Tensorflow Federated, Federated AI Technology Enabler (FATE) y PySyft. PySyft es una biblioteca de aprendizaje federado de código abierto basada en la biblioteca de aprendizaje profundo PyTorch. PySyft está diseñada para garantizar el aprendizaje profundo privado y seguro en servidores y agentes utilizando cálculo cifrado. Mientras que Tensorflow Federated es otro framework de código abierto construido en la plataforma Tensorflow de Google. Además de permitir a los usuarios crear sus propios algoritmos, Tensorflow Federated permite a los usuarios simular una serie de algoritmos de aprendizaje federado incluidos en sus propios modelos y datos. Finalmente, FATE también es un framework de código abierto diseñado por Webank AI, y está destinado a proporcionar al ecosistema de inteligencia artificial federada un marco de cálculo seguro.

Desafíos del Aprendizaje Federado

Como el aprendizaje federado es aún bastante incipiente, una serie de desafíos todavía tienen que ser negociados para que alcance su máximo potencial. Las capacidades de entrenamiento de los dispositivos de borde, la etiquetado y estandarización de datos, y la convergencia del modelo son posibles obstáculos para los enfoques de aprendizaje federado.

Las capacidades computacionales de los dispositivos de borde, en lo que respecta al entrenamiento local, deben ser consideradas al diseñar enfoques de aprendizaje federado. Si bien la mayoría de los teléfonos inteligentes, tabletas y otros dispositivos compatibles con IoT son capaces de entrenar modelos de aprendizaje automático, esto suele obstaculizar el rendimiento del dispositivo. Se tendrán que hacer compromisos entre la precisión del modelo y el rendimiento del dispositivo.

Etiquetar y estandarizar los datos es otro desafío que los sistemas de aprendizaje federado deben superar. Los modelos de aprendizaje supervisado requieren datos de entrenamiento que estén claramente y consistentemente etiquetados, lo que puede ser difícil de hacer en los muchos dispositivos clientes que forman parte del sistema. Por esta razón, es importante desarrollar tuberías de datos de modelo que apliquen etiquetas de manera estandarizada en función de eventos y acciones del usuario.

El tiempo de convergencia del modelo es otro desafío para el aprendizaje federado, ya que los modelos de aprendizaje federado suelen tardar más en converger que los modelos entrenados localmente. La cantidad de dispositivos involucrados en el entrenamiento agrega un elemento de imprevisibilidad al entrenamiento del modelo, ya que los problemas de conexión, las actualizaciones irregulares y incluso los diferentes horarios de uso de la aplicación pueden contribuir a un tiempo de convergencia más largo y una confiabilidad disminuida. Por esta razón, las soluciones de aprendizaje federado suelen ser más útiles cuando proporcionan ventajas significativas sobre el entrenamiento centralizado de un modelo, como instancias en las que los conjuntos de datos son extremadamente grandes y distribuidos.

Foto: Jeromemetronome via Wikimedia Commons, CC By S.A. 4.0 (https://en.wikipedia.org/wiki/File:Federated_learning_process_central_case.png)

Bloguero y programador con especialidades en Machine Learning y Deep Learning temas. Daniel espera ayudar a otros a utilizar el poder de la IA para el bien social.