Text size
ന്യൂ ടെക്3 മിനിറ്റ് വായന

AI-യും MLOps-ഉം, അടിത്തറ മുതൽ

മെഷീൻ ലേണിംഗ് ശരിക്കും എങ്ങനെ നിർമ്മിക്കപ്പെടുന്നു, എത്തിക്കപ്പെടുന്നു, ജീവനോടെ നിലനിർത്തപ്പെടുന്നു എന്ന് ഞാൻ പഠിക്കുകയാണ്. തുടക്കം മുതലുള്ള എന്റെ കുറിപ്പുകളാണിത്.

The ML lifecycle
ML ജീവിതചക്രംചിത്രീകരണം: ഡെസ്ലി പീറ്റർ

എല്ലാവരും AI-യെക്കുറിച്ച് സംസാരിക്കുന്നു. ഓരോ ആപ്പിനും ഇപ്പോൾ ഒരു AI ബട്ടണുണ്ട്, ഓരോ കമ്പനിക്കും ഒരു AI സ്ട്രാറ്റജിയുണ്ട്, ഞാൻ കാണുന്ന ഓരോ രണ്ടാമത്തെ പോസ്റ്റും AI എല്ലാം മാറ്റുമെന്ന് വിശദീകരിക്കുന്ന ഒരാളുടേതാണ്. ഒരു ഘട്ടത്തിൽ, ഞാൻ ഇതിനെക്കുറിച്ച് മനസ്സിലാക്കിയതിനേക്കാൾ വളരെ കൂടുതൽ വായിക്കുകയായിരുന്നുവെന്ന് എനിക്ക് മനസ്സിലായി.

അതുകൊണ്ട് ഞാൻ വായന നിർത്തി അതിനെ പഠിക്കാൻ തീരുമാനിച്ചു. ശരിയായി, അടിത്തറയിൽ നിന്ന്. മുകളിലുള്ള ചിത്രത്തിൽ ഞാൻ മനസ്സിലാക്കാൻ ശ്രമിക്കുന്ന ലൂപ്പ് കാണിക്കുന്നു: ഡാറ്റ, പരിശീലനം, ട്രാക്കിംഗ്, സേവനം, നിരീക്ഷണം, വീണ്ടും പരിശീലനം.

വെറും "AI" അല്ല, MLOps എന്തുകൊണ്ട്

ഒരു നോട്ട്ബുക്കിൽ ഒരു മോഡൽ ട്രെയിൻ ചെയ്യുന്നതാണ് രസകരമായ, ആവേശകരമായ ഭാഗം. കുറച്ച് ഡാറ്റ ലോഡ് ചെയ്യുന്നു, കുറച്ച് വരി കോഡ് ഓടിക്കുന്നു, പെട്ടെന്ന് കമ്പ്യൂട്ടർ കാര്യങ്ങൾ പ്രവചിക്കുന്നു. ഒരു മാജിക് പോലെ തോന്നും.

പക്ഷേ എന്റെ ലാപ്ടോപ്പിലെ ഒരു നോട്ട്ബുക്കിൽ ഇരിക്കുന്ന ഒരു മോഡൽ ആരെയും സഹായിക്കുന്നില്ല. കഠിനമായ ഭാഗം, എനിക്ക് ശരിക്കും രസകരമായി തോന്നുന്ന ഭാഗം, അതിനുശേഷമുള്ള എല്ലാമാണ്. ആളുകൾക്ക് ശരിക്കും ഉപയോഗിക്കാൻ കഴിയുന്ന ഒന്നാക്കി അത് എങ്ങനെ മാറ്റും? ഡാറ്റ മാറിയ അടുത്ത മാസവും അത് പ്രവർത്തിക്കുന്നുണ്ടെന്ന് എങ്ങനെ അറിയും? കാര്യങ്ങൾ തകർക്കാതെ എങ്ങനെ അപ്ഡേറ്റ് ചെയ്യും? അതാണ് MLOps: മെഷീൻ ലേണിംഗിനെ ഒരു പരീക്ഷണത്തിൽ നിന്ന് വിശ്വസനീയമായ ഒന്നിലേക്ക് കൊണ്ടുപോകുന്ന എഞ്ചിനീയറിംഗ്.

