gating network
Et gating network er en komponent i en blanding af eksperter (MoE), der bestemmer, hvilke eksperter der skal aktiveres for et givet input.
Kort fortalt
Kort fortalt: et gating network er som en dirigent, der bestemmer hvilke specialiserede undermodeller (eksperter) der skal arbejde på et givent input.
- Kategori
- arkitektur
- Niveau
- øvet
Betydninger
1- 1
En neural netværkskomponent i en mixture-of-experts-model, der tager et input og genererer en vægtet fordeling over eksperter, således at kun en eller få eksperter aktiveres. Den lærer at specialisere eksperter til forskellige regioner af inputrummet.
- I MoE-modeller bestemmer gating network, hvilke eksperter der skal anvendes for hver token. — Mixture of Experts (1991)
- Gating network kan implementeres som et simpelt softmax-lag over eksperternes indeks. — Modelparallelisme og MoE i Transformere, 2022
Hvornår bruges det
Gating network anvendes primært i MoE-arkitekturer for at opnå effektivitet ved at aktivere kun en delmængde af parametre per input. Det bruges i store sprogmodeller som Mixtral 8x7B og i computer vision.
Kodeeksempel
import torch
import torch.nn as nn
class GatingNetwork(nn.Module):
def __init__(self, input_dim, num_experts):
super().__init__()
self.fc = nn.Linear(input_dim, num_experts)
def forward(self, x):
return torch.softmax(self.fc(x), dim=-1)En simpel PyTorch-implementering af et gating network med et lineært lag efterfulgt af softmax.
Oprindelse
Gating kommer fra elektronikkens porte, der styrer signaler; her bruges det metaforisk om at styre hvilke eksperter der aktiveres.
Afledte ord
2Kilder
2- Mixture of Experts (Jacobs et al., 1991)
- Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer (Shazeer et al., 2017)