Объединенный вычислительный сервер с персонализацией на устройстве

Сервер федеративных вычислений (FC) является частью федеративного обучения, предлагаемого персонализацией на устройстве (ODP). Целью этого документа является представление Федеративного вычислительного сервера (FC Server), его компонентов и используемой технологии. В документе представлен общий обзор архитектуры, а затем подробно рассмотрен каждый компонент. В нем также обсуждается, как компоненты работают вместе, создавая интегрированную среду обучения, и предлагаются стратегии масштабирования и сегментирования рабочих нагрузок.

Процесс обучения

Обучение состоит из потоков данных между Клиентом FC и Сервером FC. Клиент FC — это основной модуль Android, который обучает модели машинного обучения на устройстве и взаимодействует с сервером FC. Сервер FC безопасно обрабатывает и объединяет результаты от клиента FC в доверенной среде выполнения (TEE).

Обучение состоит из следующих этапов:

Блок-схема, показывающая процесс обучения между клиентом и сервером федеративных вычислений в Privacy Sandbox для Android.
  1. Клиент FC на устройстве загружает общедоступный ключ шифрования из службы ключей.
  2. Клиент FC регистрируется на сервере FC и получает задание на обучение.
  3. Клиент FC загружает план обучения, а также последнюю версию модели, версию N.
  4. Клиент FC тренируется, используя локальные данные и план.
  5. Клиент FC шифрует данные этого устройства с помощью открытого ключа, полученного на шаге 0, и загружает его на сервер FC.
  6. Клиент FC уведомляет Сервер FC о завершении его обучения.
  7. Сервер FC ждет, пока достаточное количество клиентов не отправит свои вклады.
  8. Запускается раунд агрегации.
  9. Зашифрованные материалы загружаются агрегатором в доверенную среду выполнения (TEE).
  10. Агрегатор подтверждает себя координаторам в соответствии с архитектурой процедур удаленной аттестации (RATS) NIST RFC 9334 . После успешной аттестации службы ключей предоставляют ему ключи расшифровки. Эти ключи могут быть разделены между несколькими поставщиками ключей в схеме совместного использования секрета Шамира .
  11. Агрегатор выполняет агрегацию между устройствами, клипы и шумы в соответствии с соответствующими механизмами дифференциальной конфиденциальности (DP) и выводит зашумленные результаты.
  12. Агрегатор запускает программу обновления моделей .
  13. Средство обновления моделей загружает агрегированный вклад и применяет его к версии модели N, чтобы создать версию модели N + 1. Новая модель помещается в хранилище модели.

Сервер FC можно развернуть в любой облачной службе, поддерживающей TEE и соответствующие функции безопасности. Мы оцениваем поставщиков общедоступных облаков и базовые технологии, но на данный момент в следующем разделе представлен пример реализации Google Cloud с использованием Confidential Space .

Архитектура высокого уровня

Сервер FC имеет следующие компоненты, развернутые в Google Cloud:

Схема, показывающая архитектуру объединенного вычислительного сервера Privacy Sandbox для Android.
Компонент Описание
Служба управления задачами Веб-сервис для управления обучающей задачей. Партнерам следует использовать API управления задачами, чтобы создать задачу обучения, составить список всех существующих задач обучения, отменить задачу и получить все статусы обучения.
Служба назначения задач Веб-служба на основе HTTPS, к которой клиентские устройства периодически проверяются, чтобы получить задачи обучения и сообщить о состоянии обучения.
Агрегатор Фоновая служба, работающая в конфиденциальном пространстве. Он запускает рабочие нагрузки, созданные ODP. Он должен быть заверен координаторами, которые обеспечивают доступ к ключам дешифрования. Только успешно аттестованные агрегаторы могут расшифровывать данные, отправленные клиентскими устройствами, и выполнять агрегацию между устройствами.
Средство обновления моделей Фоновая служба, работающая в конфиденциальном пространстве и применяющая агрегированные градиенты к модели.

Детали компонента

В следующих разделах высокоуровневая архитектура раскрывается более подробно:

Схема, на которой показаны компоненты объединенного вычислительного сервера Privacy Sandbox для Android.

Служба управления задачами

Схема, показывающая топологию службы управления задачами Privacy Sandbox для Android.

Служба управления задачами содержит два подкомпонента: веб-службу управления задачами и службу планировщика задач, оба развернуты на GKE .

