[논문 리뷰] Hash Layers For Large Sparse Models
Hash Layers는 사전 계산된 해시를 통해 토큰을 고정된 전문가 FFN으로 라우팅하여 Switch Transformers 및 BASE Layers보다 경쟁력 있거나 더 나은 perplexity를 달성하며, 라우팅 파라미터나 추가 목표 없이도 작동한다.
We investigate the training of sparse layers that use different parameters for different inputs based on hashing in large Transformer models. Specifically, we modify the feedforward layer to hash to different sets of weights depending on the current token, over all tokens in the sequence. We show that this procedure either outperforms or is competitive with learning-to-route mixture-of-expert methods such as Switch Transformers and BASE Layers, while requiring no routing parameters or extra terms in the objective function such as a load balancing loss, and no sophisticated assignment algorithm. We study the performance of different hashing techniques, hash sizes and input features, and show that balanced and random hashes focused on the most local features work best, compared to either learning clusters or using longer-range context. We show our approach works well both on large language modeling and dialogue tasks, and on downstream fine-tuning tasks.
연구 동기 및 목표
- Transformer에서 학습 가능한 라우팅 매개변수 없이 확장 가능한 희소 라우팅을 동기화한다.
- 토큰을 고정된 전문가 모듈에 매핑하는 해시 기반 라우팅 메커니즘을 제안한다.
- 언어 모델링 및 대화 작업 전반에서 해시 전략과 다중 해시 확장을 평가한다.
- Switch Transformers 및 BASE Layers와의 성능 및 효율성을 비교한다.
- 해시 선택이 학습 다이내믹스 및 다운스트림 미세 조정에 미치는 영향을 분석한다.]
- method["Transformer 계층의 FFN을 MoE 스타일의 전문가 FFN 세트로 교체하고 고정된 해시 기반 라우팅 기능으로 접근한다.","학습된 라우팅 매개변수 없이 해시 함수를 사전에 고정하고 토큰을 각 토큰당 하나의 전문가로 라우트한다.","다양한 해시 전략(Random, Balanced, Bigram, Previous Token, Position-based, Oracle/Future-based, Clustering, Dispersed)과 그 성능에 대한 영향을 탐구한다.","여러 해시 함수를 조합하여 하위 매개변수를 선택하고 출력을 연결하는 MultiHash Layers를 도입한다.","Pushshift Reddit, RoBERTa+cc100en, Wikitext-103, BST 대화 작업에서 밀집 기반 대 Baseline, Switch Transformers, 및 BASE Layers와 비교하는 실험을 수행한다.","해시 함수 선택, 계층 위치, 다중 해시 효과에 대한 제거 연구를 제공한다.]
- research_questions["고정된 해시 기반 라우팅 체계가 희소 트랜스포머 모델의 학습 가능한 라우팅에 견줄 만한 성능을 달성할 수 있는가?","무작위, 균형, 토큰 기반, n-그램, 클러스터링 기반, 오라클 기반 등 어떤 해시 전략이 perplexity와 학습 효율성 간의 최적의 트레이드 오프를 제공하는가?","더 나은 성능을 위해 더 늦은 트랜스포머 계층에 해시 기반 라우팅을 배치하는 것이 초기 계층보다 효과적인가?","고정된 연산 예산에서 다중 해시 라우팅이 모델 성능에 미치는 영향은 무엇인가?","Hash Layers는 대규모에서 정확도와 학습/업데이트 효율성 측면에서 BASE Layers와 어떻게 비교되는가?"]
- key_findings ["Hash Layers는 Reddit 및 RoBERTa+cc100en에서 매개변수 수가 유사한 조건에서 Switch Transformers와 대등하거나 더 우수한 성능을 보인다.","같은 계산 예산에서 64개 또는 128개 모듈을 가진 Hash Layers가 해당 스위치 대비 더 낮은 perplexity를 달성한다.","학습된 게이팅 없이도 해시 라우팅은 강건하고 구현이 단순하며 로딩-밸런싱 손실 및 라우팅 최적화의 어려움을 피한다.","후기 계층에 Hash Layer를 배치하는 것이 초기 계층보다 perplexity가 더 좋으며 BASE Layers의 발견과 일치한다.","다중 해시(2–8 해시)가 단일 해시보다 성능을 향상시키면서도 전체 매개변수 수는 일정하게 유지된다.","BASE Layers에 비해 Hash Layers는 더 나은 또는 동등한 perplexity를 제공하고, 라우팅의 비상관화 단계 생략으로 업데이트-초당 수가 더 높다."]
- table_headers:["Model","Configuration","Params","Valid PPL","Test PPL"]
- table_rows:[["Baseline Transformer","layers=11, d=1024, D=4096","222M","24.90","24.96"],["Wider Transformer","layers=11, d=2048, D=6144","755M","23.32","23.38"],["Deeper Transformer","layers=22, d=1536, D=4096","755M","22.72","22.78"],["Switch Transformer","layers=11,modules=1x64, load_bal=0.1","751M","23.65","23.73"],["Hash Layer","layers=11,modules=1x64","751M","23.16","23.23"],["Switch Transformer","layers=11,modules=1x128, load_bal=0.1","1.28B","23.52","23.58"],["Hash Layer","layers=11,modules=1x128","1.28B","22.89","22.95"],["Switch Transformer","layers=11,modules=5x16, load_bal=0.01","852M","23.19","23.25"],["Switch Transformer","layers=11,modules=5x16, load_bal=0.1","852M","23.00","22.93"],["Hash Layer","layers=11,modules=5x16","852M","23.21","23.27"]]} }-1) {
제안 방법
- Transformer 계층의 FFN을 MoE 스타일의 전문가 FFN 세트로 교체하고 고정된 해시 기반 라우팅 기능으로 접근합니다.
- 학습된 라우팅 매개변수 없이 해시 함수를 사전에 고정하고 토큰을 각 토큰당 하나의 전문가로 라우트합니다.
- 다양한 해시 전략(Random, Balanced, Bigram, Previous Token, Position-based, Oracle/Future-based, Clustering, Dispersed)와 그 성능에 대한 영향을 탐구합니다.
- 여러 해시 함수를 조합하여 하위 매개변수를 선택하고 출 outputs를 연결하는 MultiHash Layers를 도입합니다.
- Pushshift Reddit, RoBERTa+cc100en, Wikitext-103, 및 BST 대화 작업에서 밀집 기반 대 Baseline, Switch Transformers, 및 BASE Layers와 비교하는 실험을 수행합니다.
- 해시 함수 선택, 계층 위치, 다중 해시 효과에 대한 제거 연구를 제공합니다.
실험 결과
연구 질문
- RQ1고정된, 해시 기반 라우팅 체계가 희소 Transformer 모델의 학습 가능한 라우팅에 비해 경쟁력 있는 성능을 달성할 수 있는가?
- RQ2어떤 해시 전략(random, balanced, token-based, n-gram, clustering-based, oracle-based)이 perplexity와 훈련 효율성 사이의 최적의 트레이드오프를 제공하는가?
- RQ3나중 계층에 해시 기반 라우팅을 배치하는 것이 초반 계층보다 성능이 개선되는가?
- RQ4Fixed compute 예산에서 다중 해시 라우팅이 모델 성능에 미치는 영향은 어떤가?
- RQ5Hash Layers는 대규모에서 BASE Layers와 비교하여 정확도 및 학습/업데이트 효율성 측면에서 어떤가?
주요 결과
| 모델 | 구성 | Params | Valid PPL | Test PPL |
|---|---|---|---|---|
| Baseline Transformer | layers=11, d=1024, D=4096 | 222M | 24.90 | 24.96 |
| Wider Transformer | layers=11, d=2048, D=6144 | 755M | 23.32 | 23.38 |
| Deeper Transformer | layers=22, d=1536, D=4096 | 755M | 22.72 | 22.78 |
| Switch Transformer | layers=11,modules=1x64, load_bal=0.1 | 751M | 23.65 | 23.73 |
| Hash Layer | layers=11,modules=1x64 | 751M | 23.16 | 23.23 |
| Switch Transformer | layers=11,modules=1x128, load_bal=0.1 | 1.28B | 23.52 | 23.58 |
| Hash Layer | layers=11,modules=1x128 | 1.28B | 22.89 | 22.95 |
| Switch Transformer | layers=11,modules=5x16, load_bal=0.01 | 852M | 23.19 | 23.25 |
| Switch Transformer | layers=11,modules=5x16, load_bal=0.1 | 852M | 23.00 | 22.93 |
| Hash Layer | layers=11,modules=5x16 | 852M | 23.21 | 23.27 |
- Hash Layers는 Reddit 및 RoBERTa+cc100en에서 매개변수 수가 유사한 조건에서 Switch Transformer를 능가하거나 일치하는 성능을 보인다.
- 같은 계산 예산에서 64개 모듈 또는 128개 모듈을 가진 Hash Layers가 Switch 대비 더 낮은 perplexity를 달성한다.
- 학습된 게이팅이 없는 해시 라우팅은 견고하고 구현이 단순하며 로드 밸런싱 손실 및 라우팅 최적화의 어려움을 피한다.
- 나중 계층에 Hash Layer 배치가 초기 계층보다 perplexity를 개선하며 BASE Layers의 결과와 일치한다.
- 다중 해시(2-8 해시)가 단일 해시보다 성능을 향상시키되 전체 매개변수 수를 증가시키지 않는다.
- BASE Layers에 비해 Hash Layers는 더 나은 또는 동등한 perplexity를 제공하고 라우팅의 비상관화 단계 생략으로 업데이트 속도가 더 빠르다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.