ഒരു മോഡൽ നിർമ്മിക്കുന്നത് തുടക്കമാണ്. അത് പ്രവർത്തിപ്പിച്ചുനിർത്തുന്നതാണ് യഥാർത്ഥ ജോലി.

എന്റെ പ്ലാൻ

ഞാൻ എനിക്കായി ഒരു റോഡ്മാപ്പ് എഴുതി. ഇരുപത്തിനാല് ആഴ്ച, ആഴ്ചയിൽ ഏകദേശം 8 മുതൽ 10 വരെ മണിക്കൂർ, Python-ഉം ഡാറ്റാ അടിസ്ഥാനങ്ങളും കൊണ്ട് തുടങ്ങി, വിന്യസിക്കപ്പെട്ട, നിരീക്ഷിക്കപ്പെടുന്ന, സുരക്ഷിതമായി റീട്രെയിൻ ചെയ്യാവുന്ന ഒരു മോഡലിൽ അവസാനിക്കുന്നു.

എനിക്ക് ഏറ്റവും ഇഷ്ടമുള്ള ആശയം, ബന്ധമില്ലാത്ത ഒരുപാട് ചെറിയ അഭ്യാസങ്ങൾക്ക് പകരം ഒരൊറ്റ പ്രോജക്റ്റ് മുഴുവനായി നിർമ്മിക്കുക എന്നതാണ്. ഒരു ലളിതമായ നോട്ട്ബുക്കായി തുടങ്ങി പടിപടിയായി വളരുന്നു: ടെസ്റ്റ് ചെയ്ത ഒരു Python പാക്കേജായി, പിന്നെ ട്രാക്ക് ചെയ്യപ്പെടുന്ന, ആവർത്തിക്കാവുന്ന ഒരു ട്രെയിനിംഗ് പൈപ്പ്‌ലൈനായി, പിന്നെ ഒരു API, പിന്നെ ഒരു കണ്ടെയ്നർ, പിന്നെ ഡാഷ്ബോർഡുകൾ നിരീക്ഷിക്കുന്ന, ക്ലൗഡിൽ പ്രവർത്തിക്കുന്ന ഒന്ന്. ഓരോ പുതിയ കഴിവും ഒരേ സിസ്റ്റത്തിലേക്ക് ചേർക്കപ്പെടുന്നു, അതുകൊണ്ട് അത് എന്തുകൊണ്ട് പ്രധാനമാണെന്ന് എനിക്ക് കാണാം.

എന്റെ ആഴ്ചകൾക്ക് ഒരു താളവുമുണ്ട്: ആശയങ്ങൾ പഠിക്കാൻ രണ്ട് മണിക്കൂർ, കൂടുതൽ സമയവും നിർമ്മാണം, ടെസ്റ്റിംഗിനും ഓട്ടോമേഷനും ഒന്നോ രണ്ടോ മണിക്കൂർ, അവസാനം തിരിഞ്ഞുനോക്കി പഠിച്ചത് എഴുതിവെക്കാൻ ഒരു മണിക്കൂർ. ആ അവസാന മണിക്കൂറാണ് ഒഴിവാക്കാൻ ഏറ്റവും പ്രലോഭനമുള്ളത്, ഒരുപക്ഷേ ഏറ്റവും പ്രധാനപ്പെട്ടതും.

ഞാൻ ശരിക്കും എവിടെയാണ്

സത്യം പറഞ്ഞാൽ? തുടക്കത്തിൽ തന്നെ. ഘട്ടം 0. ഞാൻ പ്രോജക്റ്റും ടൂളുകളും ഘടനയും സെറ്റ് ചെയ്തു. എന്റെ ആദ്യത്തെ യഥാർത്ഥ ടെസ്റ്റ് പരിശോധിക്കുന്നത് ഒരു ശരാശരി കണക്കാക്കുന്ന ഫംഗ്ഷൻ നെഗറ്റീവ് സംഖ്യകളോടെയും ശരിയായ ഉത്തരം നൽകുന്നുണ്ടോ എന്നാണ്. കൃത്യമായി കൃത്രിമ ബുദ്ധിയല്ല.

