Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

Expert Parallelism

전문가 병렬 처리는 혼합 전문가 레이어의 전문가들을 여러 GPU에 분산하고, 전체 대 전체 통신을 통해 각 토큰을 해당 전문가에게 라우팅합니다.

전문가 병렬화(EP)는 분산 학습 및 추론 전략으로, 전문가 혼합(MoE) 모델의 전문가를 서로 다른 GPU에 배치하고, 각 토큰을 해당 토큰에 선택된 전문가가 있는 장치로 보냅니다. MoE 계층은 트랜스포머의 대규모 피드포워드 블록 하나를 여러 소규모 전문가 네트워크와 토큰마다 일부 전문가만 활성화하는 라우터로 대체합니다. 따라서 토큰마다 필요한 연산량보다 전체 매개변수가 훨씬 빠르게 늘어날 수 있습니다. 전문가 병렬화는 이러한 매개변수를 메모리에 적재할 수 있게 합니다. 모든 GPU가 모든 전문가를 저장하는 대신, 각 GPU가 일부를 저장합니다. Noam Shazeer와 Google의 동료들은 2017년에 희소 게이트 MoE 계층의 전문가를 장치에 분산하고 각각 공유 복사본 하나를 저장했습니다. GShard는 2020년 6월 이 접근 방식을 확장해 6,000억 개 이상의 매개변수를 가진 번역 모델의 전문가를 2,048개의 TPU v3 가속기에 분산했습니다. 전문가 병렬화는 이제 대규모 MoE 언어 모델과 비전-언어 모델의 학습 및 서빙에 표준으로 사용됩니다.

GPU 간 토큰 이동 방식#

각 MoE 계층은 다음 네 단계로 실행됩니다.

  1. 라우팅: 라우터가 모든 토큰을 모든 전문가와 비교해 점수를 매긴 다음, 일반적으로 1개, 2개 또는 8개인 상위 k개 전문가를 선택합니다.
  2. 디스패치: 올투올 집합 연산은 각 토큰의 은닉 상태를 해당 토큰이 선택한 전문가를 보유한 GPU로 전송합니다.
  3. 계산: 각 GPU는 수신한 토큰에 대해 로컬 전문가를 실행합니다.
  4. 결합: 두 번째 전체-전체 연산으로 출력을 각 토큰의 원래 GPU에 반환합니다. 여기서 라우터 점수를 가중치로 적용해 출력을 합산합니다.

아래 스니펫은 GPU 4개에 전문가 8개를 분산하고 GPU마다 전문가 2개를 할당한 계층 하나에서 라우팅과 분배 단계를 시뮬레이션합니다.

import torch

torch.manual_seed(0)
num_experts, num_gpus, top_k = 8, 4, 2
tokens = torch.randn(4096, 512)  # 토큰 4,096개의 은닉 상태
router = torch.nn.Linear(512, num_experts)

# 라우팅: 각 토큰이 라우터 점수 기준 상위 2개 전문가를 선택합니다
with torch.no_grad():
    _, experts = router(tokens).topk(top_k, dim=-1)

# 전문가 병렬화: 전문가 0~1은 GPU 0, 전문가 2~3은 GPU 1 등에 배치됩니다
gpu = experts // (num_experts // num_gpus)

# 분배: 각 전문가와 GPU가 받는 토큰-전문가 할당 수를 셉니다
print(torch.bincount(experts.flatten(), minlength=num_experts).tolist())
print(torch.bincount(gpu.flatten(), minlength=num_gpus).tolist())

첫 번째 출력 줄은 각 전문가의 부하를 보여줍니다. 균등 분배 기준 1,024개에 비해 할당 수는 948개에서 1,087개 사이입니다. 두 번째 줄은 GPU 4개가 할당 8,192개 중 1,968개에서 2,139개를 받는 것을 보여줍니다. 무작위로 초기화한 라우터조차 작업을 고르지 않게 분산하며, 학습된 라우터는 선호되는 전문가를 만들어 부하 편중을 훨씬 심화할 수 있습니다.

