Expert Upcycling (GitHub 저장소)
Expert Upcycling은 MoE expert 수를 중간에 늘려 GPU 비용을 줄인다.
Expert Upcycling은 MoE 모델을 처음부터 크게 학습하지 않고, 작은 E-expert 모델로 시작해 학습 중간에 mE experts로 확장하는 기법이다. 핵심은 이미 학습된 expert를 복제해 용량을 늘리고, 이후 **continued pre-training(CPT)**으로 복제본 간 역할 분화를 유도하는 데 있다.
동작은 세 단계로 정리된다.
- Expert replication: gradient 기반 중요도 점수로 유용한 expert를 더 많이 복제한다.
- Router extension: router weight를 새 슬롯에 복사하고 bias에 작은 perturbation을 넣어 routing 다양성을 만든다.
- CPT: stochastic gradient diversity와 load balancing으로 복제본의 대칭을 깨고 specialization을 촉진한다.
Top-K routing은 그대로 유지되므로 토큰당 추론 비용은 변하지 않는다. 대신 총 expert 수를 늘려 품질을 끌어올리는 방식이다.
실험에서는 7B→13B 총 파라미터, 1B active의 interleaved MoE를 380B tokens로 학습했다. 32→64 experts로 upcycle한 모델은 11개 downstream benchmark 평균 정확도에서 56.4 vs. 56.7, validation loss에서 1.263 vs. 1.267로 고정형 64-expert baseline에 거의 근접했다.
비용 절감도 뚜렷하다. GPU hours는 27,888 vs. 41,328로 약 32% 줄었고, 이미 pre-trained checkpoint가 있는 경우에는 CPT만 수행하면 돼 약 **67%**까지 절감된다. 더 큰 full MoE 구조에서도 256→512 experts, TopK=8 구성으로 154M~1B 규모 전반에서 93~95% 수준의 gap closure를 보였다.
저장소는 NeMo container를 기준으로 바로 실행할 수 있고, apply_patches()로 Megatron-LM/NeMo 클래스에 runtime monkey-patching을 입히거나 perform_expert_upcycling() API로 모델 레벨에서 호출할 수 있다. configs/upcycle.yaml을 수정한 뒤 단일 GPU나 torchrun 멀티 GPU로 실행하며, CPU 통합 테스트와 GPU 엔드투엔드 테스트도 포함한다. 라이선스는 CC-BY-NC-4.0이고, 논문 재현 목적 공개라 PR은 받지 않는다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.