6 Bugs Only a Live Model Could Teach Us

ഓഫ്‌ലൈൻ ടെസ്റ്റുകൾ ആവശ്യമാണ്. എന്നാൽ അവ മാത്രം മതിയാകില്ല.

പെറുവിലെ പരിസ്ഥിതി അനുസരണങ്ങൾ (environmental compliance) ട്രാക്ക് ചെയ്യുന്നതിനായി ഞാൻ AgentOps Debugger നിർമ്മിച്ചു. റെക്കോർഡുകൾ കണ്ടെത്താനും റിപ്പോർട്ടുകൾ തയ്യാറാക്കാനും ഇത് Qwen Cloud-ലെ Qwen-plus ഉപയോഗിക്കുന്നു.

സിസ്റ്റം ഓഫ്‌ലൈൻ-ഫസ്റ്റ് (offline-first) രീതിയിലാണ് ഞാൻ രൂപകൽപ്പന ചെയ്തത്. എന്റെ 315 ടെസ്റ്റുകളും ഒരു നെറ്റ്‌വർക്ക് കോളും ഇല്ലാതെ പ്രവർത്തിച്ചു. എല്ലാ ടെസ്റ്റുകളും വിജയിച്ചു. എന്നാൽ ഞാൻ Alibaba Cloud-ലെ ലൈവ് മോഡലിലേക്ക് മാറിയപ്പോൾ സിസ്റ്റം തകരാറിലായി.

കോഡ് ശരിയായിരുന്നു. മോഡലിന്റെ ഔട്ട്‌പുട്ട് ആയിരുന്നു പ്രശ്നം.

യഥാർത്ഥ ലോകത്തെ മോഡൽ പരാജയങ്ങളിൽ നിന്നുള്ള ആറ് പാഠങ്ങൾ ഇതാ:

• Label Mismatch സ്കീമ (schema) പ്രതീക്ഷിച്ചത് "completed" അല്ലെങ്കിൽ "failed" എന്നതായിരുന്നു. എന്നാൽ മോഡൽ നൽകിയത് "success" അല്ലെങ്കിൽ "done" എന്നതായിരുന്നു. ഒരു വാക്ക് കാരണം പാഴ്സർ (parser) ഉപയോഗപ്രദമായ ഉത്തരങ്ങൾ നിരസിച്ചു. പരിഹാരം: പര്യായപദങ്ങളെ (synonyms) ഏകീകരിക്കാൻ ടോളറന്റ് പ്രീപ്രോസസറുകൾ (tolerant preprocessors) ഉപയോഗിക്കുക.

• Degenerate Plans പ്ലാനർ ചിലപ്പോൾ ഒന്നും നൽകുന്നില്ലായിരുന്നു. ഈ നിശബ്ദതയെ ഒരു സാധാരണ മറുപടിയാക്കി മാറ്റാൻ ആപ്പ് ശ്രമിച്ചു. ഇത് വ്യാജ ഉത്തരങ്ങൾ ഉണ്ടാക്കി. പരിഹാരം: ഒരു പ്ലാൻ ഇന്റർപ്രെറ്റർ (plan interpreter) ചേർക്കുക. പ്ലാൻ ശൂന്യമാണെങ്കിൽ, കള്ളം പറയുന്നതിന് പകരം പ്ലാൻ ചെയ്യാൻ സിസ്റ്റത്തിന് കഴിഞ്ഞില്ല എന്ന് ഉപയോക്താവിനോട് പറയുക.

• Schema Drift മോഡൽ "documentTitle" പോലുള്ള ഫീൽഡ് പേരുകൾ "title" എന്ന് മാറ്റി. കൂടാതെ ഇംഗ്ലീഷും സ്പാനിഷും ലേബലുകൾ കലർത്തി ഉപയോഗിച്ചു. പരിഹാരം: ഏലിയാസ് മാപ്പിംഗ് (alias mapping) ഉപയോഗിക്കുകയും സാധുവായ ഭാഗങ്ങൾ നിലനിർത്തുകയും ചെയ്യുക. ഒരു സൈറ്റേഷൻ (citation) തെറ്റാണെങ്കിൽ പോലും ബാക്കിയുള്ള നാലെണ്ണം നിലനിർത്തുക.

