이 Colab 기반 튜토리얼은 실제 예제를 통해 TFF의 주요 개념과 API를 단계별로 안내합니다. 참조 문서는 TFF 가이드 에서 찾을 수 있습니다.
연합 학습 시작하기
- 이미지 분류를 위한 연합 학습(Federated Learning)에서는 연합 학습(FL) API의 핵심 부분을 소개하고, TFF를 사용하여 연합 MNIST 유사 데이터에 대한 연합 학습을 시뮬레이션하는 방법을 보여줍니다.
- 텍스트 생성을 위한 연합 학습은 TFF의 FL API를 사용하여 언어 모델링 작업을 위한 직렬화된 사전 학습 모델을 개선하는 방법을 추가로 보여줍니다.
- 학습을 위한 권장 집계 조정은
tff.learning의 기본 FL 계산을 견고성, 차분 프라이버시, 압축 등을 제공하는 특수 집계 루틴과 결합하는 방법을 보여줍니다.
연합 분석 시작하기
- Private Heavy Hitters는
tff.analytics.heavy_hitters사용하여 비공개 헤비 히터를 발견하기 위한 연합 분석 컴퓨팅을 구축하는 방법을 보여줍니다.
사용자 정의 연합 연산 작성
- "나만의 연합 학습 알고리즘 구축하기"에서는 연합 평균화를 예시로 TFF 코어 API를 사용하여 연합 학습 알고리즘을 구현하는 방법을 보여줍니다.
- " 학습 알고리즘 구성하기"에서는 TFF 학습 API를 사용하여 새로운 연합 학습 알고리즘, 특히 연합 평균화 알고리즘의 변형을 쉽게 구현하는 방법을 보여줍니다.
- 사용자 정의 연합 알고리즘, 1부: 연합 코어 소개 및 2부: 연합 평균 구현에서는 연합 코어 API(FC API)에서 제공하는 주요 개념과 인터페이스를 소개합니다.
- 사용자 지정 집계 구현에서는
tff.aggregators모듈의 설계 원칙과 클라이언트에서 서버로 값을 사용자 지정 집계하는 모범 사례를 설명합니다.
시뮬레이션 모범 사례
GPU 가속기를 사용한 TFF 시뮬레이션은 TFF의 고성능 런타임을 GPU와 함께 사용하는 방법을 보여줍니다.
ClientData를 활용하면 TFF의 ClientData 기반 시뮬레이션 데이터 세트를 TFF 계산에 통합하기 위한 모범 사례를 얻을 수 있습니다.
중급 및 고급 튜토리얼
랜덤 노이즈 생성은 분산 컴퓨팅에서 무작위성을 사용할 때 발생하는 몇 가지 미묘한 문제점을 지적하고, 최적의 방법과 권장 패턴을 제시합니다.
federated_language.federated_select를 사용하여 특정 클라이언트에 다른 데이터 전송하기에서는
federated_language.federated_select연산자를 소개하고, 서로 다른 클라이언트에 서로 다른 데이터를 전송하는 간단한 사용자 지정 연합 알고리즘 예제를 제공합니다.federated_select 및 희소 집계를 통한 클라이언트 효율적인 대규모 모델 연합 학습은
federated_language.federated_select및 희소 집계를 사용하여 각 클라이언트 장치가 모델의 작은 부분만 다운로드하고 업데이트하는 방식으로 매우 큰 모델을 학습하는 데 TFF를 사용하는 방법을 보여줍니다.TFF에서 차분 프라이버시를 적용한 연합 학습은 사용자 수준의 차분 프라이버시를 사용하여 모델을 학습하는 데 TFF를 활용하는 방법을 보여줍니다.