Sparse KV Caches એ Attention Scaling ઘટાડે છે

સ્ટાન્ડર્ડ એટેન્શન મોડલ્સ લાંબી સિક્વન્સ (sequences) સાથે સંઘર્ષ કરે છે. જેમ ટેક્સ્ટ લાંબુ થાય છે તેમ મેમરી અને કમ્પ્યુટ ખર્ચ ખૂબ ઝડપથી વધે છે. આના કારણે કોન્ટેક્સ્ટ વિન્ડોઝ (context windows) થોડા હજાર ટોકન્સ સુધી મર્યાદિત રહે છે.

Sparse KV caches આ પરિસ્થિતિ બદલી નાખે છે. તેઓ ક્વાડ્રેટિક (quadratic) ખર્ચને લગભગ લિનિયર (linear) ખર્ચમાં ફેરવે છે. દરેક મેમરી બ્લોકને સ્કેન કરવાને બદલે, દરેક ક્વેરી ડેટાના એક નાના સબસેટ પર ધ્યાન આપે છે.

આ ફેરફાર એક સિંગલ GPU પર વિશાળ કોન્ટેક્સ્ટ વિન્ડોઝને વ્યવહારુ બનાવે છે.

MiniMax અભ્યાસના મુખ્ય પરિણામો:

• MSA એક મિલિયન-ટોકન કોન્ટેક્સ્ટમાં પ્રતિ-ટોકન એટેન્શન કમ્પ્યુટને 28.4x ઘટાડે છે. • KV મેમરી વપરાશમાં 50% સુધીનો ઘટાડો થાય છે. • Perplexity ડેન્સ મોડલ્સ જેટલી જ રહે છે, જેનો અર્થ છે કે ચોકસાઈમાં કોઈ ઘટાડો થતો નથી. • H800 GPU પર Prefill 14.2x ઝડપથી ચાલે છે. • H800 GPU પર Decoding 7.6x ઝડપથી ચાલે છે.

આ સ્પીડઅપ નવા Top-k selector અને ટેન્સર-કોર (tensor-core) ના બહેતર ઉપયોગને કારણે મળે છે.

અહીં કેટલાક ટ્રેડ-ઓફ્સ (trade-offs) ધ્યાનમાં લેવા જેવા છે. આ પરિણામો એક ચોક્કસ 109B-પેરામીટર મોડલમાંથી આવ્યા છે. આ ફાયદાઓ તમામ હાર્ડવેર અથવા મોડલ પ્રકારો પર કામ કરશે કે નહીં તે આપણે હજી જાણી શકતા નથી. ઉપરાંત, આ પદ્ધતિ એવું માની લે છે કે સંબંધિત ટોકન્સ એક ચોક્કસ રેન્જમાં રહે છે. ગ્લોબલ એટેન્શન (global attention) ની જરૂર હોય તેવા કાર્યોમાં સમસ્યાઓ આવી શકે છે.

જો આ પદ્ધતિઓ વ્યાપક રીતે કામ કરશે, તો તમે સ્ટાન્ડર્ડ GPU પર તમારા કોન્ટેક્સ્ટ વિન્ડ