El aprendizaje federado es un enfoque descentralizado para entrenar modelos de machine learning (ML). Cada nodo de una red distribuida entrena un modelo global con sus datos locales y un servidor central agrega las actualizaciones de los nodos para mejorar el modelo global.
Los modelos de inteligencia artificial (IA) requieren enormes volúmenes de datos. Estos conjuntos de datos suelen centralizarse en una única ubicación para el entrenamiento de modelos, lo que abre la posibilidad de que cualquier información de identificación personal (PII) contenida en los conjuntos de datos quede expuesta durante su transmisión o almacenamiento.
El aprendizaje federado ayuda a abordar estas preocupaciones, ya que la información confidencial permanece en el nodo, lo que ayuda a preservar la privacidad de los datos. También permite el aprendizaje colaborativo, ya que para perfeccionar los modelos de IA se utilizan diversos dispositivos y servidores.
El aprendizaje federado consta de cuatro etapas principales:
● Inicialización
● Entrenamiento local
● Agregación global
● Iteración
El aprendizaje federado comienza con la inicialización de un modelo global de machine learning en un servidor central. Este modelo constituye la base del proceso de aprendizaje federado.
El servidor central distribuye el modelo global a los nodos cliente conectados, que pueden ser otros servidores o dispositivos periféricos, como teléfonos inteligentes y dispositivos de Internet de las cosas (IoT). También transmite información relevante, incluidas variables de configuración como los hiperparámetros y el número de épocas o pasadas completas por los datos de entrenamiento.
Tras recibir el modelo global y todos los detalles necesarios, cada nodo cliente comienza el entrenamiento. El proceso es similar al de cualquier red neuronal: los nodos cliente entrenan el modelo únicamente mediante sus datos locales o del dispositivo.
Cuando han completado el número de épocas, los nodos cliente transmiten los parámetros o gradientes del modelo actualizados al servidor central; no se devuelven modelos locales completamente entrenados ni datos sin procesar.
El servidor central agrega todas las actualizaciones de los nodos cliente. Existen diferentes métodos de agregación, pero uno de los más utilizados es el promedio federado, que calcula la media ponderada de todas las actualizaciones. Estas actualizaciones combinadas se incorporan al modelo global.
El servidor central distribuye de nuevo el nuevo modelo global a los nodos cliente conectados y el proceso de aprendizaje federado se repite hasta que el modelo alcanza la convergencia total o está completamente entrenado.
El aprendizaje federado puede variar en función de la estructura de los conjuntos de datos o de la naturaleza de los nodos cliente. Por lo general, se clasifica en estas categorías:
● Entre dispositivos
● Entre silos
● Horizontal
● Vertical
El aprendizaje federado entre dispositivos utiliza dispositivos con conectividad volátil y recursos informáticos limitados, como teléfonos móviles y dispositivos IoT. Este tipo de aprendizaje federado debe tener en cuenta las conexiones de red poco fiables y, dado que los nodos cliente solo pueden manejar pequeños conjuntos de datos, normalmente se necesitarán muchos dispositivos para el entrenamiento local.1
Las empresas de comercio electrónico, por ejemplo, pueden entrenar un motor de recomendaciones con datos de usuarios en múltiples dispositivos para ofrecer recomendaciones de productos más personalizadas.1
A diferencia del enfoque de aprendizaje federado entre dispositivos, el aprendizaje entre silos implica un número limitado de servidores o centros de datos con conectividad estable y recursos computacionales lo suficientemente potentes como para almacenar y procesar grandes volúmenes de datos. Los nodos de los clientes se tratan como silos que contienen datos personales, y estos datos no deben salir del sistema ni compartirse de forma externa por motivos de privacidad.1
El aprendizaje federado entre silos puede ser valioso en sectores como el financiero y el sanitario. Por ejemplo, un consorcio de hospitales puede entrenar un modelo compartido con sus propios datos de pacientes para mejorar el diagnóstico o la predicción de ciertas enfermedades. Del mismo modo, una coalición de bancos puede entrenar un algoritmo común de machine learning mediante el uso de sus propios registros de transacciones para mejorar la detección del fraude.1
En el aprendizaje federado horizontal, los conjuntos de datos de los nodos cliente comparten las mismas características o estructura, pero tienen muestras diferentes. Por ejemplo, las clínicas pueden entrenar un modelo analítico compartido porque cada una tiene las mismas variables para sus datos de ensayos clínicos, pero los valores para los pacientes que participan en los ensayos son distintos.
Por el contrario, el aprendizaje federado vertical implica conjuntos de datos de nodos cliente que comparten las mismas muestras pero tienen una estructura o características diferentes. Por ejemplo, un comercio minorista y un banco podrían asociarse para hacer ofertas más personalizadas a los clientes, y entrenar un motor de recomendación común, ya que podrían tener los mismos datos de clientes pero información financiera y de compras variada.
La naturaleza descentralizada del aprendizaje federado ofrece estas ventajas clave:
● Eficiencia
● Privacidad de datos mejorada
● Mejora del cumplimiento
El aprendizaje federado elimina la necesidad de acceder o transferir grandes conjuntos de datos. Esto conduce a una disminución de la latencia y una reducción del ancho de banda requerido para entrenar modelos de machine learning.
La arquitectura de preservación de la privacidad de los sistemas de aprendizaje federado significa que los datos confidenciales nunca salen de un dispositivo. Esto ayuda a minimizar el riesgo de ciberataques o vulneraciones de datos.
La mayoría de los sistemas de aprendizaje federado también aplican técnicas criptográficas, como la privacidad diferencial y el cálculo multipartito seguro (SMPC), para reforzar la privacidad de los datos.
La privacidad diferencial añade ruido a las actualizaciones del modelo antes de transmitirlas al servidor central, mientras que el SMPC permite al servidor central realizar cálculos de agregación seguros sobre las actualizaciones cifradas del modelo. Estos métodos dificultan la ingeniería inversa o la distinción de qué nodo cliente contribuyó a una actualización, lo que refuerza la seguridad de datos.
Dado que los datos se conservan y procesan a nivel local, el aprendizaje federado puede ayudar a las empresas a cumplir la normativa de protección de datos. El cumplimiento es crucial para sectores como el financiero y el sanitario, que manejan datos privados.
El aprendizaje federado supone un cambio transformador en el entrenamiento de los modelos de IA, pero también conlleva limitaciones. Estos son algunos desafíos asociados con el aprendizaje federado:
● Ataques adversarios
● Gastos generales de comunicación
● Heterogeneidad
El aprendizaje federado es vulnerable a los ataques de envenenamiento de datos, en los que los actores de amenazas inyectan datos maliciosos durante el entrenamiento local o alteran las actualizaciones del modelo para que la transmisión comprometa o corrompa el modelo central.
La detección de anomalías, el entrenamiento de adversarios, los estrictos controles de acceso y otras medidas de seguridad pueden contribuir a la protección contra estos ataques.
Los intercambios regulares entre los nodos cliente y el servidor central pueden desembocar en cuellos de botella significativos. Para mejorar la eficacia de la comunicación, hay que considerar estrategias como la compresión de las actualizaciones del modelo antes de la transmisión, la cuantización y la sparsificación para retransmitir solo las actualizaciones esenciales. Estas estrategias deben equilibrarse con la disminución de precisión que conllevan.
El diseño descentralizado del aprendizaje federado puede reforzar la diversidad de datos y ayudar a mitigar los sesgos. Sin embargo, esto también significa que los datos no se distribuyen de forma idéntica y pueden estar desequilibrados. Algunos dispositivos pueden tener más datos que otros, lo que sesga el modelo global hacia estos nodos con muchos datos.
Algunas formas de abordar esta heterogeneidad estadística son las metodologías o técnicas de muestreo que tienen en cuenta la variación en la distribución, la agrupación o clustering de nodos con distribuciones de datos similares durante el entrenamiento del modelo y los algoritmos de optimización como FedProx, dirigidos a redes heterogéneas.
La heterogeneidad de los sistemas también es un problema, ya que los dispositivos tienen diferentes capacidades informáticas. El entrenamiento local adaptativo se puede aplicar para adaptar el entrenamiento del modelo de acuerdo con lo que un nodo puede manejar.
El aprendizaje federado promete ayudar a resolver problemas del mundo real, con organizaciones que unen fuerzas incluso a través de fronteras y regiones geográficas. Estos son algunos sectores que pueden beneficiarse del aprendizaje federado:
● Finanzas
● Sanidad
● Venta minorista y fabricación
● Gestión urbanística
Las instituciones financieras pueden trabajar juntas para diversificar los datos de los modelos de evaluación del riesgo crediticio, lo que permite un mejor acceso al crédito para los grupos desatendidos. También pueden utilizar el aprendizaje federado para proporcionar un asesoramiento bancario y de inversión más personalizado, y mejorar así la experiencia del usuario.
Los hospitales y las instituciones de investigación pueden entrenar modelos compartidos de deep learning que ayuden al descubrimiento de fármacos para enfermedades raras. Los sistemas de aprendizaje federado también pueden ayudar a encontrar mejores estrategias de tratamiento y mejorar los resultados de los pacientes de las comunidades infrarrepresentadas.
Los minoristas pueden utilizar el aprendizaje federado para realizar un seguimiento de las ventas y el inventario en múltiples ubicaciones sin revelar ningún dato de los clientes, lo que les permite maximizar los niveles de existencias y reducir los desperdicios. Mientras tanto, los fabricantes pueden agregar datos de diferentes partes de la cadena de suministro para optimizar la logística.
Las ciudades inteligentes pueden beneficiarse del aprendizaje federado para obtener conocimiento de los innumerables dispositivos y sensores repartidos por las zonas urbanas y, al mismo tiempo, mantener la privacidad de los datos de los residentes. Estos conocimientos se pueden utilizar para dirigir mejor el tráfico, por ejemplo, o para monitorizar las condiciones ambientales, como la contaminación del aire y el agua.
La implementación del aprendizaje federado para aplicaciones del mundo real puede ser compleja, pero existen varios marcos para entrenar modelos en datos descentralizados y optimizar los flujos de trabajo de servidores y clientes. Estos son algunos marcos de aprendizaje federado populares:
● Flower
● IBM Federated Learning
● NVIDIA FLARE
● OpenFL
● TensorFlow Federated
Flower es un marco de código abierto para la IA colaborativa y la ciencia de datos. Se puede utilizar para crear sistemas de IA federados con numerosos clientes conectados. Es compatible con la mayoría de los marcos de machine learning e interoperable con diversas plataformas de hardware y sistemas operativos.
IBM Federated Learning es un marco para el aprendizaje federado en entornos empresariales. Funciona con varios algoritmos de machine learning, incluidos los árboles de decisión, los clasificadores Naïve Bayes, las redes neuronales y el aprendizaje por refuerzo.
IBM Federated Learning también viene con una amplia biblioteca de métodos de fusión para combinar actualizaciones de modelos y admite varias técnicas de imparcialidad para ayudar a combatir el sesgo de la IA.
NVIDIA FLARE (Federated Learning Application Runtime Environment) es un kit de desarrollo de software de código abierto e independiente del dominio para el aprendizaje federado.
Cuenta con flujos de trabajo de formación y evaluación integrados, algoritmos de preservación de la privacidad y algoritmos de aprendizaje para promediar federados y FedProx. NVIDIA FLARE también cuenta con herramientas de gestión para la orquestación y la monitorización.
OpenFL es un marco de aprendizaje federado de código abierto basado en Python creado originalmente por Intel y ahora bajo The Linux Foundation. OpenFL funciona con marcos de deep learning como PyTorch y bibliotecas de machine learning, como TensorFlow. Sus características de seguridad incluyen privacidad diferencial y soporte para entornos de ejecución de confianza basados en hardware.
TensorFlow Federated (TFF) es un marco de código abierto desarrollado por Google para el machine learning en datos descentralizados. Las interfaces de programación de aplicaciones (API) de TFF se dividen en 2 capas:
● La API Federated Learning es la capa de alto nivel que facilita la implementación de tareas de aprendizaje federado, como la formación o la evaluación, mediante el uso de modelos de machine learning existentes.
● La API Federated Core es la capa de bajo nivel para construir nuevos algoritmos de aprendizaje federado.
Vínculos externos a ibm.com
1 Cross-silo and cross-device federated learning on Google Cloud. Google Cloud. 3 de junio de 2024.
Entrene, valide, ajuste e implemente IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de nueva generación para desarrolladores de IA. Cree aplicaciones de IA en menos tiempo y con menos datos.
Ponga la IA a trabajar en su negocio con la experiencia líder en IA del sector de IBM y junto a su cartera de soluciones.
Reinvente las operaciones y flujos de trabajo críticos añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.