top-k gating
En teknik i mixture-of-experts-modeller, hvor gaten vælger de k mest relevante eksperter baseret på en vægtet scoring.
Kort fortalt
En metode der sparer beregning ved kun at aktivere et lille antal eksperter i en stor model.
- Kategori
- teknik
- Niveau
- øvet
- Udtale
- /tɒp keɪ ˈɡeɪtɪŋ/
Betydninger
1- 1
En gate-mekanisme i mixture-of-experts modeller der udvælger præcis k eksperter ud af N baseret på en softmax-vægtet prioritering.
- I en MoE-model bruges top-k gating til at aktivere kun 2 af 8 eksperter per token. — forskningsartikel, 2017
- Top-k gating reducerer beregningsomkostningerne markant sammenlignet med at aktivere alle eksperter. — forskningsartikel, 2017
Hvornår bruges det
Anvendes i sparsomme mixture-of-experts lag for at reducere beregningsomkostninger. Gaten beregner en score for hver ekspert, vælger de k højeste og nulstiller resten.
Kodeeksempel
import torch
import torch.nn.functional as F
def top_k_gating(x, W_gate, k):
scores = x @ W_gate
top_k_vals, top_k_idx = torch.topk(scores, k, dim=-1)
gate_weights = F.softmax(top_k_vals, dim=-1)
mask = torch.zeros_like(scores).scatter(-1, top_k_idx, 1.0)
gated = scores * mask
return gated, gate_weightsEksempel på implementering af top-k gating i PyTorch. Beregner scorer, vælger de k højeste, og anvender maskering.
Oprindelse
Fra engelsk 'top' (øverste) og 'gating' (port) som refererer til en mekanisme der vælger.
Afledte ord
2Kilder
1- Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer