본문으로 건너뛰기
304 / ALGORITHMS AND COMPUTATION LAB
먼저 알아두면 좋아요 · 연결된 선수 단원의 이산수학·확률·선형대수·계산 기초
단원 목록 (600) · 분산 계산·Gossip·통신 비용
이해하는 속도로 읽으세요.개념도이론실험확인 문제
BUILD YOUR INTUITION

먼저 그림으로 이해하기

한 번에 한 단계씩 살펴보세요.

실제 메시지 교환과 연결성을 평균 보존과 함께 확인합니다.

Six nodes, initial values [x0,1,2,3,4,5]. Topology ring/path/two components/complete/empty; optional first-edge removal is static. Mode 0 synchronous Metropolis averaging, mode 1 cyclic pair averaging. Both preserve global sum in exact arithmetic. A synchronous round and a pair update have different communication costs. Count two directed scalar messages per active edge per synchronous round or per pair update, eight payload bytes each; protocol headers and failures over time are excluded. Blue max-minus-min spread, orange global-mean drift.

02.48312.46522.48332.51742.53552.517
실제 선택한 유한 그래프입니다. 방향 화살표는 원래 flow arc, flow 숫자는 현재 유량/용량입니다. 다른 그래프의 주황 표시는 선택 mask나 현재 값을 해석하는 본문·표를 따르세요. 위치와 선 길이는 비용이 아닙니다.
0105.250
가로 round/pair step · 파랑 전체 max-minus-min · 주황 전역 평균 drift
nodeinitial valuecurrent valuecomponentwise limit
002.4832.5
112.4652.5
222.4832.5
332.5172.5
442.5352.5
552.5172.5

connected components = 1

고정 기준 예제의 그림과 수치입니다. 각 단계에서 같은 그림의 의미를 차례로 살펴보세요. 고정된 기준 예제이며 아래 실험의 설정과 독립적입니다.
1 / 4

망과 실패

고정된 edge 제거 뒤 연결 성분을 실제 계산합니다.

connected components

실험에서 확인하기 →
이 단원 목차

합을 보존하는 것과 모두 같아지는 것

여섯 node가 초기값 [x₀,1,2,3,4,5]를 나누어 갖습니다. 모두가 전체 데이터를 모으지 않고 이웃과만 통신해 평균을 구하려면 그래프 연결성, 갱신 방식과 메시지 비용을 명시해야 합니다. 값의 총합이 보존돼도 서로 분리된 성분은 다른 값에 머물 수 있습니다. 이 실험은 ring, path, 두 성분, complete, empty 망과 고정된 첫 edge 제거를 비교합니다.

위 그림은 현재 node 값과 실제 남은 edge입니다. 파랑은 전체 max-minus-min, 주황은 현재 전역 평균과 초기 평균의 차이입니다. 주황이 0이라는 사실만으로 파랑도 0이라고 결론낼 수 없습니다. 표의 componentwise limit는 고정 망·현재 갱신 규칙 아래의 극한이며 현재 유한 step 결과와 다릅니다.

Synchronous Metropolis 평균

각 active edge의 weight와 diagonal을 다음처럼 정합니다.

Wij=11+max⁡(di,dj),Wii=1−∑j≠iWij,xk+1=Wxk.W_{ij}=\frac1{1+\max(d_i,d_j)},\qquad W_{ii}=1-\sum_{j\ne i}W_{ij},\qquad x^{k+1}=Wx^k.

대칭 W는 행 합과 열 합이 모두 1이므로 전체 합을 보존합니다. Diagonal이 양수라 주기성 문제도 피합니다. 고정된 연결 그래프에서는 반복 평균이 전역 초기 평균에 수렴합니다. 분리된 망에서는 block마다 자기 초기 합을 보존하므로 각 component의 평균으로 갑니다. 이 수렴 결론은 임의의 시간 가변 실패나 악의적인 메시지에 대한 보장이 아닙니다.

Pair Gossip의 실제 교환

다른 모드에서는 active edge를 순환 순서로 하나씩 골라 그 두 끝점만 평균냅니다. 반드시 이전 두 값을 함께 읽고 동시에 바꿉니다.

xinew=xjnew=12(xiold+xjold),Vnew=Vold−12(xi−xj)2.x_i^{new}=x_j^{new}=\tfrac12(x_i^{old}+x_j^{old}),\qquad V_{new}=V_{old}-\tfrac12(x_i-x_j)^2.

V는 고정 평균에 대한 제곱 오차 합입니다. 각 pair는 합을 보존하고 disagreement를 줄입니다. 고정된 연결 망에서 모든 edge가 반복적으로 선택되는 fairness가 필요합니다. 현재 순환 규칙은 이 유한 edge 집합을 빠뜨리지 않습니다. 아직 몇 번만 실행했다면 정확한 평균에 도달했다고 주장하지 않습니다.

메시지 회계와 손계산

Synchronous round는 active edge마다 양방향 scalar 하나씩, pair step은 선택된 edge에서 양방향 하나씩 교환한다고 가정합니다. Payload는 double 8 byte로 고정하고 header·동기화·망 지연은 제외합니다. Round 수가 같다고 통신량이 같은 것이 아닙니다.

Complete 망에서는 degree 5, 모든 weight 1/6이므로 [0,1,2,3,4,5]가 한 round에 모두 2.5가 됩니다. Edge 15개에서 directed message 30개, payload 240 byte입니다. 분리된 두 triangle에서는 극한이 [1,1,1,4,4,4]이고 평균은 여전히 2.5이지만 전체 spread는 3입니다.

직접 풀기: ring에서 30회 synchronous round와 30회 pair step의 메시지 수를 구하세요. 풀이: ring edge가 6개이므로 전자는 30·12=360개, 후자는 30·2=60개입니다. 같은 수의 step에서 나온 spread를 동일한 통신 예산의 비교로 해석하면 안 됩니다.

분산 AI 연구의 보고 기준

Distributed training과 decentralized learning에서는 local 계산량, 참여 graph, payload, round 정의, 실패·지연 가정을 함께 기록하세요. 현재 모형은 고정된 무방향 망의 정확한 scalar averaging입니다. Byzantine consensus나 일반 asynchronous protocol의 안전성을 구현했다고 부르지 않습니다. 합 보존·연결성·수렴 조건·유한 관측 오차·통신 예산을 각각 확인하는 출발점입니다.

참고: MIT 병렬·분산 성능 공학.

CHECK YOUR UNDERSTANDING

설명할 수 있나요?

실험 설정과 무관한 기준 예제를 묻습니다. 답을 고르고 설명을 확인해보세요.

1. 분리된 망이 모든 초기값에서 전역 평균에 합의하나요?
2. Round와 pair step은 항상 같은 통신 비용인가요?

선택한 답과 학습 표시는 이 브라우저에 저장됩니다. 다시 풀거나 표시를 해제할 수 있습니다.