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. 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_weights

Eksempel 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

2

Kilder

1
  • Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer