DeepSeek'in diqqət mexanizmi (DSA) artıq klassik modellərin O(L²) mürəkkəbliyini O(Lk)-yə endirmişdi. Lakin onun “indexer” adlı köməkçi mexanizmi hər təbəqədə işə düşərək ümumi məsrəfi O(NL²) səviyyəsinə qaldırırdı. Yəni sürət qazandırmaq üçün əlavə edilən komponent, əslində, yeni bir darboğaz yaratmışdı.
IndexCache: Təkrardan qaçmağın ağıllı yolu
Tsinghua Universiteti və Z.ai şirkətinin birgə araşdırması olan IndexCache, bu problemi kəşf edir: qonşu təbəqələrin indexer çıxışları 70-100% üst-üstə düşür. Yəni hər təbəqədə eyni hesablamanı təkrarlamaq əvəzinə, nəticəni keşləyib sonrakı təbəqələrdə istifadə etmək mümkündür. Metod sadəcə olaraq bəzi təbəqələri “Full” (indexer işləyir) və qalanlarını “Shared” (keşlənmiş nəticəni istifadə edir) olaraq təyin edir. Bu, əlavə yaddaş tələb etmir – sadəcə bir if/else şərti ilə əməliyyat axını dəyişdirilir.
Hansı təbəqələrin Full olacağı iki yolla müəyyən edilir: təlim tələb olunmayan acgöz axtarış (kalibrləşmə məlumatlarından istifadə) və ya çoxtəbəqəli distillə itkisi ilə təlim. Maraqlıdır ki, kosinus oxşarlığına əsaslanan yanaşma uğursuz olub – yerli metriklər səhvlərin sonrakı təbəqələrdə yığılmasını nəzərə ala bilmir.
Əldə edilən nəticələr
IndexCache yalnız hər dördüncü təbəqədə indexer işlətməklə (75% ixtisar) standart DSA ilə müqayisədə:
- Prefill gecikməsi: 19.5 san → 10.7 san (1.82× sürətlənmə)
- Decode ötürmə qabiliyyəti: 58 tok/s → 86 tok/s (1.48× yaxşılaşma)
Bu göstəricilər, xüsusilə uzun kontekstli məsələlərdə (məsələn, sənəd təhlili, kod yazma) modellərin daha səmərəli işləməsinə imkan yaradır. Metodun açıq mənbə kodu GitHub'da paylaşılıb və GLM-5.2 kimi modellərdə artıq tətbiq edilir.
Qısacası, IndexCache göstərir ki, bəzən ən ağıllı həll daha mürəkkəb alqoritm yazmaq deyil, mövcud hesablamaların nə qədərinin həqiqətən zəruri olduğunu sorgulamaqdır.
Mənbə: Dev.to (https://dev.to/mahendra4/gml5-indexcache-10nf)