Управление задачами

Это набор внешних веб-служб, которые принимают HTTPS-запросы и создают или получают задачи из базы данных задач.

Планировщик задач

Фоновая служба, которая постоянно сканирует базу данных задач. Он управляет процессом обучения, например создавая новые раунды обучения и итерации.

База данных задач

База данных, совместимая с ANSI SQL, в которой хранится информация о задачах, итерациях и назначениях. В этой реализации Google Cloud Spanner используется в качестве базовой службы базы данных.

Служба назначения задач

Схема, показывающая топологию службы назначения задач Privacy Sandbox для Android.

Служба назначения задач — это интерфейсная веб-служба, размещенная на GKE . Он принимает запросы от клиентов FC и при необходимости распределяет учебные задания.

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

Служба агрегатора

Схема, показывающая топологию агрегатора Privacy Sandbox для Android.
Агрегатор и средство обновления моделей

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

Градиенты, агрегированные градиенты, модель и план
  • Хранилище градиентов для загруженных (зашифрованных) градиентов клиентского устройства.
  • Хранилище агрегированных градиентов для агрегированных, обрезанных и зашумленных градиентов.
  • Хранилище моделей и планов тренировок, моделей и весов.
Коллекционер

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

Хосты службы

Все сервисы, не имеющие доступа к конфиденциальной информации, размещаются на GKE .

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

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

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

Схема, показывающая топологию сервисного блока Privacy Sandbox для Android.

Масштабируемость

Описанная ранее инфраструктура ориентирована на одну сервисную единицу.

Одно сервисное подразделение использует один Cloud Spanner. О заметных ограничениях см. в разделе «Квоты и ограничения на ключи» .

Каждый компонент этой архитектуры можно масштабировать независимо. Это достигается путем масштабирования емкости либо внутри конфиденциального пространства, либо внутри кластера GKE с использованием стандартных механизмов масштабирования. По сути, производительность обработки можно увеличить, добавив больше экземпляров:

  • Веб-служба назначения задач
  • Веб-служба управления задачами
  • Экземпляры агрегатора
  • Экземпляры средства обновления модели

Устойчивость

Устойчивость сервера FC обеспечивается аварийным восстановлением с использованием реплицированного хранилища. Если вы заинтересованы в аварийном восстановлении, вам следует включить межрегиональную репликацию данных. Это гарантирует, что в случае аварии (например, погодного явления, нарушившего работу центра обработки данных) обслуживание возобновится с последнего этапа обучения.

Гаечный ключ

Реализация сервера FC по умолчанию использует Google Cloud Spanner в качестве базы данных для хранения статуса задачи, которая используется для управления процессом обучения. Прежде чем выбирать конфигурацию с несколькими регионами , вам следует оценить компромисс между согласованностью и доступностью в соответствии с потребностями вашего бизнеса.

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

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

Облачное хранилище Google

Реализация сервера FC по умолчанию использует Google Cloud Storage для хранения BLOB-данных, таких как модели, планы обучения и данные зашифрованных устройств.

В проекте есть три экземпляра GCS:

  • Вклады устройств: зашифрованные вклады устройств, загруженные с устройств.
  • Модели: планы тренировок, модели и их веса.
  • Агрегированные градиенты: агрегированные градиенты, созданные агрегатором.

Данные, хранящиеся в GCS:

  • Разработчик предоставил данные, например план обучения ИЛИ
  • Потенциально конфиденциальные данные, поскольку они получены из пользовательских сигналов (защищенных шифрованием с поддержкой нескольких координаторов), таких как загруженные на устройство градиенты и агрегированные градиенты ИЛИ
  • Неконфиденциальные данные, полученные на основе пользовательских сигналов, но после применения приложения дифференциальной конфиденциальности, например веса модели.

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

Репликация и резервное копирование

Помимо механизмов репликации данных, предоставляемых Google Cloud, вы также можете периодически создавать резервные копии данных в Spanner и GCS. Например, вы можете использовать услуги и предложения межоблачной репликации. ODP не предоставляет образец, поскольку эти конфигурации сильно зависят от потребностей бизнеса. Текущая конструкция учитывает потенциальные потребности разработчиков в таких репликациях и резервных копиях. В результате он совместим со сторонними службами и продуктами репликации и резервного копирования.