Llama.cpp b10327 ഒരു നിർണ്ണായകമായ CUDA quantization ബഗ് പരിഹരിക്കുന്നു, ഇത് NVIDIA കാർഡുകളിലെ ലോക്കൽ GPU ഇൻഫറൻസ് (inference) സ്ഥിരപ്പെടുത്തുകയും അതേ ഹാർഡ്‌വെയറിൽ നിന്ന് കൂടുതൽ വേഗത ലഭ്യമാക്കുകയും ചെയ്യുന്നു. കൺസ്യൂമർ ഗ്രേഡ് GPU-കളിൽ LLaMA ശൈലിയിലുള്ള മോഡലുകൾ പ്രവർത്തിപ്പിക്കുന്നവർക്ക് ഈ പരിഹാരം വളരെ പ്രധാനമാണ്, കാരണം അവിടെ ക്രാഷുകളും (crashes) കൃത്യതയിലുണ്ടാകുന്ന നേരിയ കുറവും വലിയൊരു തലവേദനയായിരുന്നു.

ലോക്കൽ ഇൻഫറൻസിനെ തടസ്സപ്പെടുത്തിയിരുന്ന ബഗ്

ക്ലൗഡ് സേവനങ്ങൾ ഇല്ലാതെ തന്നെ CPU-കളിലും GPU-കളിലും ലാർജ് ലാംഗ്വേജ് മോഡലുകൾ പ്രവർത്തിപ്പിക്കുന്നതിനുള്ള പ്രധാന ഓപ്പൺ സോഴ്സ് എൻജിനാണ് Llama.cpp. കുറഞ്ഞ ബിറ്റ് ഫോർമാറ്റുകളിൽ സൂക്ഷിച്ചിരിക്കുന്ന വെയ്റ്റുകൾ (weights) ഉപയോഗിക്കുന്ന ക്വാണ്ടൈസ്ഡ് മോഡലുകൾ (quantised models) ചെറിയ വലിപ്പമുള്ള GPU-കളിൽ പ്രവർത്തിപ്പിക്കാൻ കഴിയുന്നു എന്നതാണ് ഇതിന്റെ ഏറ്റവും വലിയ പ്രത്യേകത. NVIDIA-യുടെ CUDA പ്ലാറ്റ്‌ഫോമിൽ ഈ ക്വാണ്ടൈസ്ഡ് കേർണലുകൾ (quantised kernels) ലോഞ്ച് ചെയ്യുമ്പോൾ ഉപയോഗിക്കുന്ന thread-ഉം block-ഉം എണ്ണത്തിലുള്ള കണക്കുകൂട്ടലുകളിലെ പിശകുകൾ b10327 റിലീസ് പരിഹരിക്കുന്നു.

മുൻപത്തെ കണക്കുകൂട്ടലുകൾ വർക്ക്-ഐറ്റങ്ങളെ (work-items) തെറ്റായി ക്രമീകരിക്കാൻ ഇടയാക്കിയിരുന്നു, ഇത് രണ്ട് പ്രായോഗിക പ്രശ്നങ്ങൾക്ക് കാരണമായി:

  • മെമ്മറി കൈകാര്യം ചെയ്യുന്നതിലെ പിശക് (Memory mishandling) – കേർണലുകൾ ചിലപ്പോൾ അനുവദിച്ച ബഫറിന് പുറത്തുള്ള മെമ്മറി ഉപയോഗിക്കാൻ ശ്രമിച്ചിരുന്നു, ഇത് ക്രാഷുകൾക്കോ അല്ലെങ്കിൽ വിവരങ്ങൾ നശിക്കുന്നതിനോ (silent corruption) കാരണമായി.
  • ഗണിതപരമായ അപാകത (Math inaccuracy) – ഫ്ലോട്ടിംഗ് പോയിന്റ് ഓപ്പറേഷനുകൾ ശരിയായി നടക്കാത്തതിനാൽ നിർമ്മിക്കപ്പെടുന്ന ടെക്സ്റ്റിന്റെ ഗുണനിലവാരം കുറഞ്ഞു.

ക്വാണ്ടൈസ്ഡ് ഇൻഫറൻസിലെ പരിമിതമായ മെമ്മറി സാഹചര്യങ്ങളിൽ മാത്രമാണ് ഈ പ്രശ്നങ്ങൾ കണ്ടുവന്നിരുന്നത്, അതിനാൽ വലിയ ഫുൾ-പ്രസിഷൻ (full-precision) റണ്ണുകളിൽ ഇവ കണ്ടെത്തുക പ്രയാസമായിരുന്നു.

എന്തുകൊണ്ടാണ് ഈ പരിഹാരം ഓൺ-ഡിവൈസ് AI-ക്ക് ഒരു നേട്ടമാകുന്നത്?

