FlashMemory એ DeepSeek-V4 KV Cache ને ઘટાડીને 13.5% કરી દીધું છે
લાંબા કોન્ટેક્સ્ટ (Long context) મોડલ્સ એક મોટી સમસ્યાનો સામનો કરી રહ્યા છે. મર્યાદા ગણિતની નથી, પણ મેમરીની છે.
જેમ તમે ટોકન્સ ઉમેરો છો, તેમ KV cache વધતું જાય છે. 500,000 ટોકન્સ પર, કેશ (cache) ખૂબ મોટું થઈ જાય છે. તે બધી GPU મેમરી રોકી લે છે. આના કારણે લાંબા કોન્ટેક્સ્ટને સર્વ (serve) કરવું મોંઘું અને ધીમું બને છે.
FlashMemory-DeepSeek-V4 નામનું એક નવું પેપર Lookahead Sparse Attention (LSA) દ્વારા આ સમસ્યાનો ઉકેલ લાવે છે.
તે કેવી રીતે કામ કરે છે તે અહીં છે:
પરંપરાગત મોડલ્સ ડેન્સ (dense) KV cache નો ઉપયોગ કરે છે. તેઓ ભૂતકાળની દરેક માહિતીને મેમરીમાં સાચવી રાખે છે. આ એક વાક્ય વાંચવા માટે આખી લાઈબ્રેરી તમારા ટેબલ પર લાવવા જેવું છે.
LSA અલગ રીતે કામ કરે છે. તે Neural Memory Indexer નો ઉપયોગ કરે છે. આ ઇન્ડેક્સર એક આસિસ્ટન્ટ તરીકે કામ કરે છે. તે આગાહી કરે છે કે અત્યારે તમને ભૂતકાળના કયા ચોક્કસ ભાગોની જરૂર છે. તે ફક્ત તે જ ચોક્કસ ભાગોને ટેબલ પર લાવે છે.
DeepSeek-V4 પરના પરિણામો પ્રભાવશાળી છે:
- ફિઝિકલ મેમરી ફૂટપ્રિન્ટ મૂળ કદના 13.5% સુધી ઘટી જાય છે.
- 500,000 ટોકન્સ પર આ 90% નો ઘટાડો છે.
- ચોકસાઈ (Accuracy) ખરેખર 0.6% વધે છે.
આ અગાઉની પદ્ધતિઓ કરતા કેમ વધુ સારું છે?
અન્ય સ્પાર્સ અટેન્શન (sparse attention) પદ્ધતિઓ કમ્પ્યુટ સમય બચાવે છે. તેઓ હજુ પણ આખી કેશને મેમરીમાં રાખે છે. LSA ખરેખર ગીગાબાઇટ્સ (gigabytes) જગ્યા બચાવે છે. તે કેશને રાખવાનું ટાળે છે.
ઉપરાંત, આ ઇન્ડેક્સરને ટ્રેન કરવું સસ્તું છે. ટીમે backbone-free ટ્રેનિંગનો ઉપયોગ કર્યો છે. નાના ઇન્ડેક્સરને ટ્રેન કરવા માટે તેમને ટ્રિલિયન-પેરામીટર મોડલ લોડ કરવાની જરૂર નથી.
આનાથી અલ્ટ્રા-લોંગ કોન્ટેક્સ્ટ મોડલ્સ ચલાવવા માટે સસ્તા બને છે.
અભિગમોનો સારાંશ:
- Full KV Cache: સચોટ છે પરંતુ વિશાળ મેમરીનો ઉપયોગ કરે છે.
- Sliding Window: ઓછી મેમરી પરંતુ જૂની માહિતી ભૂલી જાય છે.
- Block-Sparse: કમ્પ્યુટ બચાવે છે પરંતુ કેશ મોટી રહે છે.
- LSA: વિશાળ મેમરી બચાવે છે અને ચોકસાઈ ઊંચી રાખે છે.
સ્ત્રોત: https://dev.to/pueding/flashmemory-cuts-deepseek-v4s-kv-cache-to-135-lookahead-sparse-attention-5coe
વૈકલ્પિક લર્નિંગ કોમ્યુનિટી: https://t.me/GyaanSetuAi