സ്പാർസ്-അറ്റൻഷൻ (sparse-attention) മോഡലുകൾക്കായി അവതരിപ്പിച്ച പുതിയൊരു ഇൻഫറൻസ്-ടൈം (inference-time) വിദ്യയാണ് PIVOT. മോഡലിന്റെ വെയ്റ്റുകളിൽ (weights) മാറ്റം വരുത്താതെ തന്നെ, ഇത് ഇൻഡെക്സർ ചിലവ് നാല് മടങ്ങ് വരെ കുറയ്ക്കുകയും മൊത്തത്തിലുള്ള ലേറ്റൻസി (latency) ഏകദേശം 1.6 മടങ്ങ് കുറയ്ക്കുകയും ചെയ്യുന്നു. ക്വറികളെ (queries) ഗ്രൂപ്പുകളായി തിരിക്കുകയും ഒരു സിംഗിൾ "പ്രോക്സി" (proxy) ക്വറി ഉപയോഗിച്ച് പ്രധാന ജോലികൾ ചെയ്യിപ്പിക്കുകയും ചെയ്യുന്ന രീതിയിലാണ് ഇത് പ്രവർത്തിക്കുന്നത്.
എന്തുകൊണ്ടാണ് സ്പാർസ് അറ്റൻഷൻ 100 K ടോക്കണുകളിൽ തടസ്സപ്പെടുന്നത്?
കമ്പ്യൂട്ട് ചിലവ് കുറഞ്ഞ നിലയിൽ തന്നെ ട്രാൻസ്ഫോർമറുകൾക്ക് വളരെ നീളമുള്ള സീക്വൻസുകൾ—100 K ടോക്കണുകളോ അതിൽ കൂടുതലോ—പരിശോധിക്കാൻ സ്പാർസ് അറ്റൻഷൻ സഹായിക്കാനാണ് ഉദ്ദേശിച്ചിരുന്നത്. എന്നാൽ പ്രായോഗികമായി നോക്കിയാൽ, സീക്വൻസ് ഏതാനും പതിനായിരങ്ങൾ കടന്നുപോകുമ്പോൾ വാഗ്ദാനം ചെയ്ത വേഗത ഇല്ലാതാകുന്നു. ഇതിന് കാരണം ഇൻഡെക്സറാണ്. സ്പാർസ് പാറ്റേണിൽ ഏത് ടോക്കണുകൾ ഉൾപ്പെടണം എന്ന് തീരുമാനിക്കാൻ ഓരോ ടോക്കണും ഓരോ ക്വറിയുമായി താരതമ്യം ചെയ്ത് സ്കോർ ചെയ്യുന്നത് ഇൻഡെക്സറാണ്. ഇതിന്റെ ജോലി $O(L^2)$ ($L$ = സീക്വൻസ് നീളം) എന്ന രീതിയിൽ വർദ്ധിക്കുന്നു. അതിനാൽ 100 K ടോക്കണുകളിൽ എത്തുമ്പോൾ, ഇൻഡെക്സർ മാത്രം റൺടൈം ഭൂരിഭാഗവും എടുക്കുകയും സ്പാർസിറ്റിയിൽ നിന്നുള്ള ഗുണങ്ങൾ ഇല്ലാതാക്കുകയും ചെയ്യുന്നു.
PIVOT-ന് പിന്നിലെ രണ്ട് നിരീക്ഷണങ്ങൾ
അടുത്തടുത്തുള്ള ക്വറികൾ മിക്കവാറും ഒരേ ടോപ്പ്-k ടോക്കണുകൾ തന്നെയാണ് തിരഞ്ഞെടുക്കുന്നത് (ഏകദേശം 90% ഓവർലാപ്പ്) എന്ന് ഗവേഷകർ കണ്ടെത്തി. ഇതിനർത്ഥം, ഒരു പ്രതിനിധി ക്വറിക്ക് (representative query) അടുത്തുള്ള ഒരു കൂട്ടം ക്വറികൾക്ക് പകരമായി പ്രവർത്തിക്കാനും ഉപയോഗപ്രദമായ ഒരു കാൻഡിഡേറ്റ് സെറ്റ് കണ്ടെത്താനും സാധിക്കും എന്നാണ്. ഈ വസ്തുത ഉപയോഗപ്പെടുത്തിയാണ് PIVOT പ്രവർത്തിക്കുന്നത്:
- നിശ്ചിത എണ്ണം തുടർച്ചയായ ക്വറികളെ ഗ്രൂപ്പ് ചെയ്യുന്നു (size $g$).
- ഒരു പ്രോക്സി ക്വറി നിർമ്മിക്കുന്നതിനായി ഗ്രൂപ്പിന്റെ ശരാശരി (averaging) എടുക്കുന്നു.
- ഓരോ ക്വറിക്കും പകരം പ്രോക്സിയിൽ ഒറ്റത്തവണ മാത്രം ഇൻഡെക്സർ പ്രവർത്തിപ്പിക്കുന്നു.
- ഗ്രൂപ്പിലെ ഓരോ അംഗത്തിനും വേണ്ടി പ്രോക്സിയുടെ കാൻഡിഡേറ്റ് ലിസ്റ്റ് പരിഷ്കരിക്കുന്നു (refining).
കണക്കുകൾ $O(L^2)$ എന്നതിൽ നിന്ന് $O(L^2/g)$ ആയി കുറയുന്നു. എട്ട് എന്ന ഗ്രൂപ്പ് സൈസ് ഉപയോഗിക്കുമ്പോൾ, ഇൻഡെക്സർ എട്ട് മടങ്ങ് കുറഞ്ഞ ഫുൾ സ്കാനുകൾ മാത്രമേ നടത്തുന്നുള്ളൂ.
രണ്ട് പ്രവർത്തന രീതികൾ
- PIVOT-Refine, ഡെൻസ് ഇൻഡെക്സറിന്റെ കൃത്യത നിലനിർത്തുന്നതോടൊപ്പം ഇൻഡെക്സർ ഘട്ടത്തിൽ ഏകദേശം മൂന്ന് മടങ്ങ് വേഗത വർദ്ധിപ്പിക്കുന്നു.
- PIVOT-Reuse, പരമാവധി ത്രൂപുട്ട് (throughput) നേടുന്നതിനായി അല്പം കൃത്യത കുറച്ചുകൊണ്ട് വേഗത ഇനിയും വർദ്ധിപ്പിക്കുന്നു.
ഇൻഫറൻസ് സമയത്ത് PIVOT ഉപയോഗിക്കുമ്പോൾ, DeepSeek-V3.2, GLM-5.1 മോഡലുകളിൽ ഇൻഡെക്സർ വേഗത നാല് മടങ്ങ് വർദ്ധിക്കുന്നതായും എൻഡ്-ടു-എൻഡ് (end-to-end) ലേറ്റൻസി 1.6 മടങ്ങ് കുറയുന്നതായും ബെഞ്ച്മാർക്കുകൾ കാണിക്കുന്നു.
പ്ലഗ്-ആൻഡ്-പ്ലേ ഇംപ്ലിമെന്റേഷൻ
നിലവിലുള്ള ഏതൊരു ഡൈനാമിക് സ്പാർസ് അറ്റൻഷൻ (DSA) പൈപ്പ്ലൈനിലും ഉപയോഗിക്കാൻ കഴിയുന്ന ഒരു റെഫറൻസ് ഇംപ്ലിമെന്റേഷനായാണ് ഈ സാങ്കേതികവിദ്യ വരുന്നത്. ഇതിന് വെയ്റ്റുകളിൽ മാറ്റം വരുത്തേണ്ടതില്ല, അതിനാൽ സ്റ്റാൻഡേർഡ് സ്പാർസ്-അറ്റൻഷൻ രീതികളിൽ പരിശീലിപ്പിച്ച മോഡലുകൾ മാറ്റമില്ലാതെ തന്നെ പ്രവർത്തിക്കും. എന്നാൽ റെഫറൻസ് കോഡ് ജനറിക് GPU കേർണലുകളിൽ (generic GPU kernels) ആണ് പ്രവർത്തിക്കുന്നത്; പൂർണ്ണമായ വേഗത ലഭിക്കുന്നതിനായി പ്രൊഡക്ഷൻ ഡിപ്ലോയ്മെന്റുകളിൽ ഹാൻഡ്-ട്യൂൺ ചെയ്ത Triton അല്ലെങ്കിൽ CUDA കേർണലുകൾ ആവശ്യമായി വരും.
എന്തൊക്കെയാണ് ഇതിലെ വിട്ടുവീഴ്ചകൾ (trade-offs)?
PIVOT-Reuse നൽകുന്ന വേഗതയുടെ ഗുണത്തിന് പകരമായി അറ്റൻഷൻ ക്വാളിറ്റിയിൽ ചെറിയൊരു കുറവുണ്ടാകാം; കൃത്യമായ ടോക്കൺ സെലക്ഷൻ ആവശ്യമുള്ള ജോലികളിൽ ഇത് പ്രസക്തമായേക്കാം. ലേറ്റൻസി ബജറ്റുമായി താരതമ്യം ചെയ്ത് ഈ നഷ്ടം എത്രത്തോളമുണ്ടെന്ന് ടീമുകൾ വിലയിരുത്തേണ്ടതുണ്ട്. കൂടാതെ, കസ്റ്റം കേർണലുകളുടെ ആവശ്യം GPU-കേർണൽ വൈദഗ്ധ്യമില്ലാത്ത സ്ഥാപനങ്ങൾക്ക് എഞ്ചിനീയറിംഗ് ജോലിഭാരം വർദ്ധിപ്പിക്കും.
ഇനി എന്താണ് ശ്രദ്ധിക്കേണ്ടത്?
ക്വറികളെ ഗ്രൂപ്പ് ചെയ്യുകയും ഒരു പ്രോക്സി സ്കാൻ പങ്കിടുകയും ചെയ്യുന്നതിലൂടെ ജോലികൾ ബുദ്ധിപരമായി പുനഃക്രമീകരിക്കുന്നത്, റീട്രെയിനിംഗ് (retraining) ചിലവില്ലാതെ തന്നെ വളരെ നീളമുള്ള കോൺടെക്സ്റ്റുകൾക്കായി സ്പാർസ് അറ്റൻഷന്റെ വാഗ്ദാനങ്ങൾ വീണ്ടെടുക്കാൻ സഹായിക്കുമെന്ന് PIVOT കാണിച്ചുതരുന്നു.