ഡാറ്റാ സ്വകാര്യത നിലനിർത്താനും, ക്ലൗഡ് സേവനങ്ങളിൽ നിന്നുള്ള കാലതാമസം (latency) ഒഴിവാക്കാനും, പ്രവർത്തനച്ചെലവ് കുറയ്ക്കാനും ഡെവലപ്പർമാരും ഹോബിസ്റ്റുകളും ലോക്കൽ ഇൻഫറൻസിനെയാണ് ആശ്രയിക്കുന്നത്. ഈ ബഗ് കാരണം, ഒരു മോഡൽ GPU മെമ്മറിയിൽ ഒതുങ്ങുന്നുണ്ടെങ്കിൽ പോലും അത് അപ്രതീക്ഷിതമായി പരാജയപ്പെടാൻ സാധ്യതയുണ്ടായിരുന്നു. തിരുത്തിയ ലോഞ്ച് പാരാമീറ്ററുകൾ ഉപയോഗിക്കുന്നതോടെ, അതേ ഹാർഡ്‌വെയറിൽ ഇനി താഴെ പറയുന്നവ ലഭ്യമാകും:

  • കൂടുതൽ വിശ്വസനീയമായ പ്രവർത്തനം – ഔട്ട്-ഓഫ്-മെമ്മറി (out-of-memory) ക്രാഷുകൾ കുറയുന്നു, ബാച്ച് പ്രോസസ്സിംഗ് കൂടുതൽ സുഗമമാകുന്നു.
  • മെച്ചപ്പെട്ട വേഗത – ഈ അപ്‌ഡേറ്റ് വിശ്വാസ്യതയും പ്രവർത്തനക്ഷമതയും (throughput) വർദ്ധിപ്പിക്കുന്നു.

ഒരു കൺസ്യൂമർ ഗ്രേഡ് GPU-വിനെ സംബന്ധിച്ചിടത്തോളം, ഉപയോഗപ്രദമായ ഒരു ഇന്ററാക്ടീവ് ചാറ്റ്ബോട്ടിനും പരാജയപ്പെടുന്ന ഒരു ഡെമോയ്ക്കും ഇടയിലുള്ള വ്യത്യാസം ഈ മാറ്റം സൃഷ്ടിച്ചേക്കാം.

മറ്റ് പ്രധാന GPU AI അപ്‌ഡേറ്റുകൾ

Llama.cpp പാച്ച് പ്രധാന വാർത്തയാണെങ്കിലും, ലോക്കൽ AI ഇക്കോസിസ്റ്റത്തെ മുന്നോട്ട് നയിക്കുന്ന മറ്റ് ചില റിലീസുകൾ കൂടിയുണ്ട്:

  • NVIDIA NeMo Speech 3.0 ഓട്ടോമാറ്റിക് സ്പീച്ച് റെക്കഗ്നിഷൻ (automatic speech recognition), ടെക്സ്റ്റ്-ടു-സ്പീച്ച് (text-to-speech), സ്പീച്ച്-ലാർജ് ലാംഗ്വേജ് മോഡലുകൾ എന്നിവയ്ക്കായി പുതുക്കിയ ടൂൾകിറ്റ് അവതരിപ്പിക്കുന്നു. പുതിയ ലേഔട്ട് സ്പെഷ്യലൈസ്ഡ് വോയ്‌സ് അസിസ്റ്റന്റുകളുടെ നിർമ്മാണം ലളിതമാക്കുന്നു.
  • AMD ROCm, Quark ലൈബ്രറിയിലൂടെ SVDQuant സപ്പോർട്ട് നൽകുന്നു. ഇത് Stable Diffusion പോലുള്ള ഡിഫ്യൂഷൻ മോഡലുകൾക്ക് AMD GPU-കളിൽ കുറഞ്ഞ മെമ്മറി ഉപയോഗിച്ച് പ്രവർത്തിക്കാൻ സഹായിക്കുന്നു. ഇതിനോടൊപ്പമുള്ള VSA (Video Sparse Attention) മോഡ്യൂൾ, ഡിഫ്യൂഷൻ സ്റ്റെപ്പുകൾക്ക് ആവശ്യമായ ഗണിതക്രിയകൾ കുറയ്ക്കുന്നതിലൂടെ വേഗത്തിലുള്ള വീഡിയോ ജനറേഷൻ വാഗ്ദാനം ചെയ്യുന്നു.
  • Linux kernel 7.3, ഗ്രാഫിക്സ് മെമ്മറിക്കായി കൂടുതൽ കാര്യക്ഷമമായ ഒരു TTM (Translation Table Maps) സബ്സിസ്റ്റം അവതരിപ്പിക്കും. കമ്പ്യൂട്ടർ-ഹെവി വർക്ക്ലോഡുകൾക്കായി മെമ്മറി വീണ്ടെടുക്കുന്നത് മെച്ചപ്പെടുത്താനാണ് ഈ മാറ്റം ലക്ഷ്യമിടുന്നത്, ഇത് ലിനക്സ് അധിഷ്ഠിത മെഷീനുകളിലെ AI ഇൻഫറൻസിന് പരോക്ഷമായി ഗുണകരമാകും.

ആർക്കൊക്കെ നേട്ടം, ആർക്കൊക്കെ ജാഗ്രത?

