이 colab 기반 튜토리얼은 실제 예제를 사용하여 기본 TFF 개념 및 API를 안내합니다. 참조 문서는 TFF 가이드 에서 찾을 수 있습니다.
제휴 학습 시작하기
- 이미지 분류를 위한 연합 학습 에서는 연합 학습(FL) API의 핵심 부분을 소개하고 TFF를 사용하여 연합 MNIST와 유사한 데이터에서 연합 학습을 시뮬레이션하는 방법을 보여줍니다.
- 텍스트 생성을 위한 연합 학습은 TFF의 FL API를 사용하여 언어 모델링 작업을 위해 직렬화된 사전 훈련된 모델을 개선하는 방법을 추가로 보여줍니다.
- 학습을 위한 권장 집계 조정에서는
tff.learning
의 기본 FL 계산을 견고성, 차등 프라이버시, 압축 등을 제공하는 특수 집계 루틴과 결합할 수 있는 방법을 보여줍니다. - 행렬 분해를 위한 연합 재구성은 일부 클라이언트 매개변수가 서버에서 집계되지 않는 부분적으로 로컬 연합 학습을 도입합니다. 이 자습서에서는 Federated Learning API를 사용하여 부분 로컬 행렬 분해 모델을 교육하는 방법을 보여줍니다.
연합 분석 시작하기
- Private Heavy Hitters 는
tff.analytics.heavy_hitters
를 사용하여 개인 헤비 히터를 발견하기 위한 통합 분석 계산을 구축하는 방법을 보여줍니다.
사용자 지정 연합 계산 작성
- 나만의 연합 학습 알고리즘 구축 에서는 연합 평균화를 예로 사용하여 TFF Core API를 사용하여 연합 학습 알고리즘을 구현하는 방법을 보여줍니다.
- 학습 알고리즘 작성에서는 TFF 학습 API를 사용하여 새로운 연합 학습 알고리즘, 특히 연합 평균의 변형을 쉽게 구현하는 방법을 보여줍니다.
- TFF 옵티마이저를 사용한 맞춤형 연합 알고리즘은
tff.learning.optimizers
를 사용하여 연합 평균화를 위한 맞춤형 반복 프로세스를 구축하는 방법을 보여줍니다. - Custom Federated Algorithms, 1부: Federated Core 소개 및 2부: Federated Averaging 구현 Federated Core API(FC API)에서 제공하는 주요 개념과 인터페이스를 소개합니다.
- 사용자 지정 집계 구현 에서는
tff.aggregators
모듈의 설계 원칙과 클라이언트에서 서버로 값의 사용자 지정 집계를 구현하기 위한 모범 사례를 설명합니다.
시뮬레이션 모범 사례
가속기(GPU)를 사용한 TFF 시뮬레이션 은 TFF의 고성능 런타임을 GPU와 함께 사용할 수 있는 방법을 보여줍니다.
ClientData 작업은 TFF의 ClientData 기반 시뮬레이션 데이터 세트를 TFF 계산에 통합하기 위한 모범 사례를 제공합니다.
중급 및 고급 자습서
무작위 노이즈 생성 은 분산 계산에서 임의성을 사용하는 것과 관련된 몇 가지 미묘함을 지적하고 모범 사례와 권장 패턴을 제안합니다.
tff.federated_select를 사용하여 특정 클라이언트에 다른 데이터 보내기 에서는
tff.federated_select
연산자를 소개하고 다른 데이터를 다른 클라이언트에 보내는 사용자 지정 연합 알고리즘의 간단한 예를 제공합니다.federated_select 및 sparse aggregation을 통한 클라이언트 효율적인 대형 모델 연합 학습 은 각 클라이언트 장치가
tff.federated_select
및 sparse aggregation을 사용하여 모델의 작은 부분만 다운로드하고 업데이트하는 매우 큰 모델을 교육하는 데 TFF를 사용할 수 있는 방법을 보여줍니다.연합 학습 연구를 위한 TFF: 모델 및 업데이트 압축 은 tensor_encoding API 를 기반으로 구축된 사용자 지정 집계가 TFF에서 어떻게 사용될 수 있는지 보여줍니다.
TFF에서 차등 개인정보 보호를 사용한 연합 학습은 TFF 를 사용하여 사용자 수준 차등 개인정보 보호로 모델을 교육하는 방법을 보여줍니다.
TFF를 사용하여 원격 데이터 로드에서는 TFF 런타임에 사용자 지정 논리를 포함하여 원격 시스템에 데이터를 로드하는 방법을 설명합니다.
TFF의 JAX 지원은 TFF에서 JAX 계산을 사용하는 방법을 보여주며 TFF가 다른 프런트엔드 및 백엔드 ML 프레임워크와 상호 운용될 수 있도록 설계되는 방법을 보여줍니다.