പക്ഷേ അതാണ് കാര്യം. ഒരൊറ്റ കമാൻഡ് എന്റെ കോഡ് സ്റ്റൈൽ പരിശോധിക്കുകയും എന്റെ എല്ലാ ടെസ്റ്റുകളും ഓടിക്കുകയും പാസാകുകയും ചെയ്യുക എന്നതാണ് എന്റെ ആദ്യ ചെക്ക്‌പോയിന്റ്. ചെറുതും ആകർഷകമല്ലാത്തതുമാണ്, ബാക്കിയെല്ലാം നിൽക്കുന്ന അടിത്തറയുമാണ്. പിന്നീട് ഒരു കുഴപ്പത്തിന് മുകളിൽ ഒരു മിടുക്കൻ മോഡൽ ഉണ്ടാകുന്നതിനേക്കാൾ, ഇപ്പോൾ അത് ശരിയായി നിർമ്മിക്കാനാണ് എനിക്കിഷ്ടം.

ഞാൻ പഠിക്കാൻ പോകുന്ന ടൂളുകൾ

കൗതുകമുള്ളവർക്കായി, തുടക്കത്തിൽ ഓരോ പ്രശ്നത്തിനും ഒരു ടൂൾ എന്നതാണ് പ്ലാൻ: മെഷീൻ ലേണിംഗിന് pandas-ഉം scikit-learn-ഉം ഉള്ള Python, ടെസ്റ്റിംഗിന് pytest, പരീക്ഷണങ്ങൾ ട്രാക്ക് ചെയ്യാൻ MLflow, ഡാറ്റ വേർഷൻ ചെയ്യാൻ DVC, പ്രവചനങ്ങൾ നൽകാൻ FastAPI, എല്ലാം പാക്ക് ചെയ്യാൻ Docker, ഓട്ടോമേറ്റ് ചെയ്യാൻ GitHub Actions, നിരീക്ഷിക്കാൻ Prometheus, Grafana, Evidently. എന്റെ റോഡ്മാപ്പിൽ ഞാൻ വീണ്ടും വീണ്ടും തിരിച്ചെത്തുന്ന ഒരു വരിയുണ്ട്: ആവർത്തനക്ഷമത, ഓട്ടോമേഷൻ, നിരീക്ഷണക്ഷമത, സുരക്ഷിതമായ മാറ്റം എന്നിവ മനസ്സിലാക്കുന്നതിനേക്കാൾ കൃത്യമായ ടൂളുകൾക്ക് പ്രാധാന്യം കുറവാണ്.

ഇന്ന് തുടങ്ങുന്ന ഒരാളോട് ഞാൻ പറയുന്നത്

നിങ്ങൾ കരുതുന്നതിനേക്കാൾ ചെറുതായി തുടങ്ങുക. പബ്ലിക് ഡാറ്റയുള്ള ഒരു വിരസമായ, ലളിതമായ പ്രശ്നം തിരഞ്ഞെടുക്കുക. ആഡംബര കാര്യങ്ങൾക്ക് പിന്നാലെ പോകുന്നതിന് മുമ്പ് അടിസ്ഥാനങ്ങൾ തുടക്കം മുതൽ ഒടുക്കം വരെ പ്രവർത്തിപ്പിക്കുക. എല്ലാ ആഴ്ചയും പഠിച്ചത് എഴുതിവെക്കുക, കാരണം ഭാവിയിലെ നിങ്ങൾ മറക്കും.

പോകുന്ന വഴി ഞാൻ ഇവിടെ എഴുതിക്കൊണ്ടിരിക്കും. വിജയങ്ങൾ, ബഗുകൾ, ഞാൻ എന്താണ് ചെയ്യുന്നതെന്ന് എനിക്ക് ഒരു പിടിയുമില്ലാത്ത നിമിഷങ്ങൾ. അവയാകും ഭൂരിഭാഗവും എന്നാണ് എന്റെ സംശയം.

സ്ഥിതി: ഘട്ടം 0 ഏതാണ്ട് പൂർത്തിയായി. ഇനി 23 ആഴ്ച.

— ഡെസ്ലി