논문 원문: arXiv 2303.06182v2

적게 계산하는 모델의 구현 비용

MoE는 토큰마다 일부 expert를 선택합니다. 이 논문은 패딩, dispatch mask, 통신과 expert 불균형이 만드는 추론 비용을 분석합니다.

세 가지 개선

기법바꾸는 것
Dynamic gating토큰을 패킹하고 실제 개수에 맞춰 통신
Expert bufferingGPU에는 활성 expert를 캐시하고 나머지 가중치는 CPU에 보관
Load balancingexpert 배치를 조정해 장치 간 부하를 분산

라우터의 expert 선택을 유지하면서 실행 구현을 바꿉니다. (§V–VII)

설명용 예시: expert 4개에 토큰이 [3, 0, 1, 0]개 배정됐다면, 고정 용량 대신 실제 토큰 4개를 패킹합니다. 실험 수치가 아닌 동작 예시입니다.

  flowchart LR
    A[Expert별 토큰 개수] --> B[토큰 패킹]
    B --> C[개수 교환]
    C --> D[실제 토큰 전송]
    D --> E[Expert 실행]

측정 조건과 결과

Table I의 장비는 노드당 V100 32GB 8개입니다. 아래는 static gating 대비 단일 노드 최대 처리량이며, 배치 크기 증가 효과를 포함합니다. (§V.B, Figure 9)

작업처리량 배수
LM6.21×
MT encoder5.75×
MT decoder2.58×

다중 노드 LM 상한은 본문에 11.55×, 초록에는 11.23×로 다르게 적혀 있습니다. 요청 지연 개선률과 구분해야 합니다.

LM 배치 8의 활성화 메모리는 6.29GB에서 1.28GB로 79.6% 감소합니다. 전체 GPU 메모리 감소율이 아닙니다. (§V.B, Figure 10)

적용할 때의 한계

Expert buffering에는 CPU–GPU 전송 비용이 있습니다. (§VI)

리뷰어 판단: 패딩과 통신이 병목인 구현에서 먼저 평가하고, 최신 엔진이나 온라인 요청 지연에 처리량 배수를 그대로 적용하지 않아야 합니다.

라이선스

작성자: Jaehun Ryu

링크: https://jaehun.me/posts/toward-efficient-inference-for-mixture-of-experts/

라이선스: CC BY 4.0

이 저작물은 크리에이티브 커먼즈 저작자표시 4.0 국제 라이선스에 따라 이용할 수 있습니다. 출처를 밝히면 상업적 목적을 포함해 자유롭게 이용 가능합니다.

댓글