El aprendizaje federado es un enfoque descentralizado para entrenar modelos de machine learning (ML). Cada nodo de una red distribuida entrena un modelo global utilizando sus datos locales, con un servidor central que agrega actualizaciones de nodos para mejorar el modelo global.
Los modelos de inteligencia artificial (IA) requieren volúmenes masivos de datos. Estos conjuntos de datos suelen estar centralizados en una única ubicación para el entrenamiento de modelos, lo que abre oportunidades para que cualquier información de identificación personal (PII) contenida en los conjuntos de datos quede expuesta durante la transmisión o el almacenamiento.
El aprendizaje federado ayuda a abordar estas preocupaciones, ya que la información confidencial permanece en el nodo, preservando la privacidad de los datos. También permite el aprendizaje colaborativo, con diversos dispositivos o servidores que contribuyen al refinamiento de los modelos de IA.
El aprendizaje federado implica 4 etapas principales:
● Inicialización
● Capacitación 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 es la base a partir de la cual comienza el proceso de aprendizaje federado.
El servidor central distribuye el modelo global a los nodos cliente conectados, que pueden ser otros servidores o dispositivos perimetrales, como teléfonos inteligentes y dispositivos de Internet de las cosas (IoT). También transmite información relevante, incluidas variables de configuración, como hiperparámetros y el número de épocas o pases completos a través de los datos de entrenamiento.
Al recibir el modelo global y todos los detalles necesarios, cada nodo cliente procede con el entrenamiento. El proceso de entrenamiento es similar a cualquier red neuronal, con nodos que entrenan el modelo utilizando solo sus datos locales o en el 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 del nodo cliente. Existen diferentes formas de agregación, pero un método común es el promedio federado, que calcula el promedio ponderado de todas las actualizaciones. Estas actualizaciones combinadas se incorporan al modelo global.
El servidor central vuelve a distribuir 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. Suele clasificarse en estas categorías:
● Multidispositivo
● 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 confiables y, dado que los nodos cliente solo pueden manejar pequeños conjuntos de datos, generalmente se requerirá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 usuario en múltiples dispositivos para ofrecer recomendaciones de productos más personalizadas.1
A diferencia del enfoque de aprendizaje federado entre dispositivos, el silo 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 cliente se tratan como silos que almacenan datos personales, y estos datos no deben salir del sistema ni ser compartidos externamente debido a preocupaciones de privacidad.1
El aprendizaje federado entre silos puede ser valioso en industrias como las finanzas y la atención médica. 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 utilizando sus propios registros de transacciones para mejorar la detección de fraude.1
En el aprendizaje federado horizontal, los conjuntos de datos del nodo 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 los datos de sus ensayos clínicos, pero valores distintos para los pacientes involucrados en los ensayos.
Por el contrario, el aprendizaje federado vertical involucra conjuntos de datos de nodos de cliente que comparten las mismas muestras pero tienen una estructura o características diferentes. Por ejemplo, un minorista y un banco podrían asociar para ofrecer ofertas más personalizadas a sus clientes, y pueden capacitar un motor de recomendaciones común porque pueden 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
● Mayor privacidad de datos
● Mejora del cumplimiento
El aprendizaje federado elimina la necesidad de acceder o transferir grandes conjuntos de datos. Esto conduce a una disminución en la latencia y una reducción en el ancho de banda requerido para entrenar modelos de machine learning.
La arquitectura de preservación de la privacidad de los sistemas de aprendizaje federados significa que los datos confidenciales nunca salen de un dispositivo. Esto ayuda a minimizar el riesgo de ciberataques o filtraciones de datos.
La mayoría de los sistemas de aprendizaje federado también implementan técnicas criptográficas que incluyen privacidad diferencial y computación multipartita segura (SMPC) para impulsar la privacidad de datos.
La privacidad diferencial agrega ruido a las actualizaciones del modelo antes de transmitirlas al servidor central, mientras que SMPC permite que el servidor central realice cálculos de agregación seguros en las actualizaciones cifradas del modelo. Estos métodos dificultan la ingeniería inversa o distinguir qué nodo cliente contribuyó con una actualización, lo que fortalece la seguridad de los datos.
Debido a que los datos se mantienen y procesan localmente, el aprendizaje federado puede ayudar a las empresas a cumplir con las regulaciones de protección de datos. El cumplimiento es crucial para sectores como las finanzas y la atención médica, que manejan datos privados.
El aprendizaje federado significa un cambio transformador en el entrenamiento de 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 ayudar a proteger contra estos ataques.
Los intercambios regulares entre los nodos cliente y el servidor central pueden resultar en cuellos de botella importantes. Para una mejor eficiencia de comunicación, considere estrategias como comprimir las actualizaciones del modelo antes de la transmisión, cuantificación y esparcimiento para retransmitir un subconjunto de las actualizaciones o solo las actualizaciones esenciales. Estas estrategias deben equilibrar con la disminución que conlleva la precisión.
El diseño descentralizado del aprendizaje federado puede reforzar la diversidad de datos que puede ayudar a mitigar el sesgo . Sin embargo, esto también significa que los datos no se distribuyen de manera 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 gran cantidad de datos.
Algunas formas de abordar esta heterogeneidad estadística incluyen metodologías o técnicas de muestreo que tienen en cuenta la variación en la distribución, agrupar nodos con distribuciones de datos similares durante el entrenamiento de modelos y algoritmos de optimización como FedProx, que está dirigido a clúster heterogéneos.
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. Estas son algunas industrias que pueden obtener un beneficio del aprendizaje federado:
● Finanzas
● Atención médica
● Venta minorista y fabricación
● Gestión urbana
Las instituciones financieras pueden colaborar para diversificar los datos de los modelos de evaluación del riesgo crediticio, lo que permitiría mejorar el acceso al crédito de los grupos desatendidos. También pueden emplear el aprendizaje federado para ofrecer un asesoramiento bancario y de inversión más personalizado, mejorando así la experiencia del usuario.
Los hospitales y las instituciones de investigación pueden capacitar modelos compartidos de aprendizaje profundo que ayudan en el descubrimiento de fármacos para enfermedades raras. Los sistemas federados de aprendizaje también pueden ayudar a encontrar mejores estrategias de tratamiento y mejorar los resultados de los pacientes para las comunidades subrepresentadas.
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 el desperdicio. Mientras tanto, los fabricantes pueden agregar datos de diferentes partes de la cadena de suministro para optimizar la logística.
Las ciudades inteligentes pueden aprovechar el aprendizaje federado para obtener información de los innumerables dispositivos y sensores dispersos por las zonas urbanas, manteniendo al mismo tiempo la privacidad de los datos de los residentes. Estos insights se pueden emplear, por ejemplo, para dirigir mejor el tráfico o controlar las condiciones ambientales, como la contaminación del aire y el agua.
Implementar el aprendizaje federado para aplicaciones del mundo real puede ser complejo, 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:
● Flor
● 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 las infraestructuras/marcos de machine learning e interoperable con varias plataformas de hardware y sistemas operativos.
IBM Federated Learning es un marco para el aprendizaje federado en entornos empresariales. Funciona con varios algoritmos de aprendizaje automático, incluidos árboles de decisión, clasificadores Naïve Bayes, redes neuronales y aprendizaje por refuerzo.
IBM Federated Learning también viene con una rica biblioteca de métodos de fusión para combinar actualizaciones de modelos y admite varias técnicas de equidad 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.
Tiene flujos de trabajo integrados de capacitación y evaluación, algoritmos de preservación de la privacidad y algoritmos de aprendizaje para promedios federados y FedProx. NVIDIA FLARE también tiene herramientas de gestión para orquestación y monitoreo.
OpenFL es un marco de aprendizaje federado de código abierto basado en Python originalmente creado por Intel y ahora bajo la infraestructura de Linux® Foundation. OpenFL funciona con infraestructuras/marcos de aprendizaje profundo como PyTorch y bibliotecas de aprendizaje automático, incluyendo TensorFlow. Sus características de seguridad incluyen privacidad diferencial y soporte para entornos de ejecución confiables basados en hardware.
TensorFlow Federated (TFF) es un marco de código abierto desarrollado por Google para el aprendizaje automático en datos descentralizados. Las interfaces de programación de aplicaciones (API) de TFF se dividen en 2 capas:
● La API de aprendizaje federado es la capa de alto nivel que facilita la implementación de tareas de aprendizaje federado, como capacitación o evaluación, empleando modelos de machine learning existentes.
● Federated Core API es la capa de bajo nivel para crear nuevos algoritmos de aprendizaje federado.
Todos los enlaces se encuentran fuera de ibm.com
1 Cross-silo and cross-device federated learning on Google Cloud, Google Cloud, 3 de junio de 2024.
Entrene, valide, ajuste y despliegue IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de próxima generación para creadores de IA. Diseñe aplicaciones de IA en menos tiempo y con menos datos.
Ponga la IA a trabajar en su negocio con la experiencia en IA líder en la industria y la cartera de soluciones de IBM a su lado.
Reinvente los flujos de trabajo y las operaciones críticas añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.