FL Гид

Горизонтальное и вертикальное федеративное обучение

Изолированные данные, единая цель:
федеративное обучение как решение будущего

Федеративное обучение позволяет нескольким сторонам совместно обучать одну модель без передачи сырых данных. Два варианта решают разные задачи:

Горизонтальное FL (HFL) — одинаковые признаки, разные сущности (например, несколько банков по своим клиентским базам);

Вертикальное FL (VFL) — разные признаки, одни и те же сущности (например, банк и ритейлер по пересекающимся клиентам). На этой странице оба подхода сравниваются с централизованным и локальным обучением на реальном датасете из 36 457 записей о держателях кредитных карт с использованием XGBoost.

Федеративное обучение ― стремительно развивающееся направление машинного обучения, включающее различные вариации.

По типу распределения данных между участниками взаимодействия и способам формирования глобальной модели принято выделять:

Горизонтальное
федеративное обучение (HFL)

Участники имеют одно и то же пространство признаков, но разные образцы данных.

Например, обучение моделей на основе данных о клиентах нескольких банков в разных регионах.

Участник А
Участник Б
образцы данных
пространство признаков
ярлык

Может носить характер:

федеративного обучения cross-silo

В этом типе FL подразумевается взаимодействие владельцев данных, заинтересованных в получении более точной модели, нежели способны обеспечить их локальные данные.

Предполагается наличие у владельцев соответствующих вычислительных ресурсов и независимое последующее использование глобальной модели.

федеративного обучения cross-device

При таком сценарии дообучение глобальной модели происходит на устройствах, непосредственно продуцирующих данные.

Интересант, в первую очередь, ― вендор программного обеспечения, содержащего исходную модель, которое в процессе взаимодействия с новыми данными обновляет интегрированную модель, во-вторую ― владелец устройства, получающий более точный итог работы за счет адаптации модели.

Вертикальное
федеративное обучение (VFL)

Этот тип FL рассматривает случай, когда клиенты располагают разными признаками совпадающих сущностей.

Например, банк и интернет-магазин могут иметь информацию об одних тех же пользователях, но один хранит данные о финансовых транзакциях, а другой ― о покупательских предпочтениях. 

Участник Б
Участник А
образцы данных
пространство признаков
ярлык

Основные сравнительные
особенности HFL и VFL

ОсобенностиHFLVFL
Разделение данныхПространство сущностейПространство признаков
Обучение моделиКаждый клиент может обучить локальную модельОбучение невозможно без объединения локальных частей датасета
Сценарий обученияCross-device, сross-siloCross-silo
Передаваемые данныеПараметры моделиПромежуточные результаты
Тип локальной информацииДанныеМодели клиентов, данные
Участник получает в итогеглобальную модельлокальную часть модели
Самостоятельное использование моделиДаНет

Наглядные примеры практического использования более эффективны для понимания, чем теоретические объяснения.

Рассмотрим основные особенности указанных типов на примере решения задачи бинарной классификации.

Подготовленный на основе открытых данных с Kaggle, экспериментальный датасет содержит 36 457 уникальных записей о держателях кредитных карт.

Каждый клиент описывается 15 признаками и меткой класса:
0 ― не имеет просроченной задолженности,
1 ― имеет просроченный платеж.

Таргеты достаточно сбалансированы:

01 52%
00 48%

Признаковое описание держателей кредитных карт состоит из полей:

CODE_GENDERполовая принадлежность клиента
FLAG_OWN_CARналичие личного автомобиля
FLAG_OWN_REALTYналичие собственной недвижимости
CNT_CHILDRENколичество детей
AMT_INCOME_TOTALсумма поступлений на счет клиента
NAME_INCOME_TYPEтип входящих поступлений
NAME_EDUCATION_TYPEуровень образования
NAME_FAMILY_STATUSсемейное положение
NAME_HOUSING_TYPEвид недвижимости проживания
CUSTOMER_AGEдата рождения
EMPLOYED_LENGTHпродолжительность работы на последнем месте
FLAG_WORK_PHONEналичие рабочего телефона
FLAG_PHONEналичие домашнего телефона
FLAG_EMAILналичие электронной почты
OCCUPATION_TYPEтип занятости
STATUSкредитный статус клиента

Предположим, что на основе накопленных данных финансовая организация хочет предсказывать добросовестность новых клиентов.

Для возможности сопоставления результатов
в каждом случае будем пользоваться классификатором XGBClassifier библиотеки Xgboost.

При этом обучение будет проводиться на выборке
в 30 000 записей, а оставшиеся 6 457 сформируют общий для всех случаев тест.

Вариант 1:
Baseline ― централизованное обучение

Представим, что ряд офисов некоторого банка накопили весь указанный объем данных. Первое что нужно сделать ― собрать данные в одном месте.

