El nuevo marco de simulación de Microsoft FLUTE

Microsoft Research ha lanzado recientemente Federated Learning Utilities and Tools for Experimentation (FLUTE), un nuevo marco de simulación para acelerar el desarrollo de algoritmos de ML de aprendizaje federado. Abre una nueva dirección en el diseño y la experimentación de algoritmos de aprendizaje federado al permitir que ingenieros e investigadores diseñen y simulen nuevos algoritmos antes del desarrollo y la implementación.

FLUTE es un marco de simulación para ejecutar algoritmos de aprendizaje federado fuera de línea a gran escala. El objetivo principal del aprendizaje federado es entrenar modelos complejos de aprendizaje automático sobre cantidades masivas de datos sin la necesidad de compartir esos datos en una ubicación centralizada. En este enfoque, el modelo global inicial se carga en cada dispositivo con capacidad de potencia computacional limitada. Los datos de cada dispositivo se utilizan para proporcionar pequeñas actualizaciones en el modelo. Estos pequeños cambios nuevos se transfieren al sistema centralizado para su agregación. Estos pasos se repiten iterativamente hasta que no haya un cambio importante en el modelo global.

A pesar de la flexibilidad que puede brindar, como la distribución de la carga de trabajo, el marco plantea un desafío sobre cómo administrar muchos fragmentos de datos en movimiento para el entrenamiento y la privacidad relacionada para cada nodo final. FLUTE intenta abordar estos problemas al permitir que los investigadores y desarrolladores prueben y experimenten con las restricciones mencionadas, como la privacidad de los datos, la estrategia de comunicación y la escalabilidad, antes de implementar y lanzar modelos en producción. FLUTE se integra bien con Azure ML y se basa en Python y PyTorch.

La siguiente figura muestra la arquitectura de alto nivel de FLUTE. En el primer paso, el servidor envía el modelo global a los clientes. Los clientes que utilizan los datos enviarán el pseudogradiente generado localmente al servidor para realizar la agregación. El nuevo modelo global se actualizará para los clientes y estos pasos se repiten hasta converger al óptimo. El marco admite diversas configuraciones de aprendizaje federado, incluidas implementaciones estandarizadas como DGA y FedAvg.

FLUTE está disponible para el público en GitHub. Viene con las herramientas básicas para empezar a experimentar. La comunidad puede ver el video de arquitectura FLUTE, más documentos y el documento FLUTE publicado. Según la publicación del blog, Microsoft Research está trabajando en mejoras algorítmicas en la optimización, soporte para protocolos de comunicación adicionales y formas más fáciles de vincular con Azure ML para versiones futuras.

Otros marcos de aprendizaje federado para el entrenamiento distribuido y la implementación de nuevos modelos de ML incluyen Tensorflow Federated e IBM federated learning.

EXTRAÍDO