Эти учебные пособия на основе совместной работы познакомят вас с основными концепциями и API-интерфейсами TFF на практических примерах. Справочную документацию можно найти в руководствах по TFF .
Начало работы с федеративным обучением
- Федеративное обучение для классификации изображений знакомит с ключевыми частями API федеративного обучения (FL) и демонстрирует, как использовать TFF для моделирования федеративного обучения на федеративных данных, подобных MNIST.
- Федеративное обучение для генерации текста также демонстрирует, как использовать FL API TFF для улучшения сериализованной предварительно обученной модели для задачи языкового моделирования.
- Настройка рекомендуемых агрегаций для обучения показывает, как базовые вычисления FL в
tff.learning
можно комбинировать со специализированными процедурами агрегации, обеспечивающими надежность, дифференциальную конфиденциальность, сжатие и многое другое. - Федеративная реконструкция для матричной факторизации вводит частично локальное федеративное обучение, при котором некоторые параметры клиента никогда не агрегируются на сервере. В этом руководстве показано, как использовать API федеративного обучения для обучения модели частично локальной матричной факторизации.
Начало работы с интегрированной аналитикой
- Private Heavy Hitters показывает, как использовать
tff.analytics.heavy_hitters
для создания федеративных аналитических вычислений для обнаружения частных сильных нападающих.
Написание пользовательских объединенных вычислений
- Создание собственного алгоритма федеративного обучения показывает, как использовать основные API-интерфейсы TFF для реализации алгоритмов федеративного обучения на примере федеративного усреднения.
- Составление алгоритмов обучения показывает, как использовать TFF Learning API для простой реализации новых федеративных алгоритмов обучения, особенно вариантов федеративного усреднения.
- Пользовательский федеративный алгоритм с оптимизаторами TFF показывает, как использовать
tff.learning.optimizers
для создания пользовательского итеративного процесса для федеративного усреднения. - Пользовательские федеративные алгоритмы, Часть 1: Введение в Federated Core и Часть 2: Реализация Federated Averaging знакомят с ключевыми концепциями и интерфейсами, предлагаемыми Federated Core API (FC API).
- В разделе «Реализация настраиваемых агрегаций» объясняются принципы разработки модуля
tff.aggregators
и рекомендации по реализации настраиваемой агрегации значений от клиентов к серверу.
Лучшие практики моделирования
Моделирование TFF с ускорителями (GPU) показывает, как можно использовать высокопроизводительную среду выполнения TFF с GPU.
Работа с ClientData дает передовой опыт интеграции наборов данных моделирования на основе ClientData TFF в вычисления TFF.
Учебники среднего и продвинутого уровня
Генерация случайного шума указывает на некоторые тонкости использования случайности в децентрализованных вычислениях, а также предлагает лучшие практики и рекомендуемые шаблоны.
Отправка разных данных определенным клиентам с помощью tff.federated_select представляет оператор
tff.federated_select
и дает простой пример пользовательского объединенного алгоритма, который отправляет разные данные разным клиентам.Эффективное для клиента федеративное обучение большой модели с помощью federated_select и разреженной агрегации показывает, как TFF можно использовать для обучения очень большой модели, где каждое клиентское устройство загружает и обновляет только небольшую часть модели с использованием
tff.federated_select
и разреженной агрегации.TFF for Federated Learning Research: Model and Update Compression демонстрирует, как в TFF можно использовать пользовательские агрегации, основанные на API tensor_encoding .
Федеративное обучение с дифференциальной конфиденциальностью в TFF демонстрирует, как использовать TFF для обучения моделей с дифференциальной конфиденциальностью на уровне пользователя.
Поддержка JAX в TFF показывает, как вычисления JAX можно использовать в TFF, демонстрируя, как TFF спроектирован так, чтобы иметь возможность взаимодействовать с другими внешними и внутренними платформами машинного обучения.