Затем необходимо обучить XGBoost-классификатор разделять данные. Обученная таким методом модель демонстрирует точность работы на тесте 0,657.

Данный консервативный подход к обучению имеет явные преимущества: прозрачность, относительная точность. Но в то же время данные должны быть перемещены, что часто сопряжено с трудностями.

plus
XGBoost
result
Точность при обучении Точность при тестировании
0,823 0,657

Вариант 2:
Обучение только на локальном датасете

Данные разделены между несколькими владельцами, т.е. схожую информацию собрали два банка и решили локально обучаться каждый на своем локальном датасете, объем которых составляет 15 000 записей о клиентах.

Моделируя такую ситуацию путем обучения классификатора на случайно выбираемой половине записей, получаем обученную модель с метриками точности на тесте 0,595.

Прослеживается заметное снижение качества на тестовом наборе при лучших показателях на этапе обучения, что говорит о переобучении модели ввиду меньшей репрезентативности обучающего набора.

plus
XGBoost
result
Точность при обучении Точность при тестировании
0,892 0,595

Вариант 3:
Горизонтальное федеративное обучение

Данные разделены между несколькими владельцами, т.е. схожую информацию собрал банк A и банк B.

Каждый также располагает 15 000 записей о клиентах, но оба заинтересованы в получении более точной модели для лучшей классификации клиентов, и решили объединить усилия в распределенном обучении. В этом случае подходит HFL.

Наблюдается приближение к результатам централизованного обучения, при этом каждый клиент в итоге получает глобальную модель, которую может использовать независимо.

Данная схема начинает представлять угрозу конфиденциальности обучающих данных при допущении злонамеренности или любопытства противоположной стороны или сервера.

Множество работ демонстрируют возможность восстановления обучающих данных на основе анализа параметров обновлений, к тому же возможно целенаправленное ухудшение результатов обучения одним из участников.

Глобальная модель Банк А Банк Б
Точность при обучении Точность при тестировании
0,737 0,635

Вариант 4:
Вертикальное федеративное обучение

Данные разделены между несколькими владельцами, но клиент А ― банк и собирал информацию о финансовых и имущественных характеристиках, а клиент Б владеет социальными характеристиками.

Т.е. датасет А ― это 30 000 записей с полями [FLAG_OWN_CAR, FLAG_OWN_REALTY, AMT_INCOME_TOTAL, NAME_INCOME_TYPE, EMPLOYED_LENGTH, FLAG_WORK_PHONE, OCCUPATION_TYPE, STATUS], в то время как Б располагает информацией о полях [CODE_GENDER, CNT_CHILDREN, NAME_EDUCATION_TYPE, NAME_FAMILY_STATUS, CUSTOMER_AGE, NAME_HOUSING_TYPE, FLAG_PHONE, FLAG_EMAIL] для того же набора персон.

Клиенту Б неизвестны таргеты, они доступны только A, поэтому Б
не может в одиночку использовать свои данные для обучения моделей. Ситуация может быть разрешена благодаря технологии VFL.

Банк А Банк Б
Точность при обучении Точность при тестировании
0,802 0,652

Часто задаваемые вопросы