부하 분산 및 용량#

가장 부하가 큰 GPU의 작업이 끝나야 계층 실행이 완료되므로, 라우팅 불균형은 하드웨어 유휴 상태로 직결됩니다. MoE 학습에서는 다음 세 가지 방식으로 이를 완화합니다.

  • 보조 균형 손실: 손실 함수에 추가되는 항으로, 전문가 간에 토큰을 고르게 분배하는 라우터에 보상을 제공합니다.
  • 용량 계수: 각 전문가는 배치마다 정해진 수 이하의 토큰을 받습니다. 예를 들어 균등 분배량의 1.25배까지 허용하며, 초과 토큰은 해당 전문가를 건너뜁니다.
  • 편향 기반 균형 조정: DeepSeek-V3는 라우터 점수에 전문가별 편향을 추가합니다. 이 편향은 선택되는 전문가에만 영향을 미치며, 각 단계가 끝난 뒤 부하가 높은 전문가의 편향은 낮추고 유휴 전문가의 편향은 높입니다. 이를 통해 주 목적 함수와 경쟁하는 보조 손실 없이 부하를 균형 있게 조정합니다.

용량 제한이 있으면 각 토큰의 처리 경로는 전문가의 부하 상태에 따라 달라집니다.

건너뛴 토큰은 계층의 잔차 연결을 변경 없이 통과하므로 토큰을 많이 버리면 품질이 저하됩니다. DeepSeek-V3는 학습 중 토큰을 버리지 않고 편향 기반 균형 조정에 의존합니다.

통신도 비용을 유발합니다. 두 번의 올투올 교환은 모든 MoE 계층에서 발생하므로, 전문가 병렬화는 GPU가 고속 NVLink 연결을 공유하는 노드 내부에서 가장 효율적이며 노드 간 저속 링크를 사용하면 비용이 커집니다. DeepSeek-V3는 8개 노드에서 64방향 전문가 병렬화를 적용해 계층당 라우팅 전문가 256개를 분산하고, 각 토큰을 최대 4개 노드의 전문가에 보내며, 교환과 연산을 중첩합니다.

병렬화 전략 결합#

전문가 병렬화는 여러 장치에 학습을 분할하는 방법 가운데 하나입니다.

  • 데이터 병렬화: 각 GPU에 전체 모델을 복제하고 배치를 분할한 뒤, 각 단계 이후 기울기를 동기화합니다.
  • 텐서 병렬화: 개별 가중치 행렬을 여러 GPU에 분할하므로 모든 GPU가 모든 계층에 참여합니다.
  • 파이프라인 병렬화: 연속된 계층을 서로 다른 GPU에 할당하고 마이크로 배치를 순차적으로 전달합니다.
  • 컨텍스트 병렬화: 하나의 긴 입력 시퀀스를 여러 GPU에 분할합니다.

단일 GPU에 적합한 밀집 모델은 데이터 병렬 처리만으로 충분하며, device=[0, 1]과 같은 장치 목록을 학습 모드로 전달하면 Ultralytics YOLO26이 여러 GPU에서 학습하는 방식입니다. 대규모 MoE 모델은 여러 방식을 결합합니다. DeepSeek-V3는 텐서 병렬 처리 없이 16-way 파이프라인 병렬 처리, 64-way 전문가 병렬 처리, 샤딩된 데이터 병렬 처리를 사용해 6,710억 개의 파라미터(토큰당 활성 파라미터 370억 개)를 학습했습니다. 추론 엔진은 vLLM과 같이 모델 서빙 시에도 같은 분할 방식을 적용하므로, 전문가가 한 GPU 메모리를 초과하는 MoE 모델도 여러 GPU에서 실행되며 각 GPU에는 전문가의 일부만 저장됩니다.

Explore solutions

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 보전, 지리 공간 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO를 활용해 항공기 검사, 활주로 FOD 감지, 공항 지상 운영, 복합재 결함 감지 등 항공우주 분야에 컴퓨터 비전을 적용하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요