talón ¿Qué es el aprendizaje federado? - Unite.AI
Contáctanos
Clase magistral de IA:

AI 101

¿Qué es el aprendizaje federado?

mm
Actualizado on

¿Qué es el aprendizaje federado?

El método tradicional de entrenar modelos de IA implica configurar servidores donde los modelos se entrenan con datos, a menudo mediante el uso de una plataforma informática basada en la nube. Sin embargo, en los últimos años ha surgido una forma alternativa de creación de modelos, denominada aprendizaje federado. Aprendizaje federado lleva modelos de aprendizaje automático a la fuente de datos, en lugar de llevar los datos al modelo. El aprendizaje federado vincula múltiples dispositivos computacionales en un sistema descentralizado que permite que los dispositivos individuales que recopilan datos ayuden 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/clientes entrenar su propia copia del modelo usando 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 que se alcance el nivel deseado de precisión. En resumen, la idea detrás del aprendizaje federado es que ninguno de los datos de entrenamiento se transmite entre dispositivos o entre partes, solo las actualizaciones relacionadas con el modelo.

El aprendizaje federado se puede dividir en tres pasos o fases diferentes. El aprendizaje federado generalmente comienza 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. Estas copias locales luego se entrenan con los datos generados por los sistemas del cliente, aprendiendo y mejorando su rendimiento.

En el segundo paso, todos los clientes envían sus parámetros de modelo aprendidos al servidor central. Esto sucede periódicamente, en un horario establecido.

En el tercer paso, el servidor agrega los parámetros aprendidos cuando los recibe. Una vez agregados los parámetros, el modelo central se actualiza y se comparte una vez más con los clientes. Luego se repite todo el proceso.

El beneficio de tener una copia del modelo en los distintos dispositivos es que las latencias de red se reducen o eliminan. Los costos asociados con compartir 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 conservan la privacidad y las respuestas del modelo se personalizan para el usuario del dispositivo.

Los 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 que usan Netflix o Amazon, podrían entrenarse con datos recopilados de miles de usuarios. Los dispositivos cliente entrenarían sus propios modelos separados y el modelo central aprendería a hacer mejores predicciones, aunque 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ía colaborar para entrenar un modelo común. En términos de un modelo de aprendizaje médico federado, varios hospitales podrían unirse para entrenar un modelo común que pudiera reconocer tumores potenciales a través de exploraciones médicas.

Tipos de aprendizaje federado

Esquemas de aprendizaje federado típicamente caen en una de dos clases diferentes: sistemas multipartidistas y sistemas unipartidistas. Los sistemas de aprendizaje federados de una sola parte se denominan "de una sola parte" porque solo una entidad es responsable de supervisar la captura y el flujo de datos en todos los dispositivos cliente en la red de aprendizaje. Los modelos que existen en los dispositivos cliente se entrenan en datos con la misma estructura, aunque los puntos de datos suelen ser únicos para los distintos usuarios y dispositivos.

A diferencia de los sistemas de un solo partido, los sistemas multipartidistas son administrados por dos o más entidades. Estas entidades cooperan para entrenar un modelo compartido utilizando los diversos dispositivos y conjuntos de datos a los que tienen acceso. Los parámetros y las estructuras de datos suelen ser similares en los dispositivos que pertenecen a varias entidades, pero no tienen que ser exactamente iguales. En su lugar, se realiza un preprocesamiento para estandarizar las entradas del modelo. Se podría emplear una entidad neutral para agregar los pesos establecidos por los dispositivos exclusivos de las diferentes entidades.

Marcos para el aprendizaje federado

Los marcos populares utilizados para el aprendizaje federado incluyen Tensorflow federado, Habilitador de tecnología de IA federada (FATE)y PySyft. PySyft es una biblioteca de aprendizaje federado de código abierto basada en la biblioteca de aprendizaje profundo PyTorch. PySyft está destinado a garantizar un aprendizaje profundo privado y seguro entre servidores y agentes que utilizan computación cifrada. Mientras tanto, Tensorflow Federated es otro marco de código abierto creado en la plataforma Tensorflow de Google. Además de permitir a los usuarios crear sus propios algoritmos, Tensorflow Federated les permite simular una cantidad de algoritmos de aprendizaje federados incluidos en sus propios modelos y datos. Finalmente, FATE también es un marco de código abierto diseñado por Webank AI, y está destinado a proporcionar al ecosistema de IA federada un marco informático seguro.

Desafíos de aprendizaje federado

Dado que el aprendizaje federado aún es bastante incipiente, una serie de desafíos aún debe negociarse para que alcance todo su potencial. Las capacidades de capacitación de los dispositivos perimetrales, el etiquetado y la estandarización de datos y la convergencia de modelos son obstáculos potenciales para los enfoques de aprendizaje federado.

Las capacidades computacionales de los dispositivos de borde, cuando se trata de capacitación local, deben tenerse en cuenta 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 generalmente dificulta el rendimiento del dispositivo. Habrá que hacer concesiones entre la precisión del modelo y el rendimiento del dispositivo.

Etiquetar y estandarizar los datos es otro desafío que deben superar los sistemas de aprendizaje federado. Los modelos de aprendizaje supervisado requieren datos de entrenamiento que estén etiquetados de manera clara y consistente, lo que puede ser difícil de hacer en los muchos dispositivos cliente que forman parte del sistema. Por este motivo, es importante desarrollar canalizaciones de datos modelo que apliquen etiquetas automáticamente de forma estandarizada en función de los eventos y las 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 e incluso diferentes tiempos de uso de la aplicación pueden contribuir a aumentar el tiempo de convergencia y disminuir la confiabilidad. Por esta razón, las soluciones de aprendizaje federado suelen ser más útiles cuando brindan ventajas significativas sobre el entrenamiento centralizado de un modelo, como instancias donde los conjuntos de datos son extremadamente grandes y están distribuidos.

Foto: Jeromemetronome a través de Wikimedia Commons, CC By SA 4.0 (https://en.wikipedia.org/wiki/File:Federated_learning_process_central_case.png)