મેં MTP TPS પાછળ દોડવાનું બંધ કર્યું અને મને 24GB VRAM પર ચાલતો લોકલ 27B એજન્ટ મળ્યો
મને સિંગલ પ્રોમ્પ્ટ બેન્ચમાર્ક વિશે કોઈ રસ નથી.
મારો રસ લૂપ (loop) માં છે.
એક કોડિંગ એજન્ટને કલાકો સુધી કામ કરવાની જરૂર હોય છે. તેણે એડિટ્સ, ટર્મિનલ કોલ્સ, રીટ્રાય્સ અને વધતા જતા કોન્ટેક્સ્ટ (context) ને હેન્ડલ કરવાની જરૂર છે. જો મોડેલ દસ પ્રોમ્પ્ટ પછી નિષ્ફળ જાય, તો તે નકામું છે.
હું જોવા માંગતો હતો કે શું હું સિંગલ 24GB GPU પર 27B મોડેલ ચલાવી શકું છું. મેં Qwopus3.6-27B-v2 ટેસ્ટ કર્યું અને એક નવું વર્ઝન બનાવ્યું: XReyRobert/Qwopus3.6-27B-v2-GPTQ-Pro-v1.
સ્થિર 24GB એજન્ટ લૂપ માટે મારું સેટઅપ અહીં છે:
- Model: Qwopus3.6-27B GPTQ-Pro 4-bit
- Engine: vLLM with GPTQ-Marlin
- Context: 131k tokens
- KV Cache: FP8 (fp8_e5m2)
- Strategy: Prefix caching enabled
- Constraint: max_num_seqs=1
max_num_seqs=1 શા માટે?
સિંગલ 24GB કાર્ડ પર, પેરેલલિઝમ (parallelism) મફત નથી મળતું. જો તમે એકસાથે અનેક રિક્વેસ્ટ રન કરો છો, તો તેઓ મેમરી માટે લડશે. હું ઈચ્છું છું કે એક રિક્વેસ્ટ ચોખ્ખી રીતે પૂર્ણ થાય. મને બે તૂટેલા જવાબો કરતાં એક ઉપયોગી જવાબ વધુ ગમશે.
મેં સ્પેક્યુલેટિવ ડિકોડિંગ (speculative decoding - MTP) પણ સ્કીપ કર્યું. સિંગલ 3090 પર, MTP એ લોંગ કોન્ટેક્સ્ટ માટે એન્ડ-ટુ-એન્ડ સ્પીડ વધાર્યા વગર મેમરી પર દબાણ અને જટિલતા વધારી હતી.
ખરેખર મહત્વના મેટ્રિક્સ:
- Prefix cache hit ratio: ~83%
- Average TTFT: ~5.7s at 33k tokens
- Prefill throughput: ~1917 tok/s
- Decode speed: ~43 tok/s
જ્યારે પ્રીફિક્સ કેશ (prefix cache) હિટ થાય છે, ત્યારે તમારી લેટન્સી (latency) ઘટે છે. જ્યારે તમે કામ (tasks) બદલો છો, ત્યારે કેશ 'કોલ્ડ' થઈ જાય છે અને લેટન્સી વધે છે. તે સામાન્ય છે. ધ્યેય એ છે કે એકવાર કાર્ય સ્થિર થઈ જાય પછી ફરીથી હાઈ કેશ રીયુઝ (high cache reuse) પર પાછા આવવું.
જો તમે ફક્ત એક જ પ્રોમ્પ્ટ ટેસ્ટ કરો છો, તો તમે ખોટી વસ્તુ ટેસ્ટ કરી રહ્યા છો. કોડિંગ એજન્ટ્સ માટે, તમારે લાંબા ગાળાની સ્થિરતા (long-run stability) ટેસ્ટ કરવી જોઈએ.
શું તમે સિંગલ GPU પર એજન્ટ લૂપ્સ રન કરી રહ્યા છો? તમે KV cache અથવા prefix caching માટે કઈ ટ્રિક્સનો ઉપયોગ કરો છો?
વૈકલ્પિક લર્નિંગ કોમ્યુનિટી: https://t.me/GyaanSetuAi