Чем отличается горизонтальное федеративное обучение (HFL) от вертикального (VFL)?
HFL применяется, когда стороны располагают одинаковыми признаками о разных сущностях — например, два банка с одинаковой структурой колонок (доход, кредитный рейтинг и т.д.), но с разными клиентскими базами. VFL применяется, когда стороны располагают разными признаками об одних и тех же сущностях — например, банк с финансовыми признаками и ритейлер с покупательскими признаками о пересекающемся множестве клиентов. HFL агрегирует параметры моделей; VFL обменивается промежуточными вычислениями и требует выравнивания идентификаторов сущностей.
Что такое горизонтальное федеративное обучение (HFL)?
Горизонтальное федеративное обучение — это сценарий, в котором каждый участник обучает локальную модель на своём подмножестве данных и отправляет обновления модели (параметры или градиенты) центральному агрегатору. Агрегатор объединяет обновления всех участников в одну глобальную модель, которую затем каждая сторона может использовать самостоятельно. HFL подходит для сценариев с большим числом сторон с одинаковой схемой признаков — банки, смартфоны, больницы — и поддерживает как cross-silo (несколько организаций), так и cross-device (множество мелких устройств) развёртывания.
Что такое вертикальное федеративное обучение (VFL)?
Вертикальное федеративное обучение — это сценарий, в котором каждый участник располагает разным подмножеством признаков об одном и том же множестве сущностей. Обучение требует безопасного выравнивания сущностей (поиска общих записей без раскрытия идентификаторов) и совместного вычисления обновлений модели. В отличие от HFL, участники VFL не могут проводить инференс независимо — обученная модель распределена между всеми сторонами, и предсказание требует совместной работы. VFL подходит, когда дополняющие источники данных (банк + ритейлер, больница + носимое устройство) описывают одних и тех же индивидов.
Что такое cross-silo и cross-device федеративное обучение?
Cross-silo предполагает небольшое количество хорошо обеспеченных ресурсами участников (как правило, организаций — больниц, банков), совместно строящих общую модель. У каждого силоса надёжные вычислительные мощности, стабильное соединение и существенный объём данных. Cross-device предполагает большое количество устройств с ограниченными ресурсами (смартфоны, IoT-датчики), вклады которых малы по отдельности, но велики в агрегате. HFL поддерживает оба режима; VFL почти всегда cross-silo, поскольку совместный инференс требует надёжной связи между участниками.
Насколько точное федеративное обучение по сравнению с централизованным?
В бенчмарке на 36 457 записях кредитных карт с XGBoost четыре подхода показали следующие результаты test accuracy: централизованное обучение — 0.657, локальное обучение — 0.595 (переобучение на 15 000 записях), горизонтальное FL — 0.635, вертикальное FL — 0.652. Оба федеративных подхода достигли значений в пределах 4% от централизованного baseline без передачи сырых данных. VFL превзошёл HFL в этой постановке, поскольку дополняющие наборы признаков дали совместной модели больше информации, чем дублирующиеся выборки в HFL-разбиении.
Защищает ли федеративное обучение данные само по себе?
Нет — одного только федеративного обучения недостаточно для надёжных гарантий конфиденциальности. Исследования показывают, что обновления модели (градиенты или параметры) могут раскрывать обучающие данные через атаки инверсии, а злонамеренный участник способен ухудшить глобальную модель отравленными обновлениями. Промышленное FL требует криптографического слоя: безопасной агрегации, гомоморфного шифрования, дифференциальной приватности или доверенных сред исполнения (TEE). Свойство «сырые данные не покидают устройство» снижает, но не устраняет поверхность атаки.
Когда использовать HFL, а когда VFL?
HFL — когда несколько сторон располагают одинаковыми по структуре данными о разных клиентах (например, несколько банков с собственными базами держателей кредитных карт) и хотят получить более сильную совместную модель. VFL — когда несколько сторон располагают дополняющими данными об одних и тех же клиентах (например, банк с историей платежей и телеком с паттернами использования о пересекающихся абонентах). Если только одна сторона владеет разметкой (целевой переменной), VFL — единственный федеративный вариант: HFL требует наличия разметки у всех участников.
Как Guardora поддерживает горизонтальное и вертикальное федеративное обучение?
Guardora предоставляет промышленную инфраструктуру для обоих вариантов. Guardora VFL — коммерческая платформа для двусторонних VFL-сценариев, например, банк и аналитический вендор совместно обучают модель кредитного скоринга. Поддерживаются GBDT и другие табличные ML-модели, гомоморфное шифрование Paillier для защиты градиентов, шифрованное соединение gRPC между сторонами, а также работа без GPU на стороне клиента. Для HFL-сценариев платформа расширяется на cross-silo развёртывания с тем же архитектурным паттерном для нескольких участников.

Устранение рисков конфиденциальности
в федеративном обучении

Первая задача, возникающая перед участниками, ― необходимость установления соответствий между записями обеих сторон, не раскрывая самих наборов данных, т.н. задача безопасного пересечения множеств.

Как и в случае HFL, если допускать возможную недобросовестность сопряженной стороны, то нельзя считать, что обучающие данные в безопасности.

Основное же отличие VFL в том, что инференс обученной модели также необходимо производить коллективно, что влечет как дальнейшую взаимозависимость сторон, так и возможность утечки вновь поступающей информации.

Таким образом, решая задачу с невозможностью централизованного обучения, FL позволяет обучать модели до близких метрик качества.

Но существует обширный список угроз, который требует комплексного подхода к обеспечению конфиденциальности данных во время федеративного обучения, включающего в себя использование ряда криптографических методов: шифрования, проверку целостности и подлинности обновлений, а также внедрение механизмов для выявления и блокировки подозрительных активностей в процессе обучения.

Внедрение эффективных решений требует наличия экспертизы в кастомизации сценариев обучения для достижения практической ценности метода и безопасности данных.

Поделитесь отзывом
в сообществе Discord

Вас интересует FL (федеративное обучение) в безопасном исполнении?
С какими проблемами вы сталкивались при внедрении решений на основе федеративного обучения?
Есть возражения или дополнения к нашим рассуждениям?

Мы приветствуем ваши предложения и отзывы
в нашем сообществе Discord.

Сообщество