본문 바로가기
Learning-driven Methodology

[FL] P2P 구조 (PEER-TO-PEER ARCHITECTURE)

by goatlab 2023. 9. 26.
728x90
반응형
SMALL

P2P 구조 (PEER-TO-PEER ARCHITECTURE)

 

HFL 시스템을 위한 P2P 구조 예시

 

클라이언트-서버 아키텍처 외에도 HFL 시스템은 그림과 같이 P2P 구조를 사용할 수도 있다. P2P 구조에는 중앙 서버나 코디네이터가 없다. 이러한 시나리오에서 HFL 시스템의 K 참가자는 트레이너, 분산 트레이너 또는 작업자라고도 한다. 각 트레이너는 로컬 데이터만 사용하여 동일한 ML 또는 DL 모델 (ex: DNN 모델)을 학습할 책임이 있다. 또한, 트레이너는 모델 가중치를 서로 전달하기 위한 보안 채널이 필요하다. 두 트레이너 간의 안전한 통신을 보장하기 위해 공개 키 기반 암호화 체계와 같은 보안 조치를 채택할 수 있다. 중앙 서버가 없기 때문에 트레이너들이 모델 가중치를 주고받는 순서에 미리 동의해야 한다. 이를 수행하는 방법은 주로 두 가지가 있다.

 

순환 전송 (Cyclic transfer)

 

순환 전송 모드에서는 트레이너가 체인으로 구성된다. 첫 번째 트레이너 (즉, 체인의 최상위)는 현재 모델 가중치를 다운스트림 트레이너로 보낸다. 한 트레이너는 업스트림 트레이너로부터 모델 가중치를 수신하고 자체 데이터 세트에서 훈련 데이터의 미니 배치를 사용하여 수신된 모델 가중치를 업데이트한다. 그런 다음 업데이트된 모델 가중치를 다운스트림 트레이너로 보낸다. 예를 들어, 트레이너 1에서 트레이너 2로, 트레이너 2에서 트레이너 3으로, ..., 트레이너 K-1에서 트레이너 K로, 그리고 트레이너 K에서 다시 트레이너 1로 보낸다. 이 절차는 모델 가중치가 수렴될 때까지 또는 최대 반복 횟수에 도달하거나 최대 허용 가능한 훈련 시간에 도달할 때까지 반복된다.

 

임의 전송 (Random transfer)

 

k번째 트레이너는 {1, ..., L}에서 숫자 i를 선택한다. 동일한 확률로 무작위로 모델 가중치를 트레이너 i에게 보낸다. i번째 트레이너가 k번째 트레이너로부터 모델 가중치를 수신하면 자체 데이터 세트에서 훈련 데이터의 미니 배치를 사용하여 수신된 모델 가중치를 업데이트한다. 그런 다음 i번째 트레이너도 {1, ..., L}에서 숫자 j를 선택한다. 무작위로 동일한 확률로 모델 가중치를 트레이너 j로 보낸다. 이 절차는 트레이너가 모델 가중치가 수렴되는 데 동의할 때까지 또는 허용 가능한 최대 학습 시간에 도달할 때까지 K 트레이너 간에 동시에 수행된다. 이 방법은 가십 학습이라고도 알려져 있다.

 

위 설명에서는 모델 가중치 공유가 예로 사용되었다. 또한, 트레이너가 가십 SGD 기반 접근 방식을 사용하는 등 기울기를 공유하는 것도 가능하다.

 

클라이언트-서버 구조와 비교할 때 P2P 구조의 확실한 장점은 실제로 사용할 수 없는 중앙 서버 (서버, 매개변수 서버, 집계 서버 또는 코디네이터라고도 함)를 제거할 수 있다는 것이다. 응용 프로그램을 사용하여 서버에 정보가 유출될 가능성을 제거한다. 그러나 몇 가지 단점이 있다. 예를 들어, 순환 전송 모드에서는 중앙 서버가 없기 때문에 가중치 매개변수가 병렬 배치가 아닌 직렬로 업데이트되므로 모델 학습에 더 많은 시간이 걸린다.

728x90
반응형
LIST