AI പരിശീലനത്തിന് GPUs എങ്ങനെ CPUs-നെ മറികടക്കുന്നു
എന്തുകൊണ്ട് AI-ക്കായി വലിയൊരു CPU മാത്രം നിർമ്മിച്ചുകൂടാ?
ഇതൊരു സാധാരണ ചോദ്യമാണ്. GPUs വേഗതയേറിയതുകൊണ്ടാണ് അവ വിജയിക്കുന്നത് എന്ന് പലരും കരുതുന്നു. എന്നാൽ യഥാർത്ഥ കാരണം അതിന്റെ രൂപകൽപ്പനയിലാണ്. CPUs-ഉം GPUs-ഉം വ്യത്യസ്ത പ്രശ്നങ്ങളാണ് പരിഹരിക്കുന്നത്.
AI പരിശീലനം പ്രധാനമായും മാട്രിക്സ് ഗുണനമാണ് (matrix multiplication). പരസ്പരം ആശ്രയിക്കാത്ത കോടിക്കണക്കിന് ഗണിതക്രിയകൾ നിങ്ങൾ ഇതിൽ ചെയ്യുന്നു. ഇതിനെ പാരലൽ വർക്ക് (parallel work) എന്ന് വിളിക്കുന്നു.
സങ്കീർണ്ണവും പ്രവചനാതീതവുമായ ജോലികൾക്കായിട്ടാണ് ഒരു CPU നിർമ്മിച്ചിരിക്കുന്നത്. ഇത് സിലിക്കൺ ഉപയോഗിക്കുന്നത് ഇവയ്ക്കാണ്:
- Branch prediction
- Out-of-order execution
- Large caches
ഒരു വെബ് റിക്വസ്റ്റോ ഡാറ്റാബേസ് ക്വറിയോ കൈകാര്യം ചെയ്യാൻ ഈ ഫീച്ചറുകൾ ഒരു CPU-യെ സഹായിക്കുന്നു. എന്നാൽ AI-യുടെ കാര്യത്തിൽ ഈ ഫീച്ചറുകൾ വെറുതെയാകുന്നു. രണ്ട് സംഖ്യകൾ ഒരു ശതകോടി തവണ ഗുണിക്കാൻ നിങ്ങൾക്ക് ഒരു സ്മാർട്ട് കോർ (smart core) ആവശ്യമില്ല.
ഒരു GPU മറ്റൊരു പാതയാണ് സ്വീകരിക്കുന്നത്. അത് സങ്കീർണ്ണമായ സംവിധാനങ്ങൾ ഒഴിവാക്കുന്നു. കുറച്ച് സ്മാർട്ട് കോറുകൾക്ക് പകരം, ആയിരക്കണക്കിന് ലളിതമായ കോറുകൾ ഇത് ഉപയോഗിക്കുന്നു.
ഹാർഡ്വെയർ വ്യത്യാസം വളരെ വലുതാണ്:
- Intel Xeon 6+-ൽ ഒരു സോക്കറ്റിൽ 288 കോറുകൾ വരെ ഉണ്ട്.
- NVIDIA Blackwell B300-ൽ 20,480 CUDA കോറുകൾ ഉണ്ട്.
പവർ കാര്യക്ഷമതയും (power efficiency) വ്യത്യസ്തമാണ്. ഒരു Xeon കോർ ഏകദേശം 1.5W ഉപയോഗിക്കുന്നു. ഒരു B300 കോർ ഏകദേശം 0.07W മാത്രമേ ഉപയോഗിക്കുന്നുള്ളൂ. AI പരിശീലനത്തിന് ഒരിക്കലും ആവശ്യമില്ലാത്ത CPU ബുദ്ധിശക്തിക്കായി നിങ്ങൾ വലിയൊരു പവർ ടാക്സ് (power tax) നൽകേണ്ടി വരുന്നു.
മെമ്മറി ബാൻഡ്വിഡ്ത്തും (memory bandwidth) പ്രധാനമാണ്.
- Xeon 6+ ഏകദേശം 770 GB/s നൽകുന്നു.
- B300 HBM3e മെമ്മറി ഉപയോഗിച്ച് 8 TB/s നൽകുന്നു.
ഡാറ്റയ്ക്കായി കാത്തുനിൽക്കുന്ന ആയിരക്കണക്കിന് കോറുകൾ ഉപയോഗശൂന്യമാണ്. അതിനാൽ, കോറുകൾക്ക് ഒന്നിച്ച് പ്രവർത്തിക്കാൻ കഴിയുന്ന തരത്തിൽ വലിയ മെമ്മറി വേഗതയുമായി ധാരാളം കോറുകളെ GPUs ബന്ധിപ്പിക്കുന്നു.
ഒരു ചിപ്പിൽ 20,000 CPU കോറുകൾ വെക്കാൻ ശ്രമിച്ചാൽ, നിങ്ങൾ ഉടൻ തന്നെ പവർ, താപം (heat) എന്നിവയുടെ വലിയ പ്രതിസന്ധി നേരിടും. കൂടാതെ നിങ്ങൾക്ക് ആവശ്യമില്ലാത്ത "സ്മാർട്ട്" ഫീച്ചറുകൾക്കായി നിങ്ങൾ പണം ചിലവാക്കുകയും ചെയ്യും.
ഇത് ഇങ്ങനെ ചിന്തിച്ചു നോക്കൂ:
- ഒരു CPU കോ