HarnessDev: LLM-കൾ സ്വന്തം ഇൻഫ്രാസ്ട്രക്ചർ നിർമ്മിക്കുന്നു
ByteDance-ഉം ഒരു കൂട്ടം സർവ്വകലാശാലകളും ചേർന്ന് HarnessDev എന്ന ഒരു ഫ്രെയിംവർക്ക് പുറത്തിറക്കി. ഇത് ലാർജ് ലാംഗ്വേജ് മോഡലുകളെ (LLMs) അവയുടെ തന്നെ "ഏജന്റ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങൾ" (ഇതിനെ Agent Harnesses എന്ന് വിളിക്കുന്നു) എഴുതാൻ അനുവദിക്കുന്നു. ഒരു ചെറിയ സ്റ്റാർട്ടർ കിറ്റ് LLM-ന് നൽകുകയും ബാക്കി കാര്യങ്ങൾ അത് തന്നെ പൂർത്തിയാക്കാൻ അനുവദിക്കുകയും ചെയ്യുന്ന രീതിയാണിത്. മനുഷ്യർ ഓരോ വരിയും ടൈപ്പ് ചെയ്യാതെ തന്നെ, സ്വന്തം ടൂൾ ഉപയോഗിക്കുന്ന ലൂപ്പുകൾ (tool-use loops), വെരിഫിക്കേഷൻ ഘട്ടങ്ങൾ, എറർ ഹാൻഡ്ലിംഗ് എന്നിവ നിയന്ത്രിക്കുന്ന കൺട്രോൾ ലെയർ നിർമ്മിക്കാൻ AI-ക്ക് കഴിയുമെന്ന് ഇത് കാണിച്ചുതരുന്നു.
എന്തുകൊണ്ടാണ് സ്വയം നിർമ്മിച്ച ഹാർനസ്സ് (harness) പ്രധാനമാകുന്നത്?
AI ഏജന്റുകൾ വെറും സിംഗിൾ-പ്രോംപ്റ്റ് അസിസ്റ്റന്റുകളിൽ നിന്ന് മാറി, ഇപ്പോൾ API-കൾ വിളിക്കാനും ഡാറ്റാബേസുകൾ പരിശോധിക്കാനും ഫലങ്ങൾ കോർത്തിണക്കാനും കഴിയുന്ന മൾട്ടി-സ്റ്റെപ്പ് വർക്കർമാരായി മാറിയിരിക്കുന്നു. ഇതുവരെ, ഒരു സെർച്ച് ടൂൾ എപ്പോൾ ഉപയോഗിക്കണം, ഇടക്കാല വിവരങ്ങൾ (intermediate state) എങ്ങനെ സൂക്ഷിക്കണം, ഒരു ഉത്തരം എങ്ങനെ പരിശോധിക്കണം എന്ന് മോഡലിന് നിർദ്ദേശിക്കുന്ന ഓർക്കസ്ട്രേഷൻ കോഡുകൾ ഡെവലപ്പർമാരാണ് നേരിട്ട് തയ്യാറാക്കിയിരുന്നത്. എന്നാൽ HarnessDev ഈ രീതിയെ മാറ്റുന്നു: ഒരു seed harness ആവശ്യമായ അടിസ്ഥാന ഘടനകൾ (ലൂപ്പിംഗ്, ടൂൾ തിരഞ്ഞെടുക്കൽ, സ്റ്റേറ്റ് ട്രാക്കിംഗ് എന്നിവയ്ക്കുള്ള അടിസ്ഥാന ഫംഗ്ഷനുകൾ) നൽകുന്നു, തുടർന്ന് LLM അത് ഒരു പൂർണ്ണമായ റൺടൈം (runtime) ആയി വികസിപ്പിക്കുന്നു.
ഈ പഠനത്തിലെ ബെഞ്ച്മാർക്കിൽ, മോഡൽ 18 വ്യത്യസ്ത ഹാർനസുകൾ നിർമ്മിച്ചു, കൂടാതെ യഥാർത്ഥ സീഡിന് പുറമെ 17,000-ലധികം വരി കോഡുകൾ കൂടി ഇതിലേക്ക് കൂട്ടിച്ചേർത്തു. ഓരോ ഹാർനസ്സും ഒരു ടാസ്കിന്റെ മുഴുവൻ ജീവിതചക്രം (life-cycle) നിയന്ത്രിച്ചു: ലൂപ്പുകൾ പ്രവർത്തിപ്പിക്കുക, ശരിയായ ടൂൾ തിരഞ്ഞെടുക്കുക, കോൺടെക്സ്റ്റ് നിലനിർത്തുക, സ്റ്റേറ്റ് ട്രാക്ക് ചെയ്യുക, ഫലങ്ങൾ പരിശോധിക്കുക, പിശകുകളിൽ നിന്ന് തിരിച്ചു വരിക എന്നിവ ഇതിൽ ഉൾപ്പെടുന്നു.
പഠനം വെളിപ്പെടുത്തിയ മറഞ്ഞിരിക്കുന്ന ചില ചെലവുകൾ
ഈ കണക്കുകൾ ആകർഷകമാണെങ്കിലും, വെറുമൊരു ഇംപ്ലിമെന്റേഷൻ പ്രായോഗിക ഉപയോഗത്തിന് തുല്യമല്ലെന്ന് ഗവേഷകർ മുന്നറിയിപ്പ് നൽകുന്നു.
- ഉപയോഗിക്കാത്ത ഘടകങ്ങൾ (Unused components) – നിർമ്മിക്കപ്പെട്ട കോഡിന്റെ വലിയൊരു ഭാഗം യഥാർത്ഥ ടാസ്ക് നടപ്പിലാക്കുമ്പോൾ ഒരിക്കലും പ്രവർത്തിച്ചിട്ടില്ല. ഏജന്റ് ഒരിക്കലും ഉപയോഗിക്കാത്ത ഫംഗ്ഷനുകൾ LLM എഴുതുകയും, ഇത് മൂല്യം വർദ്ധിപ്പിക്കാതെ തന്നെ കോഡ് ബേസിനെ വലുതാക്കുകയും ചെയ്തു.
- മോഡൽ ലോക്ക്-ഇൻ (Model lock-in) – ഹാർനസുകൾ അവ നിർമ്മിച്ച പ്രത്യേക LLM-ന് അനുയോജ്യമായ രീതിയിൽ ക്രമീകരിക്കപ്പെട്ടിരുന്നു. അതേ ഹാർനസ്സ് മറ്റൊരു മോഡലിന് നൽകിയപ്പോൾ പ്രവർത്തനക്ഷമത ഗണ്യമായി കുറഞ്ഞു. ഇത് ഓട്ടോ-ജനറേറ്റഡ് കൺട്രോൾ ലോജിക്കിൽ ആ പ്രത്യേക മോഡലിന്റെ സവിശേഷതകൾ (quirks) അടങ്ങിയിരിക്കുന്നു എന്ന് സൂചിപ്പിക്കുന്നു.
- വെരിഫിക്കേഷൻ വിടവുകൾ (Verification gaps) – ഒരു ടെസ്റ്റ് ഹാർനസ്സ് 99% വിജയനിരക്ക് (100 ഓout of 100 റണ്ണുകളിൽ 99) റിപ്പോർട്ട് ചെയ്തെങ്കിലും, അത് ശരിയായത് 48% തവണ മാത്രമായിരുന്നു. ശക്തമായ വെരിഫിക്കേഷൻ ഇല്ലാതെ, ഒരു ഏജന്റിന് തെറ്റായ ഉത്തരങ്ങൾ ആത്മവിശ്വാസത്തോടെ അവതരിപ്പിക്കാൻ സാധിക്കും.
- ടോക്കൺ ഓവർഹെഡ് (Token overhead) – കമ്പ്യൂട്ട് ചെലവിന്റെ സൂചകമായ ടോക്കൺ ഉപയോഗത്തിൽ വലിയ വ്യത്യാസങ്ങൾ കണ്ടു. ഒരേ ഫലം ലഭിക്കാൻ ഒരു ഹാർനസ്സിന് മറ്റൊന്നിനേക്കാൾ ഏഴ് മടങ്ങ് കൂടുതൽ ടോക്കണുകൾ ആവശ്യമായി വന്നു. ഇത് പ്രൊഡക്ഷൻ സാഹചര്യങ്ങളിലെ സ്കെയിലബിലിറ്റിയെക്കുറിച്ച് ആശങ്കയുണ്ടാക്കുന്നു.
കോഡ് ഒരു LLM-ൽ നിന്ന് ഉത്ഭവിക്കുന്നതാണെങ്കിൽ പോലും, കൃത്യമായ ഡിസൈൻ ആവശ്യമാണെന്ന് ഈ കണ്ടെത്തലുകൾ ചൂണ്ടിക്കാട്ടുന്നു.
ഡെവലപ്പർമാർ ശ്രദ്ധിക്കേണ്ട കാര്യങ്ങൾ
- ഹാർനസ്സ് ഡിസൈനിനെ ഒരു ആർക്കിടെക്ചറായി കാണുക – മോഡൽ തനിയെ എല്ലാം ശരിയാക്കുമെന്ന് വിശ്വസിക്കരുത്. LLM-നെ കോഡ് എഴുതാൻ അനുവദിക്കുന്നതിന് മുമ്പ് ലൂപ്പ് കൺട്രോൾ, ടൂൾ സെലക്ഷൻ, സ്റ്റേറ്റ് ഹാൻഡ്ലിംഗ്, വെരിഫിക്കേഷൻ എന്നിവയ്ക്കായി വ്യക്തമായ മോഡ്യൂളുകൾ നിർവചിക്കുക.
- ശക്തമായ വെരിഫിക്കേഷൻ നിർമ്മിക്കുക – ഏജന്റിന്റെ അവകാശവാദങ്ങളെ ഗ്രൗണ്ട് ട്രൂത്തോടുമോ (ground truth) അല്ലെങ്കിൽ ഒരു സെക്കൻഡറി മോഡലിനോടുമോ താരതമ്യം ചെയ്യുന്ന വ്യക്തമായ പരിശോധനകൾ ഉൾപ്പെടുത്തുക. 99% വിജയനിരക്ക് റിപ്പോർട്ട് ചെയ്തിട്ടും 48% കൃത്യത മാത്രം ലഭിച്ചത്, വെരിഫിക്കേഷൻ എന്നത് പിന്നീട് ചിന്തിക്കേണ്ട ഒന്നല്ല എന്ന് കാണിക്കുന്നു.
- ടോക്കൺ ബജറ്റ് ശ്രദ്ധിക്കുക – സങ്കീർണ്ണമായ ഹാർനസുകൾ ടോക്കൺ ഉപയോഗം വർദ്ധിപ്പിച്ചേക്കാം. മറഞ്ഞിരിക്കുന്ന ചെലവുകൾ ഒഴിവാക്കാൻ വിവിധ ഹാർനസ്സ് വേരിയന്റുകൾ നേരത്തെ തന്നെ പരിശോധിക്കുക.
- വിവിധ മോഡലുകളിൽ പരീക്ഷിക്കുക – ഒരേ ഹാർനസ്സ് തന്നെ ഒന്നിലധികം LLM ബാക്കെൻഡുകളിൽ പ്രവർത്തിപ്പിച്ചു നോക്കുക. പ്രവർത്തനക്ഷമത പെട്ടെന്ന് കുറയുന്നുണ്ടെങ്കിൽ, നിങ്ങൾക്ക് കൂടുതൽ മോഡൽ-അഗ്നോസ്റ്റിക് (model-agnostic) ആയ ഡിസൈനോ അല്ലെങ്കിൽ ഓരോ മോഡലിനും പ്രത്യേക ഹാർനസുകളോ ആവശ്യമായി വന്നേക്കാം.
ചുരുക്കത്തിൽ: LLM-കൾക്ക് സ്വന്തമായി ഒരു ഓപ്പറേറ്റിംഗ് സിസ്റ്റം പോലെ പ്രവർത്തിക്കുന്ന കൺട്രോൾ കോഡ് തയ്യാറാക്കാൻ കഴിയുമെന്ന് HarnessDev തെളിയിക്കുന്നു.
