ലോക്കൽ ആണോ ക്ലൗഡ് ആണോ: വർക്ക്ലോഡ് അതിന് അർഹത നേടണം
മെഷീൻ ലേണിംഗ് പലപ്പോഴും കുഴപ്പങ്ങൾ നിറഞ്ഞതാണ്.
നിങ്ങൾ നിങ്ങളുടെ മെഷീനിൽ ഒരു ജോബ് റൺ ചെയ്യുന്നു, അത് പരാജയപ്പെടുന്നു. നിങ്ങൾ കോഡ് പരിശോധിക്കുന്നു. നിങ്ങൾ ഡാറ്റ പരിശോധിക്കുന്നു. പ്രീപ്രോസസിംഗിലെ (preprocessing) ഒരു ചെറിയ പിശക് പരിഹരിക്കാൻ (debugging) നിങ്ങൾ മണിക്കൂറുകൾ ചെലവഴിക്കുന്നു.
ഇത് ജോലിയുടെ ആകർഷണമില്ലാത്ത ഭാഗമാണ്. നിങ്ങളുടെ ആശയം പ്രവർത്തിക്കുമോ എന്ന് പോലും നിങ്ങൾക്ക് അറിയാത്ത ഘട്ടമാണിത്.
ലോക്കൽ ഹാർഡ്വെയർ വേഴ്സസ് ക്ലൗഡ് കമ്പ്യൂട്ട് എന്നതിനെക്കുറിച്ച് പലരും തർക്കിക്കാറുണ്ട്. അവർ സ്പ്രെഡ്ഷീറ്റുകൾ നോക്കി ചിലവുകൾ താരതമ്യം ചെയ്യുന്നു. ഒരു വർക്ക്സ്റ്റേഷന്റെ വിലയും ക്ലൗഡിലെ ഒരു GPU-വിന്റെ മണിക്കൂറാവശ്യമായ നിരക്കും അവർ തമ്മിൽ താരതമ്യം ചെയ്യുന്നു.
ഇത് ഇതിനെ നോക്കിക്കാണുന്ന തെറ്റായ രീതിയാണ്.
യഥാർത്ഥ തർക്കം അനിശ്ചിതത്വത്തെക്കുറിച്ചാണ് (uncertainty).
തുടക്കകാലത്തെ ML ജോലികൾ അനിശ്ചിതത്വങ്ങൾ നിറഞ്ഞതാണ്. നിങ്ങൾ ഇവ കൈകാര്യം ചെയ്യുന്നു:
- തകരാറിലായ ഡിപെൻഡൻസികൾ (Broken dependencies)
- തെറ്റായ ടെൻസർ ഷേപ്പുകൾ (Wrong tensor shapes)
- ഡാറ്റ റീഷേപ്പിംഗ് ആവശ്യങ്ങൾ (Data reshaping needs)
- എൻവയോൺമെന്റ് പിശകുകൾ (Environment errors)
ഈ ഘട്ടത്തിൽ നിങ്ങൾ ക്ലൗഡ് ഉപയോഗിക്കുകയാണെങ്കിൽ, നിങ്ങളുടെ ആശയക്കുഴപ്പങ്ങൾക്ക് നിങ്ങൾ പണം നൽകേണ്ടി വരും. ഓരോ തെറ്റും പണം ചെലവാക്കുന്നു. ഒരു എറർ മെസ്സേജ് ഡീബഗ് ചെയ്യാൻ നിങ്ങൾ ചെലവഴിക്കുന്ന ഓരോ മണിക്കൂറും നിങ്ങൾ പണം നൽകേണ്ടി വരുന്ന മണിക്കൂറാണ്. നിങ്ങളുടെ ആശയക്കുഴപ്പങ്ങൾക്ക് ക്ലൗഡ് ഒരു വേഗതയേറിയ എൻജിൻ നൽകുന്നു.
ലോക്കൽ ഹാർഡ്വെയർ മറ്റൊരു ആവശ്യത്തിനാണ് ഉപയോഗിക്കുന്നത്. അനിശ്ചിതത്വങ്ങൾ കുറഞ്ഞ ചിലവിൽ നേരിടാൻ കഴിയുന്ന ഇടമാണത്. ഒരു വർക്ക്സ്റ്റേഷൻ ഉപയോഗിച്ച്, സമയം കണക്കാക്കാതെ തന്നെ ചെറിയ മോഡലുകൾ പരീക്ഷിക്കാനും അനുമാനങ്ങൾ (assumptions) ശരിയാണോ എന്ന് പരിശോധിക്കാനും നിങ്ങൾക്ക് കഴിയും. സ്വകാര്യമായും സൗജന്യമായും പരാജയപ്പെടാൻ ഇത് നിങ്ങളെ അനുവദിക്കുന്നു.
വർക്ക്ലോഡ് പക്വത പ്രാപിക്കുമ്പോഴാണ് ക്ലൗഡ് ഉപയോഗപ്രദമാകുന്നത്.
താഴെ പറയുന്ന സാഹചര്യങ്ങളിൽ ക്ലൗഡ് ഉപയോഗിക്കുക:
- നിങ്ങളുടെ കണ്ടെയ്നർ (container) സ്ഥിരതയുള്ളതാണെങ്കിൽ
- നിങ്ങളുടെ ഡാറ്റാസെറ്റ് തയ്യാറാണെങ്കിൽ
- നിങ്ങളുടെ മെമ്മറി പ്രൊഫൈൽ പ്രവചിക്കാവുന്നതാണെങ്കിൽ
- നിങ്ങൾക്ക് വലിയ തോതിലുള്ള സ്കെയിലിംഗ് (massive scale) ആവശ്യമാണെങ്കിൽ
ക്ലൗഡ് കമ്പ്യൂട്ട് എന്നത് എക്സിക്യൂഷന് (execution) വേണ്ടിയുള്ളതാണ്. ലോക്കൽ കമ്പ്യൂട്ട് എന്നത് ഡിസ്കവറിക്ക് (discovery) വേണ്ടിയുള്ളതാണ്.
ഏറ്റവും വലിയ മെഷീൻ ഉപയോഗിക്കുക എന്നതല്ല പ്രൊഫഷണലിസം. നിങ്ങളുടെ ജോലി എപ്പോൾ നിങ്ങളുടെ ഡെസ്ക് വിട്ട് പുറത്തേക്ക് പോകാൻ തയ്യാറാണെന്ന് അറിയുന്നതാണ് പ്രൊഫഷണലിസം.
ജോലി എന്താണെന്ന് നിങ്ങൾ ഇപ്പോഴും കണ്ടുപിടിച്ചുകൊണ്ടിരിക്കുകയാണെങ്കിൽ, ലോക്കൽ ആയി തന്നെ തുടരുക. ജോലി എന്താണെന്ന് മനസ്സിലാക്കി അത് വേഗത്തിൽ പൂർത്തിയാക്കേണ്ടതുണ്ടെങ്കിൽ, ക്ലൗഡിലേക്ക് മാറാം.
ഒരു അവ്യക്തമായ പരീക്ഷണത്തെ വിലകൂടിയ ഇൻഫ്രാസ്ട്രക്ചറിലൂടെ പൊതിയാൻ ക്ലൗഡ് ഉപയോഗിക്കരുത്. ജോലി അതിന് അർഹത നേടുന്നതുവരെ കാത്തിരിക്കുക.
Source: https://dev.to/lareleem/local-or-not-the-workload-has-to-earn-the-cloud-2boe
Optional learning community: https://t.me/GyaanSetuAi
