Supuesto subyacente que atraviesa F32 a F34: la suposición de que los datos se concentran en un solo lugar
Todos los métodos tratados hasta ahora han asumido implícitamente que es posible reunir los datos en un único servidor o almacén. Sin embargo, gran parte de los datos genómicos reales no pueden trasladarse fuera de sus instituciones debido a regulaciones hospitalarias, biobancos y normativas nacionales. El UK Biobank y los datos genómicos vinculados a las Historias Clínicas Electrónicas (EHR) de los hospitales son ejemplos representativos. En F35 se aborda el aprendizaje federado, que permite que múltiples instituciones colaboren en el entrenamiento de un modelo sin trasladar los datos originales.
Principio: enviar el modelo y dejar los datos donde están
FedAvg: el algoritmo básico de aprendizaje federado
El servidor central envía los parámetros iniciales del modelo a cada sitio (hospital A, B, C...). Cada sitio realiza varios pasos de entrenamiento local con sus propios datos para calcular los parámetros actualizados , y solo devuelve los parámetros al servidor central. El servidor luego combina estos valores mediante un promedio ponderado por el tamaño de los datos.
Aquí, es el número de muestras del sitio , y es el número de sitios participantes. Los datos originales de genotipo y fenotipo permanecen en cada sitio, y lo que se intercambia son únicamente los parámetros del modelo (o sus gradientes).
Ejemplo de cálculo manual: una ronda de FedAvg con 3 sitios
Supongamos que participan el hospital A (500 muestras, parámetro tras el entrenamiento local), el hospital B (300 muestras, ) y el hospital C (200 muestras, ).
Se puede observar que el valor converge hacia el parámetro del hospital A, que tiene la mayor cantidad de muestras. Debido a este peso, se señala como una limitación práctica que si los datos de un sitio difieren significativamente en la composición de la población de otros sitios (datos no IID), las características específicas de ese sitio podrían estar subrepresentadas en el modelo global.
¿Es suficiente con enviar solo parámetros para garantizar la seguridad? La necesidad de la privacidad diferencial
El simple intercambio de parámetros o gradientes no garantiza una seguridad completa. Existen ataques conocidos de inversión de gradientes que permiten inferir los datos originales a partir de la información de los gradientes. Para mitigar esto, se puede aplicar Descenso de Gradiente Estocástico con Privacidad Diferencial (DP-SGD), que limita el tamaño del gradiente de cada ejemplo y luego añade ruido controlado.
Aquí, es el umbral de recorte de gradiente por ejemplo y es el multiplicador de ruido. El nivel de protección no se determina únicamente por el ruido, sino que se calcula de forma acumulativa mediante un contador de privacidad, junto con la tasa de muestreo y las rondas de entrenamiento. En las mismas condiciones, un presupuesto de privacidad más pequeño implica una mayor protección, aunque generalmente existe un compromiso entre la utilidad del modelo y este presupuesto.
GWAS federado: aplicación en el análisis estadístico genómico
El análisis de asociación del genoma completo (GWAS, S42~S43) también puede reconstruirse mediante un enfoque federado. Cada institución calcula solo las estadísticas resumidas (tamaño del efecto y error estándar) de su cohorte local y las envía al centro, que luego las combina mediante metaanálisis (una media ponderada por la inversa de la varianza, similar al método descrito en S45~S50). De este modo, se puede obtener una potencia de prueba equivalente a la de una muestra mucho mayor sin necesidad de centralizar los datos genotípicos individuales.
Práctica: simulación de FedAvg con 2 sitios (Colab)
# Ejecutar en Colab. Dos sitios virtuales entrenan regresión lineal con sus propios datos locales y# Esta es una simulación mínima de FedAvg que solo promedia los parámetros.import numpy as np
np.random.seed(42)
def make_site_data(n, true_beta, noise=0.5): X = np.random.randn(n, 1) y = true_beta * X.flatten() + np.random.randn(n) * noise return X, y
# Asumir que el tamaño del efecto real difiere ligeramente entre los dos sitios (simula heterogeneidad poblacional)X_a, y_a = make_site_data(500, true_beta=0.42)X_b, y_b = make_site_data(300, true_beta=0.55)
def local_train(X, y, lr=0.1, steps=200): beta = 0.0 n = len(y) for _ in range(steps): pred = beta * X.flatten() grad = -(2 / n) * np.sum(X.flatten() * (y - pred)) beta -= lr * grad return beta
beta_a = local_train(X_a, y_a)beta_b = local_train(X_b, y_b)
n_a, n_b = len(y_a), len(y_b)beta_fedavg = (n_a * beta_a + n_b * beta_b) / (n_a + n_b)
print(f"beta local del sitio A: {beta_a:.3f} (n={n_a})")print(f"beta local del sitio B: {beta_b:.3f} (n={n_b})")print(f"beta combinado de FedAvg: {beta_fedavg:.3f}")En este ejercicio, los datos originales X_a, y_a y X_b, y_b de ambos conjuntos de datos se mantienen únicamente dentro de la función de aprendizaje local; solo los valores escalares beta_a y beta_b se transmiten fuera de la función. Sin embargo, la selección de frameworks como Flower o PySyft no garantiza automáticamente el cifrado en tránsito, la agregación segura ni la privacidad diferencial. En un despliegue real, es necesario configurar y validar por separado TLS, la autenticación, la agregación segura y la privacidad diferencial, adaptándolos a los requisitos específicos.
Correspondencia con conceptos de Ciencias de la Computación
- Agregación distribuida (reduction): Dado que reduce las actualizaciones locales de varios nodos a un único parámetro global, se asemeja a la fase de reducción del paradigma map-reduce. FedAvg no es un algoritmo de consenso distribuido tolerante a fallos o a nodos maliciosos.
- Optimización de la eficiencia de la comunicación: Las técnicas que intercambian solo actualizaciones comprimidas o cuantificadas, en lugar de todos los parámetros completos en cada ronda, comparten la misma preocupación por la optimización del ancho de banda que las técnicas de sistemas distribuidos.
- Extensión distribuida del descenso de gradiente: FedAvg puede considerarse una extensión del descenso de gradiente estocástico (SGD) con mini-lotes, aplicado a múltiples conjuntos de datos y múltiples pasos locales.
Errores comunes
- Asumir que el intercambio de parámetros garantiza una privacidad completa: Como demuestran los ataques de inversión de gradientes, el hecho de que los datos originales no se transmitan no garantiza la seguridad. Sin mecanismos adicionales como la privacidad diferencial o la agregación segura, no se debe considerar que se proporciona una protección completa.
- Subestimar el impacto de los datos no IID (independientes e idénticamente distribuidos): Si las poblaciones y los protocolos de medición varían significativamente entre los conjuntos de datos, un promedio ponderado simple puede eliminar las características de uno de ellos. Será necesario considerar técnicas de aprendizaje federado personalizado (personalized FL) para cada conjunto de datos.
Para profundizar
El texto ha sido reescrito directamente por el equipo de investigación de BPD. Para obtener más información, consulte el artículo original y la documentación oficial.
- Artículo original de FedAvg (McMahan et al., 2017): "Communication-Efficient Learning of Deep Networks from Decentralized Data".
- Documentación oficial de Flower: Referencia para implementaciones prácticas de frameworks de aprendizaje federado.
- Guías éticas para el intercambio de datos genómicos del NIH: Contexto regulatorio de privacidad para la investigación genómica multicéntrica.
- Introducción a la privacidad diferencial: Definición de la privacidad diferencial ε y su aplicación práctica.
El conjunto "Futuro" de F2 (F32~F35) concluye aquí. A continuación, se continúa con los módulos individuales D01~D05, que son herramientas prácticas para utilizar plataformas y bases de datos específicas directamente en el entorno laboral.