Blackwell-ൽ Qwen ഹോസ്റ്റ് ചെയ്യുന്നു
NVIDIA GB200 NVL72 റാക്കുകളിൽ Qwen3 235B എങ്ങനെ സേവ് ചെയ്യാം, മോഡൽ കൃത്യത നിലനിർത്തി ഇൻഫറൻസ് ചെലവ് കുറയ്ക്കാം.
72-വേ NVLink വഴി പരസ്പരം ബന്ധിപ്പിച്ചിരിക്കുന്ന NVIDIA Blackwell GPU-കളുള്ള NVIDIA GB200 NVL72 റാക്കുകൾ വലിയ മിക്സ്ചർ ഓഫ് എക്സ്പെർട്സ് (MoE) മോഡലുകൾ വിന്യചിക്കുന്നതിന് അനുയോജ്യമാണ്. പെർപ്ലെക്സിറ്റിയുടെ ട്രാഫിക്കിന്റെ ഒരു ഭാഗം കൈകാര്യം ചെയ്യുന്ന പോസ്റ്റ്-ട്രെയിൻഡ് Qwen3 235B മോഡലുകൾ സേവനം നൽകുന്ന ഇൻഫറൻസ് സജ്ജീകരണത്തെക്കുറിച്ച് ഈ ബ്ലോഗ് പോസ്റ്റിൽ ഞങ്ങൾ വിവരിക്കുന്നു. NVIDIA Blackwell GPU-കളുടെ നൂതന ടെൻസർ കോറുകളും ഹൈ-സ്പീഡ് ഇന്റർകണക്റ്റും പ്രയോജനപ്പെടുത്തുന്നതിനായി ഞങ്ങളുടെ ഇൻ-ഹൗസ് ഇൻഫറൻസ് എഞ്ചിൻ ഞങ്ങൾ എങ്ങനെ അനുയോജ്യമാക്കി എന്ന് ഞങ്ങൾ കാണിക്കുന്നു. ഈ ഹാർഡ്വെയർ ഉപയോഗിച്ച്, അടിസ്ഥാന മോഡലുകളുടെ കൃത്യതയിൽ വിട്ടുവീഴ്ച ചെയ്യാതെ കുറഞ്ഞ ചെലവിൽ ഞങ്ങൾ കൂടുതൽ ട്രാഫിക് കൈകാര്യം ചെയ്യുന്നു.
GB200 NVL72-ൽ വിന്യചിക്കുന്നു
GB200 NVL72 റാക്കുകൾ 18 നോഡുകൾ ഉൾക്കൊള്ളുന്നതാണ്, അവയിൽ 2 ARM അധിഷ്ഠിത NVIDIA Grace CPU-കളും 4 Blackwell അധിഷ്ഠിത GPU-കളും അടങ്ങിയിരിക്കുന്നു, ഓരോന്നും 180GB HBM സജ്ജീകരിച്ചിരിക്കുന്നു. 72 GPU-കളും NVLink, 18 NVLink സ്വിച്ച് ASIC-കൾ എന്നിവ വഴി പരസ്പരം ബന്ധിപ്പിച്ചിരിക്കുന്നു, ഇത് ഏതെങ്കിലും രണ്ട് പിയറുകൾക്കിടയിൽ 1800 GB/s ബാൻഡ്വിഡ്ത്ത് നൽകുകയും ട്രില്യൺ പാരാമീറ്റർ മോഡലുകൾ ഹോസ്റ്റ് ചെയ്യാൻ പര്യാപ്തമായ മെമ്മറി പങ്കിടുകയും ചെയ്യുന്നു. കൂടാതെ, ConnectX-7 InfiniBand അഡാപ്റ്ററുകൾ റാക്കിന്റെ നോഡുകൾക്കുള്ളിലും അടുത്തുള്ള റാക്കുകൾക്കിടയിലും അധികമായി 400 Gb/s ബാൻഡ്വിഡ്ത്ത് നൽകുന്നു.
ട്രാഫിക് കൈകാര്യം ചെയ്യുന്നതിനായി, Qwen മോഡലുകൾ പോസ്റ്റ്-ട്രെയിൻ ചെയ്ത് സർവ് ചെയ്യാൻ ഞങ്ങൾ തീരുമാനിച്ചു. ഈ ബ്ലോഗ് പോസ്റ്റിൽ, ഞങ്ങൾ Qwen3 235B-യെയാണ് ശ്രദ്ധിക്കുന്നത്, എന്നാൽ ചർച്ച ചെയ്യുന്ന സർവിംഗ് സാങ്കേതികതകളുടെയും പ്രകടന സവിശേഷതകളുടെയും പലതും ഞങ്ങൾ മൈഗ്രേറ്റ് ചെയ്യിക്കൊണ്ടിരിക്കുന്ന പുതുതായുള്ള Qwen3.5 397B, 122B മോഡലുകളുടേതിനോട് സമാനമാണ്. പാരലലിസത്തിന്റെ കാര്യത്തിൽ, ലീനിയർ അറ്റൻഷൻ ഫുൾ സെൽഫ് അറ്റൻഷനുമായി സമാനമാണ്, കൂടാതെ പുതിയ ഗേറ്റ് പദങ്ങൾ ഉൾക്കൊള്ളുന്നതിനായി നിലവിലുള്ള MoE ലെയർ ഇംപ്ലിമെന്റേഷൻ എളുപ്പത്തിൽ അനുയോജ്യമാക്കാൻ കഴിയും. throughput പരമാവധി ഉയർത്തുന്നതിനൊപ്പം സ്ഥിരതയുള്ള ഡീകോഡിംഗ് നിരക്ക് നിലനിർത്താൻ, ഞങ്ങൾ prefill-നെ decode-ിൽ നിന്ന് വേർതിരിച്ച്, രണ്ട് തരത്തിലുള്ള നോഡുകൾക്കും വ്യത്യസ്ത പാരലലിസം തന്ത്രങ്ങൾ വിന്യസിക്കാൻ തീരുമാനിച്ചു. Prefiller-നും decoder-നും ഇടയിലെ കമ്മ്യൂണിക്കേഷൻ InfiniBand വഴിയാണ് കൈകാര്യം ചെയ്യുന്നത്, അതേസമയം NVLink ബാൻഡ്വിഡ്ത്ത് prefillers-ഉം decoders-ഉം ഉൾപ്പെടെയുള്ള ആന്തരിക കമ്മ്യൂണിക്കേഷനുകൾക്കായി സംവരിച്ചിരിക്കുന്നു. ഈ ബ്ലോഗ് പോസ്റ്റിൽ പരിശോധിക്കുന്ന മാട്രിക്സ് ഗുണനത്തിന്റെയും ഉപകരണങ്ങൾ തമ്മിലുള്ള കമ്മ്യൂണിക്കേഷന്റെയും കാര്യത്തിൽ Blackwell ഉപകരണങ്ങളുടെ പ്രകടന സവിശേഷതകളാണ് ഉപയോഗിക്കുന്ന sharding തന്ത്രങ്ങളെ നിർണ്ണയിക്കുന്നത്. NVIDIA Hopper GPUകളുമായി താരതമ്യം ചെയ്യുമ്പോൾ, കൂടുതൽ streaming multiprocessors, വർദ്ധിച്ച memory bandwidth, കുറവായ peer-to-peer latency എന്നിവ മൂലം kernel-by-kernel പുരോഗതികൾ ഞങ്ങൾ കാണുന്നു.
വേർപെടുത്തിയ പ്രീഫിൽ നടപ്പിലാക്കുന്ന ഞങ്ങളുടെ TransferEngine, പ്രീഫില്ലറുകളിലും ഡീകോഡറുകളിലും ഏകപക്ഷീയവും പൊരുത്തപ്പെടാത്തതുമായ ഷാർഡിംഗ് കൈകാര്യം ചെയ്തു. ഡീകോഡർ നോഡിലേക്കുള്ള കൈമാറ്റ സമയത്ത് പ്രീഫില്ലറിലെ ഷാർഡ് ചെയ്ത KV കാഷെ ഫ്ലൈറ്റിൽ കൂടുതൽ വിഭജിക്കാനോ സംയോജിപ്പിക്കാനോ അനുവദിക്കുന്നതിന്, KV കാഷെകൾ മെമ്മറിയിൽ HND ക്രമത്തിലാണ് സജ്ജീകരിച്ചിരിക്കുന്നത്, ലീഡിംഗ് ഡയമൻഷനിൽ ഹെഡുകളും ടോക്കണുകൾ തുടർച്ചയായി സൂക്ഷിച്ചിരിക്കുന്നു.
പ്രീഫില്ലറുകൾ
പ്രീഫില്ലർ നോഡുകൾ ഒരു അഭ്യർത്ഥനയുടെ ഇൻപുട്ട് ടോക്കണുകൾ സ്വീകരിക്കുകയും, KV കാഷെകൾ ജനസംഖ്യ ചെയ്യുകയും, ടെക്സ്റ്റ് ജനറേഷൻ തുടരാൻ അവയെ ഡീകോഡറുകളിലേക്ക് കൈമാറുകയും ചെയ്യുന്നു. ഒരു ക്രമത്തിന് കീഴിലുള്ള ആയിരക്കണക്കിന് ടോക്കണുകൾ ഒരേ സമയം പ്രോസസ്സ് ചെയ്യപ്പെടുന്നതിനാൽ പ്രീഫിൽ കമ്പ്യൂട്ടേഷണൽ പരമായി തീവ്രമാണ്.
അതിനെത്തുടർന്ന്, tensor parallel deployment അനുയോജ്യമാണെന്ന് ഞങ്ങൾ കണ്ടെത്തി; മോഡൽ ഒരു ഏക GB200 node-ിനുള്ളിൽ 4 GPUകളിലായി sharded ആകുകയും projections-ും experts-ും sharded ആകുകയും ചെയ്യുന്നു (TP=4, EP=4). attention ഉം MLPകളും compute-bound ആയതിനാൽ, രണ്ടും parallelism-ൽ നിന്ന് നേട്ടം ലഭിക്കുന്നു; experts-ിനെയും attention heads-നെയും വ്യത്യസ്ത ranks-ലായി വിതരണം ചെയ്യുന്നു. കൂടുതൽ parallelism ഉണ്ടായിരുന്നെങ്കിൽ നേട്ടം ക്രമേണ കുറയുമായിരുന്നു, കാരണം ഓരോ rank-ിലും കുറവ് experts ഹോസ്റ്റ് ചെയ്യുന്നതിലൂടെ ലഭിക്കുന്ന throughput മെച്ചപ്പെടുത്തൽ (16 vs 32) 8-way all-reduce-ിന്റെ അധിക ചെലവിനെയും host-side code രണ്ടായി വിഭജിച്ച് രണ്ട് nodes-ിലായി പ്രവർത്തിപ്പിക്കേണ്ടതിന്റെ ഓവർഹെഡിനെയും, Ethernet വഴിയുള്ള കമ്മ്യൂണിക്കേഷൻ ആവശ്യമായതിനെയും പരിഹരിക്കാൻ മതിയായിരുന്നില്ല.
Qwen3 235B-യ്ക്ക് വെറും 4 key-value heads മാത്രമാണുള്ളത്; അതിനാൽ 8 devices ഉപയോഗിക്കുന്നുവെങ്കിൽ kയും v projections ഉം rank ജോഡിയുകളിലായി പകർന്നു വയ്ക്കേണ്ടതുണ്ട്. ഓരോ rank-ലും weights സംഭരിക്കാൻ ആവശ്യമായ memoryയുടെ അളവ് കുറയ്ക്കുന്നതിനായി, അതുവഴി KV cache-ൽ കൂടുതൽ tokens-നായി സ്ഥലം ഒഴിവാക്കുന്നതിനായി, കൂടുതൽ ആക്രാമകമായ sharding പരിഗണിക്കാമായിരുന്നു. എങ്കിലും, കൂടുതൽ വ്യാപകമായ deployment മൂല്യമുള്ളതല്ലെന്ന് ഞങ്ങൾ കണ്ടെത്തി.
ഏകദേശം 6000 ടോക്കണുകളുടെ ഇൻപുട്ട് നീളം അനുമാനിക്കുമ്പോൾ, 128 എക്സ്പെർട്ടുകളിൽ ഓരോന്നിനും 6000 * 8 / 128 = 375 ടോക്കണുകൾ റൂട്ട് ചെയ്യപ്പെട്ടിരിക്കുന്നു, ഇത് MoE GEMM-ന് ഒരു ഡെൻസ് പ്രശ്നം ഉറപ്പാക്കുന്നു. ഇത് ഇതിനകം തന്നെ ഉപകരണത്തിന്റെ കമ്പ്യൂട്ടേഷണൽ ത്രൂപുട്ട് സാച്ചുറേറ്റ് ചെയ്യുന്നതിനാൽ, പ്രീഫില്ലിന് ഡാറ്റ പാരലലിസം ആവശ്യമില്ല.
അറ്റൻഷന്റെ വർദ്ധിച്ചുവരുന്ന ക്വാഡ്രാറ്റിക് ചെലവ് ഉണ്ടായിരുന്നിട്ടും, പ്രീഫില്ലറുകൾ സ്ഥിരമായ ത്രൂപുട്ട് നൽകുന്നു, ഒരു നോഡിന് ഒരു സെക്കൻഡിൽ പ്രോസസ്സ് ചെയ്യാൻ കഴിയുന്ന ഇൻപുട്ട് ടോക്കണുകളുടെ എണ്ണത്തിന് ഒരു പരുക്കൻ കണക്കാക്കൽ അനുവദിക്കുന്നു. അഭ്യർത്ഥനകളിൽ നിന്നുള്ള മൊത്തം ഇൻപുട്ട് ടോക്കണുകളുടെ എണ്ണം ട്രാക്ക് ചെയ്യുന്ന മെട്രിക്സിനെ ആശ്രയിച്ച്, മൊത്തത്തിലുള്ള പ്രീഫിൽ ത്രൂപുട്ട് അതിനനുസരിച്ച് വലുതാണെന്ന് ഉറപ്പാക്കാൻ പ്രീഫില്ലർ നോഡുകളുടെ എണ്ണം സ്കെയിൽ അപ്പ് ചെയ്യാം. ക്യൂവിംഗ് ഒഴിവാക്കാൻ, പ്രീഫില്ലർ റെപ്ലിക്കകളുടെ എണ്ണം ലഭിച്ച മൊത്തം ഇൻപുട്ട് ടോക്കണുകളുടെ എണ്ണവുമായി പൊരുത്തപ്പെടുത്തുന്നു.
ഡീകോഡറുകൾ
ഡീകോഡർ നോഡുകൾ പ്രീഫില്ലറുകളിൽ നിന്ന് KV കാഷെകൾ സ്വീകരിക്കുകയും ഓരോന്നായി ടോക്കണുകൾ ജനറേറ്റ് ചെയ്യുകയും ചെയ്യുന്നു. ഡീകോഡ് പൊതുവെ മെമ്മറി ബൗണ്ടാണ്: കുറഞ്ഞ ഇൻപുട്ട് ടോക്കണുകൾ ഉള്ളപ്പോൾ, മാട്രിക്സ് ഗുണനം പൂർണ്ണമായും HBM-ൽ നിന്ന് ടെൻസർ കോറുകളിലേക്ക് വെയ്റ്റുകൾ ലോഡ് ചെയ്യുന്നതിന്റെ ചെലവിലാണ് ബന്ധപ്പെട്ടിരിക്കുന്നത്. വ്യത്യസ്ത ഷാർഡിംഗ് തന്ത്രം ഉപയോഗിക്കുന്നതിന് പുറമേ, കമ്പ്യൂട്ടേഷനുകളും മെമ്മറി ആക്സസുകളും മികച്ച രീതിയിൽ പാരലലൈസ് ചെയ്യാൻ നിരവധി കർണലുകൾ ട്വീക്ക് ചെയ്യേണ്ടതുണ്ട്.
prefill-നു വിപരീതമായി, attention sharding ഇനി പ്രയോജനകരമല്ല: multiple devices-ലായി attention heads വിഭജിക്കുന്നത് ഒരൊറ്റ device-ിനുള്ളിലെ parallelism അവസരങ്ങൾ കുറയും എന്നർത്ഥമാണ്. അതിനാൽ data parallelism-ഉം expert parallelism-ഉം മാത്രമാണ് ഉപയോഗിക്കുന്നത്: experts multiple devices-ലായി sharded ആണ്, എന്നാൽ ഓരോ device-വും സ്വന്തം KV caches-ഉം requests-ഉം കൈകാര്യം ചെയ്യുന്നു. tensor parallelism ഇല്ലാത്തതിനാൽ, ഒരു device-ിലെ per-token KV cache വലുപ്പം കൂടുതലാണ്. എന്നാൽ, ഒരു single node-ിൽ കുറച്ച് experts മാത്രമാക്കി സ്ഥിതിചെയ്യുന്നതിലൂടെ memory-യിൽ സ്ഥലം ഒഴിവാകുന്നു. 8-GPU node-ിലെ single NVLink domain-ിനുള്ളിൽ tensor parallelism പരിമിതപ്പെടുത്തിയിരുന്ന Hopper-നോട് വ്യത്യസ്തമായി, Blackwell-ിൽ ഒരു domain-ിനുള്ളിൽ multiple nodes-ലായി, പരമാവധി 16 devices വരെ വ്യാപിപ്പിക്കുന്നത് പ്രയോജനകരമാണെന്ന് ഞങ്ങൾ കണ്ടെത്തി.
ത്രൂപുട്ട് പരമാവധി വർദ്ധിപ്പിക്കാൻ, ഡീകോഡറുകൾ ഒരേസമയം കൂടുതൽ എണ്ണം അഭ്യർത്ഥനകൾ പ്രോസസ്സ് ചെയ്യുന്നു. അധിക അഭ്യർത്ഥനകൾ MoE ലെയറുകളിലും മറ്റ് പ്രൊജക്ഷനുകളിലും കുറഞ്ഞ ഓവർഹെഡ് ഉണ്ടാക്കുന്നുണ്ടെങ്കിലും, അവ അറ്റൻഷന്റെ ചെലവ് ആനുപാതികമല്ലാതെ വർദ്ധിപ്പിക്കുന്നു. ന്യായമായ ഏറ്റവും കുറഞ്ഞ ഡീകോഡിംഗ് വേഗത നിലനിർത്താൻ, പെർ-ഡീകോഡർ ബാച്ച് വലുപ്പങ്ങൾ ഒരു നിശ്ചിത പരിധിക്ക് താഴെ നിലനിർത്താൻ ഡീകോഡർ നോഡുകളുടെ എണ്ണം സ്കെയിൽ ചെയ്യപ്പെടുന്നു.
മുൻകാല Hopper വിന്യാസങ്ങൾക്ക് സമാനമായി, ഡീകോഡിംഗ് നിരക്ക് വർദ്ധിപ്പിക്കുന്നതിന് ഞങ്ങൾ ഇൻ-ഹൗസ് പരിശീലിപ്പിച്ച MTP ലെയറുകൾക്കൊപ്പം സ്പെക്കുലേറ്റീവ് ഡീകോഡിംഗ് ഉപയോഗിക്കുന്നു. ഭാഗ്യവശാൽ, അന്തർലീനമായ ഹാർഡ്വെയറും പ്രോഗ്രാമിംഗ് ഫ്രെയിംവർക്കുകളും രണ്ട് ആർക്കിടെക്ചറുകൾക്കുമിടയിൽ ഇംപ്ലിമെന്റേഷൻ പൂർണ്ണമായി പങ്കിടാൻ പര്യാപ്തമാണ്.
നോഡിനുള്ളിലെയും നോഡുകൾ തമ്മിലുള്ളതുമായ ആശയവിനിമയം
GB200 NVL72-ഉം മുൻകാല Hopper നോഡുകളും തമ്മിലുള്ള പ്രധാന വ്യത്യാസം വലിയ NVLink ഡൊമെയ്നാണ്, ഇത് 8 ഉപകരണങ്ങളുടെ മുൻകാല പരിധിക്കപ്പുറമുള്ള പിയർ-ടു-പിയർ ആശയവിനിമയം സാധ്യമാക്കുന്നു. Blackwell ഉപകരണങ്ങൾ 8-GPU നോഡുകളിൽ വിന്യചിച്ചിട്ടുണ്ടെങ്കിലും, മന്ദഗതിയിലുള്ള InfiniBand നെറ്റ്വർക്കുമായി താരບ് ചെയ്യുമ്പോൾ NVLink വഴി ഒന്നിലധികം നോഡുകളിൽ സ്കെയിൽ ചെയ്യുന്നതിൽ വലിയ മൂല്യമുണ്ട്.
പ്രീഫില്ലർ നോഡുകളിൽ, അറ്റൻഷൻ ലെയറുകൾക്കുള്ളിലെ ഓൾ-റെഡ്യൂസ് ആശയവിനിമയത്തെയും ഓൾ-റെഡ്യൂസിനോട് വളരെ സാമ്യമുള്ള ഒരു എക്സ്പെർട്ട് പാരലൽ റിഡക്ഷനെയും ഞങ്ങൾ ആശ്രയിക്കുന്നു. 4 GPU-കളിൽ, ഞങ്ങൾ NVLink, NVIDIA SHARP (Scalable Hierarchical Aggregation and Reduction Protocol) എന്നിവ പ്രയോജനപ്പെടുത്തുന്നു: പിയർ-ടു-പിയർ ബാൻഡ്വിഡ്ത്തിന് പുറമേ, ലേറ്റൻസികൾ കൂടുതൽ കുറയ്ക്കുന്നതിനും ഫാസ്റ്റ് ബ്രോഡ്കാസ്റ്റുകൾ നടപ്പിലാക്കുന്നതിനും ഞങ്ങൾ NVLink സ്വിച്ചുകളിലെ റിഡക്ഷനുകളും ചൂഷണം ചെയ്യുന്നു. ഡീകോഡർ നോഡുകളിൽ, NVLink വഴി ഒരു കസ്റ്റം ഓൾ-ടു-ഓൾ ഡിസ്പാച്ച്, കമ്പൈൻ ഇംപ്ലിമെന്റേഷൻ ഉപയോഗിക്കുന്നു. CuTeDSL, cuMem മാപ്പിംഗുകൾ അല്ലെങ്കിൽ മൾട്ടികാസ്റ്റ് മാപ്പിംഗുകൾ ഉപയോഗിച്ച് കർണലുകൾ ഇൻ-ഹൗസ് ആയി നടപ്പിലാക്കിയിട്ടുണ്ട്.
ഓൾ-റെഡ്യൂസ്
prefillers attention layer-ിന്റെ output projection-ിൽ ഒരു all-reduce operation നിർവഹിക്കുന്നു, പങ്കെടുക്കുന്ന ranks-ൽ sharded ആയ heads-ിന്റെ സംഭാവനകൾ കൂട്ടിച്ചേർത്ത്. ചെറിയ matrix multiplication പ്രശ്നങ്ങൾക്കായി ലഭിക്കുന്ന കുറഞ്ഞ latency, all-reduce ഓവർഹെഡിന്റെ ചെലവിനെ മറികടക്കുന്നുവെങ്കിൽ മാത്രമേ tensor parallelism ഫലപ്രദമാകൂ. ഈ അനുമാനം സാധാരണയായി prefill-നായി ശരിയാകുന്നു.
ഡാറ്റാസെന്റർ-ഗ്രേഡ് NVIDIA HGX H200, GB200 NVL72 സിസ്റ്റങ്ങളിൽ, GPU-കൾ സാധാരണയായി NVLink സ്വിച്ചുകൾ വഴിയാണ് ബന്ധിപ്പിച്ചിരിക്കുന്നത്. റൂട്ടിംഗിന് പുറമേ, SHARP വഴി കണക്റ്റുചെയ്ത ഉപകരണങ്ങളിൽ സ്വിച്ചുകൾക്ക് റിഡക്ഷൻ പ്രവർത്തനങ്ങൾ നടത്താൻ കഴിയും. മെമ്മറി മാപ്പിംഗുകൾ സൃഷ്ടിക്കുകയും CUDA API-കൾ ഉപയോഗിച്ച് ഒരു മൾട്ടികാസ്റ്റ് ഗ്രൂപ്പിൽ രജിസ്റ്റർ ചെയ്യുകയും ചെയ്ത ശേഷം, സ്വിച്ചുകൾ വഴി മൂല്യങ്ങൾ അഗ്രഗേറ്റ് ചെയ്യാനും ബ്രോഡ്കാസ്റ്റ് ചെയ്യാനും കർണലുകൾക്ക് multicast.ld_reduce, multicast.st എന്നിവ ഉപയോഗിക്കാം. മറ്റ് കർണലുകളിലേക്ക് ഫ്യൂസ് ചെയ്യാൻ കഴിയുന്ന ഒരു ഫൗണ്ടേഷനും പുനരുപയോഗിക്കാവുന്ന ഘടകങ്ങളും സൃഷ്ടിക്കുന്നതിന്, ഞങ്ങൾ ആന്തരികമായി ഈ പ്രിമിറ്റീവുകൾ ഉപയോഗിക്കുന്ന ഒരു CuTeDSL ഓൾ-റെഡ്യൂസ് കർണൽ പരിപാലിക്കുന്നു.
B ബൈറ്റുകൾ റിഡ്യൂസ് ചെയ്യുന്ന N GPU-കൾ ഉള്ള ഒരു സിസ്റ്റത്തിൽ, ഒരു നിസ്സാരമായ ഇംപ്ലിമെന്റേഷന് എല്ലാ മറ്റ് പിയറുകളിൽ നിന്നും ഒരു പിയർ ലോഡ് മൂല്യങ്ങൾ ഉണ്ടാകും, മൊത്തം N * (N - 1) * B ബൈറ്റുകൾ റീഡ് ട്രാഫിക്. കൂടുതൽ കാര്യക്ഷമമായ ഒരു ഇംപ്ലിമെന്റേഷൻ റിഡ്യൂസ് ചെയ്യേണ്ട ഡാറ്റയെ പിയറുകൾക്കിടയിൽ വിഭജിക്കും, ഓരോന്നും ഇൻപുട്ടിന്റെ ഒരു സ്ലൈസ് റിഡ്യൂസ് ചെയ്യുന്നു, തുടർന്ന് അത് ബാക്കിയുള്ളവയിലേക്ക് ബ്രോഡ്കാസ്റ്റ് ചെയ്യുന്നു. ഇത് ഒരു പിയറിലേക്ക് റീഡ് ചെയ്യപ്പെടുന്ന (N - 1) * (B / N) ബൈറ്റുകളിലും ബാക്കിയുള്ളവയിലേക്ക് ബ്രോഡ്കാസ്റ്റ് ചെയ്യപ്പെടുന്നതിലും കലാശിക്കുന്നു, മൊത്തം (N - 1) * B * 2 റീഡുകളും റൈറ്റുകളും, സ്വിച്ചുകൾ വഴിയുള്ള ട്രാഫിക് കുറയ്ക്കുന്നു.
SHARP ഉപയോഗിച്ച്, റിഡക്ഷനും ബ്രോഡ്കാസ്റ്റും കൂടുതൽ കാര്യക്ഷമമായി നിർവഹിക്കാൻ കഴിയും: ലോക്കൽ അക്കുമുലേഷനായി ഒരു ഉപകരണത്തിലേക്ക് (N - 1) * (B / N) ബൈറ്റുകൾ റീഡ് ചെയ്യുന്നതിന് പകരം, B / N മാത്രം സ്വിച്ചിൽ നിന്ന് നീക്കപ്പെടുന്നു, കാരണം ഇത് പിയറുകളിൽ നിന്നുള്ള ഡാറ്റ ഉപയോഗിച്ച് റിഡക്ഷൻ തന്നെ നിർവഹിക്കുന്നു. ബ്രോഡ്കാസ്റ്റിനായി, സമാനമായ ഒരു മെച്ചപ്പെടുത്തലുണ്ട്, കാരണം NVLink ചാനലുകൾ വഴി ഒരു GPU-നും സ്വിച്ചിനും ഇടയിലുള്ള ട്രാൻസാക്ഷനുകളുടെ എണ്ണം വളരെ കുറവാണ്. SHARP ഇല്ലാതെ, അക്കുമുലേറ്റ് ചെയ്യുന്ന ഉപകരണം സ്വിച്ചുമായി NVLink വഴി (N - 1) * (B / N) ട്രാൻസാക്ഷനുകൾ നടത്തുമായിരുന്നു, സ്വിച്ച് പിയറുകളിൽ നിന്ന് അതേ അളവിലുള്ള ഡാറ്റ റീഡ് ചെയ്യുന്നു, മൊത്തം 2 * (N - 1) * (B / N) ട്രാൻസാക്ഷനുകൾ. SHARP ഉപയോഗിച്ച്, GPU-നും സ്വിച്ചിനും ഇടയിൽ B / N ട്രാൻസാക്ഷനുകളും പിയറുകളുമായി (N - 1) * (B / N) അധിക ട്രാൻസാക്ഷനുകളും നടപ്പിലാക്കപ്പെടുന്നു, മൊത്തം B ട്രാൻസാക്ഷനുകൾ.
അതിന്റെ ലാളിത്യം കാരണം, SHARP ഒരു വിലപ്പെട്ട ഉപകരണമാണ്, കാരണം ഇത് ഒരു അൽഗോരിതത്തിനായി ഒരു നേരായ ഹാർഡ്വെയർ ഇംപ്ലിമെന്റേഷൻ നൽകുന്നു. കൈമാറ്റങ്ങൾ സൈദ്ധാന്തികമായ N / (2 * (N - 1)) ഫ്രാക്ഷൻ വഴി കുറച്ചുവെങ്കിൽ പോലും (ഇത് 4 പിയറുകൾ ഉപയോഗിച്ച് 33% ആയി കണക്കാക്കുന്നു), പ്രായോഗികമായി H200, GB200 NVL72 സിസ്റ്റങ്ങളിൽ പ്രീഫിൽ, ഡീകോഡ് ലേറ്റൻസികളിൽ 10% മെച്ചപ്പെടുത്തൽ ഞങ്ങൾ നിരീക്ഷിക്കുന്നു.
MoE ഡിസ്പാച്ച് - കമ്പൈൻ
MoE മോഡലുകൾക്കായി, ഡിസ്പാച്ച്, കമ്പൈൻ കർണലുകൾ തുടർന്നുള്ള MoE GEMM പ്രശ്നങ്ങൾക്കായി പിയറുകൾക്കിടയിൽ ടോക്കണുകൾ നീക്കുകയും ഗ്രൂപ്പുചെയ്യുകയും ചെയ്യുന്നു, അതിനുശേഷം കമ്പൈനിൽ ഒരു വെയ്റ്റഡ് അക്കുമുലേഷൻ നിർവഹിക്കുന്നു. CuTeDSL-ലേക്ക് പോർട്ട് ചെയ്തും ബ്ലോക്ക് അലോക്കേഷനുകൾ ട്വീക്ക് ചെയ്തും പ്രീഫില്ലിനും ഡീകോഡിനും ഇടയിൽ അവയെ ആക്രമണാത്മകമായി സ്പെഷ്യലൈസ് ചെയ്തുകൊണ്ടും ഞങ്ങൾ ഞങ്ങളുടെ നിലവിലുള്ള ഡിസ്പാച്ച്, കമ്പൈൻ കർണലുകളെ Blackwell-ലേക്ക് അനുയോജ്യമാക്കിയിരിക്കുന്നു.
എക്സ്പെർട്ട് പാരലൽ
എക്സ്പെർട്ട് പാരലൽ (EP) കർണൽ പ്രീഫില്ലറുകളിൽ ഉപയോഗിക്കുന്നു. ഇതിന്റെ ഇൻപുട്ടുകൾ എല്ലാ റാങ്കുകളിലുമായി റെപ്ലിക്കേറ്റ് ചെയ്തിരിക്കുന്നതിനാൽ, നിലവിലെ റാങ്കിലെ എക്സ്പെർട്ടുകളിലേക്ക് റൂട്ട് ചെയ്ത ടോക്കണുകൾ ഡിസ്പാച്ച് കർണൽ ലളിതമായി തിരഞ്ഞെടുക്കേണ്ടതുണ്ട്. ഇത് റൂട്ടിംഗ് വിവരങ്ങൾ അഗ്രഗേറ്റ് ചെയ്യുകയും MoE GEMM-ലേക്കുള്ള ഇൻപുട്ടുകളായി ഉപയോഗിക്കുന്ന ബഫറുകളിലേക്ക് ടോക്കണുകൾ തയ്യാറാക്കുകയും ചെയ്യുന്നു. കമ്പൈൻ കർണൽ ആദ്യം നിലവിലെ റാങ്കിലെ എക്സ്പെർട്ടുകളിലേക്ക് റൂട്ട് ചെയ്ത ടോക്കണുകളുടെ സംഭാവനകൾക്കിടയിൽ ഒരു ലോക്കൽ അക്കുമുലേഷൻ നിർവഹിക്കുന്നു, തുടർന്ന് അത് എല്ലാ റാങ്കുകളിലുടനീളം ഒരു ഓൾ-റെഡ്യൂസ് നിർവഹിക്കുന്നു.
ഡീകോഡിനായി, მთელი കർണൽ ഒന്നിലേക്ക് ഫ്യൂസ് ചെയ്യപ്പെടുന്നു. റൂട്ടിംഗും ഓൾ-റെഡ്യൂസും ലോക്കൽ കമ്പൈൻ ഘട്ടത്തേക്കാൾ കുറച്ച് ബ്ലോക്കുകൾ ആവശ്യപ്പെടുന്നതിനാൽ പ്രീഫിൽ കർണൽ ഒന്നിലധികം കർണലുകളായി വിഭജിക്കപ്പെട്ടിരിക്കുന്നു. CuTeDSL ഉപയോഗിച്ച്, SHARP, NVLink ഓൾ-റെഡ്യൂസ്, പിയർ-ടു-പിയർ സിൻക്രൊണൈസേഷൻ എന്നിവയ്ക്കായി ഞങ്ങൾക്ക് ഒരു ജനറിക് ലൈബ്രറി നിർമ്മിക്കാൻ കഴിഞ്ഞു, അതിനെ ഓൾ-റെഡ്യൂസ്, എക്സ്പെർട്ട് പാരലൽ കർണലുകൾ എന്നിവയിലേക്ക് സംയോജിപ്പിച്ചു.
പെർഫോമൻസിന്റെ കാര്യത്തിൽ, മെച്ചപ്പെട്ട കൈമാറ്റ വേഗത, ഉയർന്ന മെമ്മറി ബാൻഡ്വിഡ്ത്ത്, മികച്ച കമ്പ്യൂട്ടേഷണൽ ത്രൂപുട്ട് എന്നിവ കാരണം Hopper-നേക്കാൾ ഗണ്യമായി വേഗതയേറിയതാണ് Blackwell എന്ന് ഞങ്ങൾ നിരീക്ഷിക്കുന്നു. 8 ഉപകരണങ്ങളിലും GB200-കളിലെ ഒന്നിലധികം നോഡുകളിലും (EP=8) ഷാർഡ് ചെയ്യുമ്പോൾ, ഓരോ ഉപകരണത്തിലും ലോക്കൽ അക്കുമുലേഷൻ വളരെ കുറച്ച് ടോക്കണുകളിൽ പ്രവർത്തിക്കുന്നതിനാൽ കർണലുകൾ വേഗതയേറിയതായിത്തീരുന്നു, കൂടാതെ SHARP ഉപയോഗിച്ച്, കൂടുതൽ റാങ്കുകളിലുടനീളമുള്ള റിഡക്ഷന്റെ ചെലവ് മികച്ച രീതിയിൽ സ്കെയിൽ ചെയ്യുന്നു. എന്നിരുന്നാലും, പ്രായോഗികമായി, ഈ സ്പീഡപ്പുകൾ എല്ലാ കർണലുകളിലും സാർവത്രികമല്ല1ാത്തതിനാൽ, ഞങ്ങൾ പാരലലിസം 4 ഉപകരണങ്ങളായി പരിമിതപ്പെടുത്തുന്നു.
ഡാറ്റ പാരലലും എക്സ്പെർട്ട് പാരലലും
ഡാറ്റ പാരലൽ, എക്സ്പെർട്ട് പാരലൽ (DP-EP) കർണൽ ഡാറ്റ പാരലൽ ഡീകോഡറുകളിൽ ഉപയോഗിക്കുന്നു. ഇത് എല്ലാ റാങ്കുകളിൽ നിന്നുമുള്ള വ്യത്യസ്ത ടോക്കണുകളെ എക്സ്പെർട്ടുകളിലേക്ക് ബ്രോഡ്കാസ്റ്റ് ചെയ്യുന്നു, ഫലങ്ങൾ ഉത്ഭവിക്കുന്ന റാങ്കുകളിലേക്ക് കൈമാറുകയും അവയെ അക്കുമുലേറ്റ് ചെയ്യുകയും ചെയ്യുന്നു. ഇത് ഒരു സ്പാഴ്സ് ഓൾ-ടു-ഓൾ പ്രശ്നം നടപ്പിലാക്കുന്നതിനാൽ, ഇത് പൂർണ്ണമായും NVLink-നെ ആശ്രയിക്കുന്നു.
Hopper-ൽ, ഈ കർണൽ ഒരൊറ്റ നോഡിന്റെ NVLink ഡൊമെയ്നുള്ളിൽ 8 ഉപകരണങ്ങളായി പരിമിതപ്പെടുത്തിയിരിക്കുന്നു. എന്നിരുന്നാലും, GB200 സിസ്റ്റങ്ങളിൽ ഞങ്ങൾക്ക് ഇതിനെ ഒരു മുഴുവൻ റാക്കിലുടനീളം സ്കെയിൽ ചെയ്യാൻ കഴിയും. കോഡിന്റെ ഭൂരിഭാഗവും പുനരുപയോഗം ചെയ്യപ്പെടുന്നു. പ്രാരംഭ സജ്ജീകരണത്തിനായി IMEX വഴി പിയർ വിവരങ്ങൾ കൈമാറാൻ ഫാബ്രിക് ഹാൻഡിലുകൾ ഉപയോഗിക്കുന്നു എന്നത് മാത്രമാണ് വ്യത്യാസം.
ഡീകോഡ് സമയത്ത് ഉണ്ടാകുന്ന കൈമാറ്റ വലുപ്പങ്ങൾ ചെറുതായതിനാൽ, അവ NVLink ബാൻഡ്വിഡ്ത്ത് സാച്ചുറേറ്റ് ചെയ്യുന്നതിൽ നിന്ന് വളരെ അകലെയാണ്, പകരം ലേറ്റൻസി പരിമിതപ്പെടുത്തിയിരിക്കുന്നു. ലേറ്റൻസികൾ പത്ത് മൈക്രോസെക്കൻഡുകളിലാണ്, കൂടാതെ പിയറുകളുടെ എണ്ണം വർദ്ധിക്കുമ്പോൾ താരതമ്യേന സ്ഥിരമായി തുടരുന്നു, ഇത് ഗണ്യമായ അധിക ലേറ്റൻസി ഉണ്ടാക്കാതെ തന്നെ ഒരു വലിയ ഇനം ഉപകരണങ്ങളിൽ ഒരു വിന്യാസം വ്യാപിപ്പിക്കാൻ ഞങ്ങളെ അനുവദിക്കുന്നു.
MoE GEMM
MoE മോഡലുകൾ എക്സ്പെർട്ട് പാരലലിസത്തിൽ നിന്ന് പ്രയോജനം നേടുന്നു, കാരണം എല്ലാ എക്സ്പെർട്ടുകളുമായും എല്ലാ ടോക്കണുകളും ഗുണിക്കുന്നതിന്റെ ചെലവ് ഒന്നിലധികം ഉപകരണങ്ങളിൽ എളുപ്പത്തിൽ പാരലലൈസ് ചെയ്യാൻ കഴിയും. പ്രീഫില്ലറുകളിൽ ടെൻസർ പാരലലിസം ഉപയോഗിച്ച്, ഡെൻസ് പ്രശ്നങ്ങളിൽ പ്രയോജനം വളരെ ലളിതമാണ്, കാരണം ഓരോ റാങ്കിനും ഇപ്പോൾ കുറച്ച് കമ്പ്യൂട്ടേഷനുകൾ നടത്തേണ്ടതുണ്ട്. ഡീകോഡ് കേസിൽ, ഡാറ്റ പാരലലിസം എക്സ്പെർട്ട് പാരലലിസത്തിന് മുകളിൽ ഒരു അധിക പ്രയോജനം നൽകുന്നു, കാരണം വലിയ എണ്ണം പാരലൽ അഭ്യർത്ഥനകൾ ഓരോ എക്സ്പെർട്ടിലേക്കും കൂടുതൽ ടോക്കണുകൾ റൂട്ട് ചെയ്യുന്നു, പ്രശ്നങ്ങളെ ഡെൻസ് ആക്കുന്നു.
ഞങ്ങളുടെ ഇംപ്ലിമെന്റേഷനിൽ, നിലവിൽ മാട്രിക്സ് ഗുണനത്തിനായി ഞങ്ങൾ CUTLASS CUDA/C++ കർണലുകളെ ആശ്രയിക്കുന്നു. ഡീകോഡറുകൾക്ക് ഒപ്റ്റിമൽ ഷാർഡിംഗ് തന്ത്രം തീരുമാനിക്കുന്നതിനായി വിവിധ ക്വാണ്ടിസേഷൻ സ്കീമുകളും പാരലലിസത്തിന്റെ അളവുകളും ഉപയോഗിച്ച് ഞങ്ങൾ അവയെ സ്പാഴ്സ് ഡീകോഡ് ഇൻപുട്ടുകളിൽ ബെഞ്ച്മാർക്ക് ചെയ്തു. താഴെയുള്ള ബെഞ്ച്മാർക്കുകളിൽ, എല്ലാ എക്സ്പെർട്ടുകളും ഒരൊറ്റ ടോക്കൺ ഉപയോഗിച്ച് സജീവമാക്കപ്പെടുന്നു.
128 experts-നെ 16 ranks-നേക്കാൾ കൂടുതൽ വ്യാപിപ്പിക്കുന്നത് CUTLASS-ോടെ diminishing returns ഉണ്ടാക്കുന്നതായി ഞങ്ങൾ കണ്ടെത്തി, കാരണം 2 experts ഗുണിക്കുന്നതിനുള്ള ചെലവ് 4 ഗുണിക്കുന്നതിനെക്കാൾ ഗണ്യമായി കുറവല്ല. sub-optimal block scaling strategy-യിലും Blackwell-ിൽ Hopper-നെ അപേക്ഷിച്ച് വ്യക്തമായ പുരോഗതിയുണ്ട്. EP=8നും EP=16നും ഇടയിൽ dispatch/combine-ന്റെ latencyയിൽ ഏകദേശം 5 us വർധനവ് GEMM ചെലവിൽ 10 us-ിലധികം കുറവിലൂടെ മറികടക്കപ്പെടുന്നതിനാൽ, GB200 systems-ൽ decoders-നെ 16 ranks-ലായി sharding ചെയ്യുന്നത് ന്യായീകരിക്കപ്പെടുന്നു; end-to-end benchmarks ഇതിനെ സ്ഥിരീകരിക്കുകയും ചെയ്യുന്നു.
ക്വാണ്ടിസേഷൻ
Blackwell പുതിയ 8-bit, 4-bit quantization schemes-കൾക്ക് hardware support അവതരിപ്പിക്കുന്നു. per-tensor അല്ലെങ്കിൽ per-block scaling factors-നെ ആശ്രയിച്ചിരുന്ന Hopper-നോട് വ്യത്യസ്തമായി, മികച്ച prefill, decode throughput നേടാൻ Blackwell microscaling ആവശ്യപ്പെടുന്നു. DeepSeek അല്ലെങ്കിൽ Kimi പോലെയുള്ള models-ക്കായി ഉപയോഗിക്കുന്ന block scaling scheme ലഭ്യമാണെങ്കിലും, microscaling കൂടുതൽ കാര്യക്ഷമമാണ്.
മോഡൽ ഫൈൻ-ട്യൂൺ ചെയ്തതിനുശേഷമായി വെയ്റ്റുകൾ സ്റ്റാറ്റിക്കായി പരിവർത്തനം ചെയ്തുകൊണ്ട് ഞങ്ങൾ MXFP8 ക്വാണ്ടിസേഷൻ സ്കീമുമായി Qwen3 235B വിന്യചിച്ചിരിക്കുന്നു. കൃത്യതയുടെ ആഘാതം സ്റ്റൊകാസ്റ്റിക് ക്വാണ്ടിസേഷൻ ഉപയോഗിച്ചുള്ള ബ്ലോക്ക് സ്കെയിലിംഗിന്റെ ആഘാതത്തിന് സമാനമായിരുന്നു, എന്നാൽ MoE GEMM മൈക്രോബെഞ്ച്മാർക്കുകൾ ചിത്രീകരിക്കുന്നതുപോലെ, നൽകിയ പെർഫോമൻസ് വളരെ മെച്ചപ്പെട്ടതായിരുന്നു. Hopper-ൽ നിന്ന് Blackwell-ലേക്കുള്ള പ്രാരംഭ മാറ്റത്തിന് ക്വാണ്ടിസേഷൻ-അവെയർ ട്രെയിനിങ് ഇല്ലാതെയുള്ള കൃത്യതയുടെ ആഘാതം വളരെ പ്രധാനപ്പെട്ടതായിരുന്നുവെങ്കിലും, ഞങ്ങൾ MXFP4, NVFP4 ക്വാണ്ടിസേഷൻ സ്കീമുകളും പരിഗണിച്ചിട്ടുണ്ട്. ഭാവിയിലെ പ്രവർത്തനങ്ങളിൽ ഈ ഫോർമാറ്റുകൾ കൂടുതൽ സമഗ്രമായി പര്യവേക്ഷണം ചെയ്യാൻ ഞങ്ങൾ പദ്ധതിയിടുന്നു.
എൻഡ്-ടു-എൻഡ് പെർഫോമൻസ്
Blackwell Qwen3 235B വിന്യാസങ്ങളുടെ ഡീകോഡറുകൾ ഞങ്ങൾ ബെഞ്ച്മാർക്ക് ചെയ്യുകയും അവയെ ഞങ്ങളുടെ മുൻകാല Hopper വിന്യാസങ്ങളുമായി താരതമ്യം ചെയ്യുകയും ചെയ്തു. ഈ സജ്ജീകരണത്തിൽ, പാരലലിസത്തിന്റെ ആഘാതത്തിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നതിനായി ഞങ്ങൾ രണ്ട് വിന്യാസങ്ങളിലുമുള്ള ബ്ലോക്ക് സ്കെയിലിംഗ് പരിഗണിച്ചു. ഡീകോഡ് പെർഫോമൻസ് ഒറ്റപ്പെടുത്തുന്നതിനായി TP=4 പ്രീഫില്ലറുകൾ രണ്ട് ആർക്കിടെക്ചറുകൾക്കും വേർതിരിച്ചിരുന്നു. ഞങ്ങളുടെ MTP ലെയറുകൾ നൽകുന്ന യഥാർത്ഥ ഡ്രാഫ്റ്റ് സ്വീകാര്യത നിരക്ക് അനുമാനിച്ചുകൊണ്ട് ഡീകോഡിംഗ് ത്രൂപുട്ട് താഴെയുള്ള ചിത്രം ചിത്രീകരിക്കുന്നു.
Hopper-ൽ, InfiniBand-ലൂടെയുള്ള ലേറ്റൻസികൾ, പ്രത്യേകിച്ചും EFA അഡാപ്റ്ററുകളിൽ, ഗണ്യമായി മന്ദഗതിയിലായതിനാൽ, 8-ൽ കൂടുതൽ GPU-കളിൽ വിന്യാസം ഷാർഡ് ചെയ്യുന്നത് പ്രായോഗികമല്ല. എന്നിരുന്നാലും, Blackwell-ൽ, വലിയ NVLink ഡൊമെയ്നുകൾക്ക് നന്ദി, ഞങ്ങൾ ഗണ്യമായി ഉയർന്ന ത്രൂപുട്ട് കൈവരിക്കുന്നു.
നിലവിലുള്ള Hopper kernels പൊതുപ്പെടുത്തിയും NVLink-അധിഷ്ഠിത kernels-ിന്റെ പ്രകടനം മുന്നോട്ട് തള്ളിയും ഞങ്ങൾ പ്രാരംഭ Blackwell implementation കൈവരിച്ചു. quantization മെച്ചപ്പെടുത്തിയും pipeline-ിലെ മറ്റു kernels-ിന്റെ decode performance ഉം prefill throughput ഉം fine-tune ചെയ്തും Qwen സർവ് ചെയ്യുന്നതിനുള്ള ചെലവ് ഞങ്ങൾ കൂടുതൽ കുറയ്ക്കും.
റഫറൻസുകൾ
Transfer Engine ബ്ലോഗ് പോസ്റ്റ്
Prefill-Disagg ബ്ലോഗ് പോസ്റ്റ്
സ്പെക്കുലേറ്റീവ് ഡീകോഡിംഗ് ബ്ലോഗ് പോസ്റ്റ്
ഉദ്ധരണി
@online{perplexity2026HostingQwenOnBlackwell,
author = {{Perplexity} and Nandor Licker and Kevin Hu and Bex Brooker and Erin McKnight},
title = {{Hosting Qwen on Blackwell}},
date = {2026-05-12},
url = {https://www.perplexity.ai/hub/blog/hosting-qwen-on-blackwell}
}