• Unpaired Tasks ഒരു റിപ്പോർട്ട് തയ്യാറാക്കുന്നതിന് മുമ്പ് തന്നെ അത് സേവ് ചെയ്യാൻ മോഡൽ ആവശ്യപ്പെട്ടു. ലോജിക് സുരക്ഷിതമായിരുന്നു, പക്ഷേ ഉപയോക്താവിന്റെ അനുഭവം (user experience) തകരാറിലായി. പരിഹാരം: വിട്ടുപോയ ഘട്ടങ്ങൾ കോഡ് സ്വയം കണ്ടെത്തുകയും അവ ഓട്ടോമാറ്റിക്കായി ഉൾപ്പെടുത്തുകയും വേണം.

• Loop Errors ഉപയോക്താവ് മറുപടി നൽകിയ ശേഷവും മോഡൽ ഒരേ വ്യക്തത വരുത്താനുള്ള ചോദ്യങ്ങൾ തന്നെ ചോദിച്ചുകൊണ്ടേയിരുന്നു. പരിഹാരം: എൻ്റിറ്റി റെസല്യൂഷൻ (entity resolution) മോഡലിൽ നിന്ന് കോഡിലേക്ക് മാറ്റുക. ഉപയോക്താവ് ഡാറ്റ നൽകിക്കഴിഞ്ഞാൽ, സിസ്റ്റം ബാക്കി കാര്യങ്ങൾ കൃത്യതയോടെ (deterministically) കൈകാര്യം ചെയ്യണം.

• False Ambiguity ഒരു കമ്പനിയുടെ പേര് വ്യക്തമല്ലെന്ന് മോഡൽ അവകാശപ്പെട്ടു, എന്നാൽ അത് ശരിയല്ലായിരുന്നു. ഇത് വർക്ക്ഫ്ലോ തടസ്സപ്പെടുത്തി. പരിഹാരം: അവ്യക്തതയെക്കുറിച്ച് നിർദ്ദേശിക്കാൻ മോഡലിനെ അനുവദിക്കുക, എന്നാൽ അത് യഥാർത്ഥമാണോ എന്ന് തീരുമാനിക്കാൻ ഡാറ്റയെ അനുവദിക്കുക.

പ്രധാന തത്വം: LLM-നെ വിവരണങ്ങൾക്കായി ഉപയോഗിക്കുക, എന്നാൽ ഘടനാപരമായ ഫലങ്ങൾ (structured outcomes) അതിന്റെ നിയന്ത്രണത്തിലാക്കരുത്.

മോഡൽ ഉദ്ദേശ്യം (intent), പ്ലാനിംഗ്, ഭാഷ എന്നിവ കൈകാര്യം ചെയ്യണം. എൻ്റിറ്റി റെസല്യൂഷൻ, ചാർട്ട് ഡാറ്റ, റിപ്പോർട്ട് അസംബ്ലി എന്നിവ കോഡ് കൈകാര്യം ചെയ്യണം.

ഓരോ നിഗമനത്തെയും ഒരു റെക്കോർഡുമായി ബന്ധിപ്പിക്കാൻ കഴിയുമ്പോൾ ഒരു സിസ്റ്റം വിശ്വസനീയമാകുന്നു. കഥ പറയുന്നതിന് മോഡലിനെ ഉപയോഗിക്കുക, എന്നാൽ സത്യം ഉറപ്പാക്കാൻ നിങ്ങളുടെ കോഡ് ഉപയോഗിക്കുക.

Source: https://dev.to/ginollerena/six-bugs-only-a-live-model-could-teach-us-57k5

Optional learning community: https://t.me/GyaanSetuAi