IBM Federated Learning
Federated Learning proporciona las herramientas para entrenar un modelo de forma colaborativa, utilizando un conjunto de orígenes de datos seguros. Los orígenes de datos nunca se mueven o combinan, pero cada uno contribuye al entrenamiento y a la mejora de la calidad del modelo común.
Aviso de vista previa de tecnología
Se trata de una vista previa de tecnología y todavía no está soportada para su uso en entornos de producción.
El aprendizaje federado es apropiado para cualquier situación en la que las partes deseen aprovechar sus datos sin compartirlos. Por ejemplo, una alianza de aviación podría querer modelar cómo una pandemia global repercute en los retrasos de las aerolíneas. Cada una de las partes participantes en la federación puede utilizar sus datos para entrenar un modelo común sin mover ni compartir sus datos, preservando así la privacidad y seguridad de los datos y mejora la pragmática. El modelo resultante se puede desplegar para proporcionar predicciones más precisas para la puntuación de datos para dar a cada miembro de la alianza mejores resultados y conocimientos.
Esta ilustración muestra cómo las partes federadas envían datos para entrenar el modelo común sin compartir datos entre sí. El agregador gestiona las actualizaciones del modelo.
Figura 1: Dada la consulta (Q), cada parte calcula una respuesta (R) basada en sus propios datos locales (D) que devuelven al agregador, donde los resultados se fusionan como un solo modelo de aprendizaje federado (F).
El aprendizaje federado proporciona los medios para:
- Descubrir diferentes partes para la federación
- Configurar y desplegar un experimento de aprendizaje federado
- Conectar varias partes al agregador del experimento para compartir los resultados de, entrenamiento
Cuándo utilizar el aprendizaje federado
El aprendizaje federado permite una formación de modelo seguro para las grandes empresas cuando la formación utiliza datos heterogéneos de diferentes orígenes. El objetivo es permitir que los sitios con grandes volúmenes de datos de diferentes formato, calidad y restricciones que se pueden recopilar, limpiar y entrenar a escala empresarial. Otra característica clave es que el aprendizaje federado también permite entrenar grandes conjuntos de datos sin tener que transferirlos a una ubicación centralizada, lo que reduce el riesgo de privacidad de los datos y la complejidad computacional.
Terminología
- Parte: También llamados agentes, representan entidades separadas que aportan diferentes orígenes de datos para entrenar de forma colaborativa. El aprendizaje federado garantiza que el entrenamiento se produzca sin que los datos en bruto se compartan entre las distintas partes para la seguridad de datos.
- Manejador de datos: En IBM Federated Learning, los manejadores de datos se utilizan para cargar y preprocesar datos. También ayuda a garantizar que los datos recopilados de varios orígenes se formatean de manera determinada para ser entrenados.
- Agregador: El agregador fusiona los datos entre las partes para crear un modelo basado en una combinación de los datos entrenados de cada parte.
- Método de fusión: El algoritmo que se utiliza para combinar los resultados que devuelven las partes. Un algoritmo de entrenamiento para el aprendizaje federado normalmente contiene dos partes:
- Un módulo de fusión en el lado del agregador emite consultas a las partes y fusiona
ModelUpdate
enviado por las partes para actualizar el modelo global en cada ronda. - Un módulo de entrenamiento local en el lado de la parte para invocar operaciones tales como entrenar modelos locales, actualizar y construir un
ModelUpdate
basado en los parámetros de modelo local más recientes, o las métricas del partido, en función del modelo entrenado.
- Un módulo de fusión en el lado del agregador emite consultas a las partes y fusiona
- Sistema de entrenamiento remoto: Un activo que almacena una conexión a un servidor remoto que aloja la contribución de datos de una parte.
Preparación del modelo
Antes de continuar con la creación de un experimento de aprendizaje federado, debe decidir:
- La infraestructura o tipo de modelo que se utilizará para el entrenamiento. Puede ver las infraestructuras de modelo de forma predeterminada en la interfaz de usuario del aprendizaje federado en Elección de la infraestructura. Todos ellos requieren un archivo de modelo no entrenado cargado, en formato seleccionado o HD5.
- Qué tipo de manejador de datos se debe utilizar. Consulte Personalización del manejador de datos para una plantilla de manejador de datos.
Cómo utilizar el aprendizaje federado
Estos son los pasos de alto nivel que necesita para crear un experimento de aprendizaje federado.
Nota: Debido a que el aprendizaje federado es un enfoque colaborativo, las partes remotas realizan algunos pasos, y algunos los realiza el administrador que está creando el experimento. A menos que se indique lo contrario, los siguientes pasos los realiza el administrador que crea el experimento.
- Prepararse para el aprendizaje federado
- Creación del experimento del aprendizaje federado
- Preparación de la configuración de las partes
- Personalización del manejador de datos (Este paso lo realizan las partes remotas)
- Registro de las partes (Este paso lo realizan las partes remotas)
- Ejecución y despliegue del experimento de aprendizaje federado
Si desea una demostración rápida de una ejecución de aprendizaje federado, consulte la guía de aprendizaje de Python aquí.
Próximos pasos
Empiece por establecer el aprendizaje federado en Prepararse para el aprendizaje federado.
Recursos adicionales
-
El aprendizaje federado proporciona una lista de funciones de ayuda para facilitar el proceso de preparación de datos. Consulte la documentación de la API para obtener más información sobre cómo interactuar con las API de aprendizaje federado. Todas las funciones de ayuda actuales presuponen que los datos de entrada son de tipo
numpy.ndarray
. -
¿Está interesado en proporcionar comentarios? Rellene una encuesta aquí.