MoSLoRA: 다중 기하학 공간을 활용한 PEFT¶
Parameter-Efficient Fine-Tuning of LLMs with Mixture of Space Experts
| 항목 | 내용 |
|---|---|
| arXiv | 2602.14490 |
| 저자 | Buze Zhang et al. |
| 발표 | 2026-02-16 |
| 카테고리 | cs.LG, cs.AI, cs.CL, cs.NE |
1. 문제 정의¶
기존 PEFT의 한계¶
LoRA 등 기존 Parameter-Efficient Fine-Tuning 방법들은 유클리드 공간에서만 동작:
[유클리드 공간의 한계]
언어 데이터의 특성:
- 계층 구조: 단어 → 구 → 문장 → 문단 (트리 형태)
- 순환 패턴: 문법 규칙, 반복 구조 (원형 형태)
- 관계 네트워크: 의미적 연관 (그래프 형태)
유클리드 공간:
- 평평한 공간
- 계층/순환 구조 표현에 비효율적
- 차원 낭비 발생
대안적 기하학 공간¶
| 공간 | 특성 | 적합한 데이터 |
|---|---|---|
| 유클리드 | 평면, 선형 | 일반적 데이터 |
| 쌍곡 (Hyperbolic) | 음의 곡률 | 계층적/트리 구조 |
| 구면 (Spherical) | 양의 곡률 | 순환/주기 패턴 |
2. Mixture of Space (MoS) 개념¶
핵심 아이디어¶
단일 기하학 공간 대신 여러 공간을 동시에 활용:
입력 임베딩
↓
┌────┬────┬────┐
│유클│쌍곡│구면│ ← 여러 기하학 전문가
│리드│공간│공간│
└──┬─┴──┬─┴──┬─┘
└────┼────┘
↓
라우터 (가중치 결정)
↓
가중 결합된 출력
공간별 표현¶
유클리드 공간:
\[d_E(x, y) = \|x - y\|_2\]
쌍곡 공간 (Poincaré Ball):
\[d_H(x, y) = \text{arcosh}\left(1 + 2\frac{\|x - y\|^2}{(1-\|x\|^2)(1-\|y\|^2)}\right)\]
구면 공간:
\[d_S(x, y) = \arccos(\langle x, y \rangle)\]
3. MoSLoRA 아키텍처¶
LoRA 확장¶
기존 LoRA:
\[W' = W + BA\]
- \(B \in \mathbb{R}^{d \times r}\), \(A \in \mathbb{R}^{r \times d}\)
- 유클리드 공간에서만 동작
MoSLoRA:
\[W' = W + \sum_{i=1}^{K} g_i(x) \cdot \phi_i(B_i A_i)\]
- \(K\): 기하학 전문가 수
- \(g_i(x)\): 입력에 따른 전문가 가중치 (라우터)
- \(\phi_i\): i번째 공간으로의 사영/변환
이종 기하학 전문가¶
[Expert 1: 유클리드]
- 일반적인 선형 변환
- 범용적 적용
[Expert 2: 쌍곡]
- 계층 구조 인코딩
- 트리 형태 관계 표현
[Expert 3: 구면]
- 순환/주기 패턴
- 방향성 있는 관계
라우팅 메커니즘¶
입력 컨텍스트에 따라 적절한 공간 선택:
\[g_i(x) = \frac{\exp(r_i(x) / \tau)}{\sum_j \exp(r_j(x) / \tau)}\]
- \(r_i(x)\): 전문가 i에 대한 라우팅 점수
- \(\tau\): temperature (선택의 날카로움)
Lightweight Router:
4. 곡률 최적화¶
학습 가능한 곡률¶
각 전문가의 공간 곡률을 학습:
\[c_i = \text{softplus}(\hat{c}_i)\]
- \(c_i > 0\): 쌍곡 공간
- \(c_i < 0\): 구면 공간
- \(c_i \approx 0\): 유클리드에 근사
학습 안정성¶
곡률 최적화 시 발생할 수 있는 불안정성:
| 문제 | 원인 | 해결책 |
|---|---|---|
| 수치 불안정 | 극단적 곡률 | 곡률 클리핑 |
| 느린 수렴 | 곡률-가중치 상호작용 | 별도 학습률 |
| 지역 최적점 | 비볼록 공간 | Warm-up 스케줄 |
5. 실험 결과¶
수학 추론 벤치마크¶
| 모델 | MATH500 | MAWPS | GSM8K |
|---|---|---|---|
| Base LLM | 28.4% | 67.2% | 45.1% |
| LoRA | 32.1% | 71.8% | 51.3% |
| DoRA | 33.5% | 73.2% | 52.8% |
| MoSLoRA | 37.7% | 87.7% | 56.4% |
향상폭¶
| 벤치마크 | 향상 |
|---|---|
| MATH500 | +5.6% |
| MAWPS | +15.9% |
| GSM8K | +5.1% |
공간별 기여 분석¶
어떤 입력에 어떤 공간이 활성화되는지:
[수학 계층 문제] (예: 집합 포함 관계)
- 쌍곡 전문가: ████████░░ 78%
- 유클리드: ██░░░░░░░░ 15%
- 구면: █░░░░░░░░░ 7%
[수열/패턴 문제] (예: 주기 수열)
- 구면 전문가: ███████░░░ 65%
- 유클리드: ███░░░░░░░ 25%
- 쌍곡: █░░░░░░░░░ 10%
[일반 산술 문제]
- 유클리드: █████████░ 85%
- 쌍곡: █░░░░░░░░░ 8%
- 구면: █░░░░░░░░░ 7%
6. Ablation Study¶
전문가 수의 영향¶
| 전문가 수 | MATH500 | 파라미터 오버헤드 |
|---|---|---|
| 1 (LoRA) | 32.1% | 1x |
| 2 | 35.2% | 1.8x |
| 3 | 37.7% | 2.6x |
| 4 | 37.9% | 3.4x |
결론: 3개 전문가가 효율적
곡률 학습 여부¶
| 설정 | 성능 |
|---|---|
| 고정 곡률 | 34.8% |
| 학습 가능 곡률 | 37.7% |
라우터 복잡도¶
| 라우터 | 성능 | 오버헤드 |
|---|---|---|
| 고정 가중치 | 35.1% | 0 |
| Linear | 37.5% | 낮음 |
| 2-layer MLP | 37.7% | 중간 |
| Transformer | 37.8% | 높음 |
7. 구현 세부사항¶
공간 변환 연산¶
# 쌍곡 공간 (Poincare Ball) 사영
def to_poincare(x, c):
norm = torch.norm(x, dim=-1, keepdim=True)
return x * torch.tanh(c * norm) / (c * norm + 1e-8)
# 구면 공간 사영
def to_sphere(x):
return F.normalize(x, dim=-1)
# MoSLoRA Forward
def moslora_forward(x, experts, router):
weights = router(x) # [batch, num_experts]
outputs = []
for i, expert in enumerate(experts):
out = expert(x) # 각 공간에서 변환
outputs.append(out * weights[:, i:i+1])
return sum(outputs)
하이퍼파라미터¶
| 파라미터 | 권장값 |
|---|---|
| Rank (r) | 16-32 |
| Num experts | 3 |
| Router hidden | 64 |
| Curvature init | 1.0 |
| Curvature lr | 1e-3 |
| LoRA lr | 2e-4 |
8. 참고 자료¶
- arXiv 원문
- 관련 연구: LoRA, Hyperbolic Embeddings, Mixture of Experts
- 참고 라이브러리: geoopt (기하학 최적화)
정리일: 2026-03-01