കൺസ്യൂമർ ഗ്രേഡ് NVIDIA ഹാർഡ്‌വെയറിൽ നേരത്തെ തന്നെ നിക്ഷേപിച്ച സ്വതന്ത്ര ഡെവലപ്പർമാർക്കും ചെറുകിട സ്റ്റാർട്ടപ്പുകൾക്കും സ്വകാര്യതയ്ക്ക് മുൻഗണന നൽകുന്ന ടീമുകൾക്കും ഇതിന്റെ ഗുണങ്ങൾ ഉടൻ തന്നെ ലഭിക്കും. അവരുടെ പൈപ്പ്‌ലൈനുകൾ കൂടുതൽ പ്രവചിക്കാവുന്നതാകുകയും (predictable), പ്രകടനം മെച്ചപ്പെടുന്നതിലൂടെ വലിയ ക്വാണ്ടൈസ്ഡ് മോഡലുകൾ പരീക്ഷിക്കുന്നതിനുള്ള തടസ്സങ്ങൾ കുറയുകയും ചെയ്യുന്നു.

ക്ലൗഡിൽ ഇൻഫറൻസ് നടത്തുന്ന വലിയ കമ്പനികൾക്ക് ഈ പരിഹാരം ഒരു ഹൈബ്രിഡ് സ്ട്രാറ്റജിയുടെ (hybrid strategy) ഭാഗമായി കാണാം—അതായത്, കാലതാമസം കുറയ്ക്കേണ്ട ഫ്രണ്ട്-എൻഡുകൾ ലോക്കലായി പ്രവർത്തിപ്പിക്കുകയും കനത്ത ബാച്ച് ജോബുകൾ ക്ലൗഡിലേക്ക് മാറ്റുകയും ചെയ്യുക. എന്നിരുന്നാലും, VRAM പരിമിതികളോ ക്വാണ്ടൈസ്ഡ് മോഡലുകളും ഫുൾ-പ്രസിഷൻ മോഡലുകളും തമ്മിലുള്ള ഗുണനിലവാര വ്യത്യാസമോ പോലുള്ള ഓൺ-ഡിവൈസ് AI-യുടെ അടിസ്ഥാനപരമായ പരിമിതികളെ ഈ പരിഹാരം ഇല്ലാതാക്കുന്നില്ല.

ഇനി എന്തൊക്കെ ശ്രദ്ധിക്കാം?

  • കൂടുതൽ Llama.cpp ഒപ്റ്റിമൈസേഷനുകൾ – വരാനിരിക്കുന്ന പാച്ചുകൾ കേർണൽ ഫ്യൂഷൻ (kernel fusion) മെച്ചപ്പെടുത്തുകയും പുതിയ NVIDIA ആർക്കിടെക്ചറുകൾക്ക് സപ്പോർട്ട് നൽകുകയും ചെയ്യും.
  • ക്രോസ്-വെണ്ടർ ക്വാണ്ടൈസേഷൻ സ്റ്റാൻഡേർഡുകൾ – AMD-യുടെ ROCm-ൽ SVDQuant വരുന്നതോടെ, കമ്മ്യൂണിറ്റി ഒരു പൊതുവായ ലോ-ബിറ്റ് ഫോർമാറ്റിലേക്ക് മാറാൻ സാധ്യതയുണ്ട്, ഇത് മോഡലുകൾ ഒരു പ്ലാറ്റ്‌ഫോമിൽ നിന്ന് മറ്റൊന്നിലേക്ക് മാറ്റുന്നത് എളുപ്പമാക്കും.
  • NeMo Speech ഘടകങ്ങൾ ഓൺ-ഡിവൈസ് റൺടൈമുകളുമായി സംയോജിപ്പിക്കുന്നത്, നിലവിൽ ടെക്സ്റ്റ് മോഡലുകൾ വിശ്വസനീയമായി പ്രവർത്തിപ്പിക്കുന്ന അതേ ലോക്കൽ ഇൻഫറൻസ് സ്റ്റാക്കിലേക്ക് വോയ്‌സ് കപ്പാബിലിറ്റികൾ കൊണ്ടുവരാൻ സഹായിക്കും.

ലോഞ്ച് ജിയോമെട്രിയിലെ (launch geometry) ഒരു ചെറിയ തിരുത്തൽ പോലും ലോക്കൽ AI-യുടെ ഉപയോഗക്ഷമതയിൽ വലിയ മാറ്റങ്ങൾ വരുത്തുമെന്ന് b10327 പാച്ച് തെളിയിക്കുന്നു. നിങ്ങൾ ഇപ്പോഴും കൺസ്യൂമർ GPU-കളിൽ ക്രാഷുകൾ നേരിടുന്നുണ്ടെങ്കിൽ, കൂടുതൽ സുസ്ഥിരവും വേഗതയേറിയതുമായ ഇൻഫറൻസ് അനുഭവത്തിനായി ഇപ്പോൾ തന്നെ llama.cpp അപ്‌ഡേറ്റ് ചെയ്യുക.