64K-ટોકન પ્રોમ્પ્ટ્સ પર vLLM એ SGLang ને હરાવે છે, પરંતુ 8-GPU B300 સર્વર પર જ્યારે કોન્ટેક્સ્ટ 200K પર પહોંચે છે ત્યારે SGLang આગળ નીકળી જાય છે. આ ફેરફાર દર્શાવે છે કે જેમ જેમ ટોકન વિન્ડોઝ વધે છે તેમ તેમ પ્રીફિલ (prefill) કાર્ય નહીં, પરંતુ ડિકોડ-સ્ટેજ (decode-stage) બોટલનેક (bottlenecks) પરફોર્મન્સ નક્કી કરે છે.
આ બેન્ચમાર્ક શા માટે મહત્વપૂર્ણ છે
લોંગ-કોન્ટેક્સ્ટ ઇન્ફરન્સ (Long-context inference) ચેટ આસિસ્ટન્ટ્સ, કોડ આસિસ્ટન્ટ્સ અને મેમરીમાં લાખો ટોકન્સ રાખવા માટે જરૂરી કોઈપણ એપ્લિકેશન માટે ખર્ચ વધારે છે. Kimi-K3, એક લાર્જ-પેરામીટર મોડેલ છે, જે આવા વિન્ડોઝને આરામથી હેન્ડલ કરી શકે તેવા પ્રથમ ઓપન-વેઇટ LLMs માંથી એક છે, પરંતુ તેને ચલાવતું એન્જિન નક્કી કરે છે કે વિનંતી સેકન્ડોમાં પૂરી થશે કે મિનિટોમાં.
vLLM અને SGLang બંને હાઇ-થ્રુપુટ ઇન્ફરન્સનું વચન આપે છે, છતાં તેઓ ડિકોડ સ્ટેજ માટે વિરોધી અભિગમો અપનાવે છે. vLLM ડિકોડ પાથને સરળ રાખે છે, જેનાથી Decode Context Parallelism (DCP) દ્વારા આવતા વધારાના સિંક્રનાઇઝેશન (synchronization) થી બચી શકાય છે. SGLang DCP નો ઉપયોગ કરીને key-value (KV) કેશ રીડ્સને અનેક GPUs પર ફેલાવે છે, જે એક એવી ટેકનિક છે જે વધારાના કોમ્યુનિકેશનના ખર્ચે મેમરી બેન્ડવિડ્થને સંતુલિત કરી શકે છે.
ટેસ્ટબેડ (The testbed)
- Hardware: આઠ NVIDIA B300 GPUs ધરાવતું એક સિંગલ સર્વર, જેમાં દરેકની મેમરી સમાન છે.
- Workloads: બે કોન્ટેક્સ્ટ-લેન્થ સેટિંગ્સ – 64K ટોકન્સ ("લોંગ કોન્ટેક્સ્ટ" ની નીચલી મર્યાદા) અને 200K ટોકન્સ (ઘણા રિસર્ચ ડેમો દ્વારા લક્ષ્ય રાખવામાં આવતી ઉપલી મર્યાદા).
- Metrics: પ્રોમ્પ્ટ્સના નિશ્ચિત બેચને પ્રોસેસ કરવા માટેનો કુલ સમય; થ્રુપુટ સમયના તફાવત પરથી મેળવવામાં આવે છે.
અમે બેચ સાઈઝ, મોડેલ વેટ્સ અને મેમરી-યુટિલાઇઝેશન લક્ષ્યોને સ્થિર રાખ્યા હતા. રન વચ્ચે અમે ફક્ત ઇન્ફરન્સ એન્જિનમાં ફેરફાર કર્યો હતો.
મુખ્ય આંકડાઓ
| કોન્ટેક્સ્ટ (Context) | એન્જિન (Engine) | સમય (સેકન્ડમાં) | સાપેક્ષ ઝડપ |
|---|---|---|---|
| 64 K | vLLM | 100.5 | – |
| SGLang | 150.8 | vLLM ≈ 1.5× ઝડપી | |
| 200 K | vLLM | 295.2 | – |
| SGLang | 225.3 | SGLang ≈ 1.31× ઝડપી |
જ્યારે કોન્ટેક્સ્ટ વધ્યો ત્યારે vLLM માટે થ્રુપુટ (સેકન્ડ દીઠ ટોકન્સ) માં મોટો ઘટાડો જોવા મળ્યો: 64K થી 200K સુધીમાં 3.29× નો ઘટાડો. SGLang નો થ્રુપુટ તે જ રેન્જમાં માત્ર 1.25× ઘટ્યો.
આ તફાવત ક્યાંથી આવે છે
બંને એન્જિન પ્રીફિલ સ્ટેજ (prefill stage) – પ્રોમ્પ્ટને KV કેશમાં લોડ કરવામાં – સમાન સમય વિતાવે છે. તફાવત ડિકોડ સ્ટેજમાં જોવા મળે છે, જ્યાં મોડેલ એક પછી એક ટોકન્સ જનરેટ કરે છે.
- 64K ટોકન્સ: inter-GPU કોમ્યુનિકેશન મુખ્ય ભૂમિકા ભજવે છે. vLLM નો સિંગલ-GPU ડિકોડ પાથ DCP દ્વારા જરૂરી વધારાના સિંક્રનાઇઝેશનને ટાળે છે, જેનાથી તે લગભગ 1.5× ઝડપથી પૂર્ણ થાય છે.
- 200K ટોકન્સ: KV કેશ એટલી મોટી થઈ જાય છે કે તેને વાંચવું એ બોટલનેક બની જાય છે. SGLang નું DCP, જે 8 ના કદ પર સેટ કરેલું છે, તે આ રીડ્સને આઠેય GPUs પર વહેંચે છે. બેન્ડવિડ્થનો ફાયદો કોમ્યુનિકેશન પેનલ્ટી કરતા વધી જાય છે, જે SGLang ને સ્પષ્ટ લીડ આપે છે.
એક ગૌણ, વ્યવહારુ અવલોકન મેમરી પ્રેશર (memory pressure) ને લગતું છે. કોઈપણ એન્જિનને 0.95 મેમરી-યુટિલાઇઝેશન લક્ષ્ય પર ચલાવવાથી B300 પર out-of-memory (OOM) રીટ્રાયઝ ટ્રિગર થયા હતા. લક્ષ્યને ઘટાડીને 0.92 કરવાથી રીટ્રાયઝ દૂર થયા અને રનટાઇમ સ્થિર થયા, જોકે તેનાથી લેટન્સીમાં (latency) થોડો વધારો થયો.
કોણ જીતે છે, કોણ હારે છે
- ટૂંકાથી મધ્યમ કોન્ટેક્સ્ટ ધરાવતા ડેવલપર્સ (≤ 64K ટોકન્સ) ને vLLM ના લિન ડિકોડ પાથથી વધુ ફાયદો થાય છે. ઝડપી ટર્ન-અરાઉન્ડ એટલે ક્લાઉડ-કમ્પ્યુટ બિલમાં ઘટાડો અને વધુ સારો યુઝર-એક્સપિરિયન્સ.
- ડીપ-એનાલિસિસ અથવા રિસર્ચ ટૂલ્સ બનાવતી ટીમો જેમને કોન્ટેક્સ્ટમાં લાખો ટોકન્સ રાખવાની જરૂર છે, તેમણે DCP સક્ષમ કરેલા SGLang તરફ વળવું જોઈએ. તેનો સ્થિર થ્રુપુટ ટાઈમ-આઉટનું જોખમ ઘટાડે છે અને મેમરીની માંગ વધતા GPU યુટિલાઇઝેશનને ઊંચું રાખે છે.
- હાર્ડવેર પ્લાનર્સ જોઈ શકે છે કે માત્ર GPU ની સંખ્યા જ લિનિયર સ્કેલિંગની ખાતરી આપતી નથી. જ્યારે KV બેન્ડવિડ્થ મુખ્ય અવરોધ (choke point) બને છે, ત્યારે એવી આર્કિટેક્ચર્સ જે કેશ રીડ્સને પેરેલલ કરી શકે છે – કાં તો DCP દ્વારા અથવા ભવિષ્યના મેમરી-સબસિસ્ટમ અપગ્રેડ દ્વારા – તે સમાન સિલિકોનમાંથી વધુ મૂલ્ય મેળવશે.
કાઉન્ટર-પોઈન્ટ: શું vLLM આ તફાવત ઘટાડી શકે છે?
જ્યાં સુધી નવો ડેટા ન મળે ત્યાં સુધી, વર્તમાન આંકડા શ્રેષ્ઠ જાહેર સરખામણી તરીકે રહે છે.
આગળ શું જોવું
- વધારે મોટા કોન્ટેક્સ્ટ વિન્ડોઝ KV બેન્ડવિડ્થ પર વધુ દબાણ લાવશે, જે સંભવતઃ SGLang ની લીડને વધુ વધારી શકે છે.
નિષ્કર્ષ (Bottom line)
જ્યારે તમારે B300-આધારિત ક્લસ્ટર પર લોંગ-કોન્ટેક્સ્ટ વિનંતીઓ સર્વ કરવાની જરૂર હોય, ત્યારે તમારા ટોકન વિન્ડો સાથે મેળ ખાતું એન્જિન પસંદ કરો. 64K-ટોકન વર્કલોડ માટે, vLLM અંદાજે 1.5× ઝડપી ઇન્ફરન્સ આપે છે. 200K ટોકન્સથી આગળ વધતા, SGLang નું DCP-સંચાલિત ડિકોડ વધુ કાર્યક્ષમ પસંદગી બને છે, કારણ કે તેનો થ્રુપુટ vLLM ના 3.29× ઘટાડાની સરખામણીમાં માત્ર 1
