În Deepseek-V3, funcția de activare a sigmoidului joacă un rol crucial în procesul de rutare a experților, modificând modul în care jetoanele sunt atribuite experților. Spre deosebire de versiunile anterioare care au utilizat o funcție SoftMax, Deepseek-V3 folosește o funcție sigmoidă pentru a calcula scorurile de afinitate între jetoane și experți. Această schimbare ajută la prevenirea probabilităților extreme de selecție a experților, ceea ce poate duce la prăbușirea rutării unei situații în care modelul favorizează câțiva experți față de alții, diminuând beneficiile specializării și eficienței.
Funcția de activare sigmoidă în rutarea experților
Funcția sigmoid, notată ca $$ \ sigma (\ cdot) $$, este utilizată pentru a calcula scorul de afinitate între un jeton și un expert. Mai exact, scorul $$ s_ {i, t} $$ pentru token $$ t $$ și expertul $$ i $$ este calculat ca:
$$ s_ {i, t} = \ sigma (u_t^t e_i) $$
unde $$ u_t $$ este încorporarea tokenului și $$ e_i $$ este vectorul centroid al expertului $$ i $$. Acest scor reflectă cât de bine se aliniază jetonul cu specialitatea expertului.
Normalizare și selecție
După calcularea acestor scoruri, Deepseek-V3 le normalizează și selectează partea de sus-$$ K_R $$ experți pe baza acestor scoruri normalizate. Acest proces asigură că fiecare jeton este dirijat către un subset de experți care sunt cei mai relevanți pentru acesta, promovând o prelucrare eficientă și specializată.
Termeni de prejudecăți pentru echilibrarea sarcinii
Pentru a preveni prăbușirea rutării și pentru a asigura distribuția echilibrată a încărcării între experți, Deepseek-V3 introduce termeni de prejudecăți reglabile dinamic. Acești termeni de prejudecăți sunt adăugați la scorurile de afinitate înainte de a selecta experții de top. Dacă un expert este supraîncărcat, termenul său de prejudecată este scăzut și, dacă este subîncărcat, termenul de prejudecată este crescut. Acest mecanism asigură că sarcina rămâne echilibrată fără a se baza pe funcții de pierdere auxiliară, care pot afecta negativ performanța modelului [1] [3].
Beneficiile sigmoidului peste softmax
Utilizarea unei funcții sigmoide în loc de softmax ajută la decuplarea probabilităților de selecție ale diferiților experți. În Softmax, probabilitățile sunt normalizate pentru a rezuma la unul, ceea ce poate duce la probabilități extreme atunci când un expert este favorizat în mod semnificativ. Sigmoid, pe de altă parte, permite atribuții de probabilitate mai flexibile și independente, reducând probabilitatea de a se prăbuși și de a promova o utilizare mai echilibrată a experților [4].
În general, funcția de activare sigmoidă în DeepSeek-V3 îmbunătățește capacitatea modelului de a direcționa eficient token-urile către experți relevanți, menținând în același timp un volum de muncă echilibrat, ceea ce este crucial pentru obținerea de arhitecturi de înaltă performanță și de calcul în amestecul de experți la scară largă (MOE).
Citări:
[1] https://gonzoml.substack.com/p/deepseek-v3-technical-adails
[2] https://aman.ai/primers/ai/deepseek-r1/
[3] https://machinelearningatscale.substack.com/p/deepseek-v3-model
[4] https://mlfrontiers.substack.com/p/understanding-eepseek-v3
[5] https://docs.nvidia.com/nemo-framework/user-guide/latest/llms/deepseek_v3.html
[6] https://planetbanatt.net/articles/deepseek.html
[7] https://arxiv.org/pdf/2412.19437.pdf
[8] https://builtin.com/machine-learning/sigmoid-acționare-funcție