În arhitecturile convenționale MoE (cum ar fi Mixtral 8x7B), toți experții sunt supuși rutării dinamice. Cu toate acestea, multe sarcini lingvistice de bază (gramatică comună, semne de punctuație, sintaxă de bază) sunt necesare pentru fiecare token, forțând toți experții să învețe redundanțe.
Arhitectura DeepSeekMoE izolează cunoștințele generale prin alocarea unui sau mai multor Experți Partajați (Shared Experts) care sunt activați obligatoriu pentru toți tokenii, fără rutare:
class DeepSeekMoELayer(nn.Module):
def __init__(self):
super().__init__()
# Expert partajat: procesează cunoștințele globale
self.shared_expert = MLP(dim, hidden_dim)
# Experți fini rutează dinamic (ex: 8 aleși din 64)
self.routed_experts = nn.ModuleList([MLP(dim, hidden_dim) for _ in range(64)])
self.router = GateRouter(dim, num_experts=64, top_k=8)
def forward(self, x):
shared_out = self.shared_expert(x)
routed_out = self.router.dispatch_and_sum(x, self.routed_experts)
return shared_out + routed_out
Această decuplare permite experților rutabili să se specializeze exclusiv pe domenii înguste (matematică avansată, medicină, cod C++).
Întrebări & Exemple practice:
Experți Partajați (Shared Experts) vs Experți Rutabili în DeepSeekMoEAi o întrebare despre Experți Partajați (Shared Experts) vs Experți Rutabili în DeepSeekMoE sau ai descoperit un truc, prompt sau fragment de cod util? Distribuie-l cu ceilalți membri ai comunității!
Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau resurse pentru această pagină. Dacă ai testat un prompt sau ai un snippet util, adaugă-l mai jos pentru comunitate.