Automatic Prompt Engineer (APE) ഒരു ലാംഗ്വേജ് മോഡലിനെ ഒരു പ്രത്യേക ടാസ്ക്കിനായി ഏറ്റവും മികച്ച പ്രോംപ്റ്റ് എഴുതാനും പരിശോധിക്കാനും തിരഞ്ഞെടുക്കാനും അനുവദിക്കുന്നു. ഇത് പണ്ട് പരീക്ഷണാടിസ്ഥാനത്തിൽ (trial-and-error) ചെയ്തിരുന്ന ഒരു കലയെ, ആവർത്തിക്കാവുന്നതും ഡാറ്റാ അധിഷ്ഠിതവുമായ ഒരു സെർച്ച് പ്രക്രിയയാക്കി മാറ്റുന്നു.

പ്രോംപ്റ്റ് എഴുത്ത് ഒരു തടസ്സമായി മാറുന്നത് എന്തുകൊണ്ട്

പ്രോംപ്റ്റ് എഞ്ചിനീയറിംഗ്—അതായത് ഒരു മോഡലിനോട് എന്ത് ചെയ്യണമെന്ന് നിർദ്ദേശിക്കുന്ന കൃത്യമായ വാക്കുകൾ തയ്യാറാക്കുന്നത്—കുറേക്കാലമായി ഉൾപ്രേരണയുടെയും (intuition) ഭാഗ്യത്തിന്റെയും ഒരു മിശ്രിതമായിരുന്നു. വിദഗ്ധർ ഇവിടെയൊക്കെയോ ഒരു വാക്ക് മാറ്റിയും അവിടെയൊക്കെയോ ഒരു പ്രയോഗം മാറ്റിയിട്ടും മോഡൽ പ്രവർത്തിപ്പിക്കുകയും, ഔട്ട്‌പുട്ട് "ശരിയാണെന്ന് തോന്നുന്നതുവരെ" അത് തുടരുകയും ചെയ്യുന്നു. ഈ രീതി സമയം നീട്ടിക്കൊണ്ടുപോകുന്നതും എഞ്ചിനീയറുടെ ഭാവനയെ ആശ്രയിച്ചുള്ളതും ആയതിനാൽ പ്രകടനത്തെ പരിമിതപ്പെടുത്തുന്നു. പ്രൊഡക്ഷനിൽ ഇത് നീണ്ട സൈക്കിളുകൾക്കും, അസ്ഥിരമായ ഫലങ്ങൾക്കും, ലോഞ്ചിന് ശേഷം മാത്രം പുറത്തുവരുന്ന മറഞ്ഞിരിക്കുന്ന ചിലവുകൾക്കും കാരണമാകുന്നു.

APE-യുടെ മൂന്ന് ഘട്ടങ്ങളുള്ള പ്രവർത്തനരീതി (workflow)

പ്രോംപ്റ്റ് നിർമ്മാണത്തെ ഒരു സെർച്ച് പ്രോബ്ലം ആയിട്ടാണ് APE കാണുന്നത്. ഉപയോക്താവ് കുറച്ച് ഇൻപുട്ട്-ഔട്ട്‌പുട്ട് ഉദാഹരണങ്ങൾ നൽകുന്നു. തുടർന്ന് സിസ്റ്റം മൂന്ന് ഓട്ടോമേറ്റഡ് ഘട്ടങ്ങളിലൂടെ കടന്നുപോകുന്നു:

  1. Propose – മോഡൽ ഉദാഹരണങ്ങൾ പരിശോധിക്കുകയും “return the opposite” അല്ലെങ്കിൽ “write the antonym” എന്നിങ്ങനെയുള്ള നിർദ്ദേശങ്ങളുടെ ഒരു കൂട്ടം (candidate instructions) നൽകുകയും ചെയ്യുന്നു.
  2. Score – സിസ്റ്റം ഓരോ നിർദ്ദേശവും കാണാത്ത (unseen) പുതിയ ഉദാഹരണങ്ങളിൽ പരീക്ഷിക്കുകയും, എത്ര ഉത്തരങ്ങൾ പ്രതീക്ഷിച്ച ഔട്ട്‌പുട്ടുമായി പൊരുത്തപ്പെടുന്നു എന്ന് കണക്കാക്കി ഒരു അക്യുറസി (accuracy) സംഖ്യ നൽകുകയും ചെയ്യുന്നു. ഈ ഘട്ടത്തിൽ മനുഷ്യന്റെ ഇടപെടലുകൾ ആവശ്യമില്ല.
  3. Select – ഏറ്റവും ഉയർന്ന അക്യുറസി ഉള്ള നിർദ്ദേശം അന്തിമ പ്രോംപ്റ്റായി മാറുന്നു.

ഈ പ്രക്രിയ ആവർത്തിക്കാവുന്നതാണ്. വിജയിച്ച പ്രോംപ്റ്റ് പുതിയ സീഡ് (seed) ആയി മാറുകയും മോഡൽ അതിന്റെ വ്യത്യസ്ത രൂപങ്ങൾ നിർദ്ദേശിക്കുകയും ചെയ്യുന്നു. റിപ്പോർട്ടുകൾ പ്രകാരം, 83% സ്കോർ ചെയ്ത ഒരു സാധാരണ നിർദ്ദേശത്തെ ടെസ്റ്റ് സെറ്റിൽ 100% സ്കോർ ചെയ്യുന്ന രീതിയിലേക്ക് പരിഷ്കരിക്കാൻ ഇതിലൂടെ സാധിച്ചു.

മനുഷ്യനേക്കാൾ ഈ രീതിയെ ശക്തമാക്കുന്നത് എന്താണ്

  • Coverage – ഒരു മനുഷ്യന് പരിശോധിക്കാൻ കഴിയുന്നതിനേക്കാൾ എത്രയോ മടങ്ങ് പ്രയോഗങ്ങളുടെ (phrasing) ബദലുകൾ സെക്കൻഡുകൾക്കുള്ളിൽ ഒരു LLM തയ്യാറാക്കുന്നു.
  • Objectivity – തിരഞ്ഞെടുപ്പ് നടക്കുന്നത് അളക്കാവുന്ന അക്യുറസിയെ അടിസ്ഥാനമാക്കിയാണ്, അല്ലാതെ വാക്കുകളുടെ ഭംഗിയെ അടിസ്ഥാനമാക്കിയല്ല. ഒരു പാഠപുസ്തക ശൈലിയിലുള്ള നിർദ്ദേശത്തേക്കാൾ, മോഡലിന് കൂടുതൽ എളുപ്പത്തിൽ മനസ്സിലാകുന്ന ചുരുങ്ങിയ വാക്കുകളുള്ള ഒരു നിർദ്ദേശം തിരഞ്ഞെടുക്കപ്പെട്ടേക്കാം.

സ്കോറിംഗ് മെട്രിക് ഉപയോക്താവിൽ നിന്ന് ലഭിക്കുന്നതുകൊണ്ട് (സാധാരണയായി ഒരു എക്സാക്റ്റ് മാച്ച് ചെക്ക് അല്ലെങ്കിൽ യൂണിറ്റ് ടെസ്റ്റ്), കോഡ് ജനറേഷൻ മുതൽ സെന്റിമെന്റ് അനാലിസിസ് വരെയുള്ള ഏത് ആവശ്യങ്ങൾക്കും ഈ സിസ്റ്റത്തെ ക്രമീകരിക്കാൻ സാധിക്കും.

ഓട്ടോമേഷന്റെ വില

ഇതിന്റെ പകരമായി നൽകേണ്ടത് കമ്പ്യൂട്ടിംഗ് പവർ (compute) ആണ്. ഓരോ നിർദ്ദേശവും സ്കോർ ചെയ്യാൻ നിരവധി മോഡൽ കോളുകൾ ആവശ്യമായതിനാൽ, ഡെവലപ്മെന്റ് ഘട്ടത്തിൽ ഗണ്യമായ അളവിൽ API ഉപയോഗിക്കേണ്ടി വരും. എന്നാൽ APE ഈ ചിലവിനെ ഒരു ഒറ്റത്തവണ നിക്ഷേപമായി കാണുന്നു: ഏറ്റവും അനുയോജ്യമായ പ്രോംപ്റ്റ് കണ്ടെത്തിക്കഴിഞ്ഞാൽ, അധിക ചിലവില്ലാതെ നിങ്ങൾക്ക് അത് എപ്പോഴും ഉപയോഗിക്കാം.

രണ്ട് മുൻവ്യവസ്ഥകൾ ഇതിന്റെ ഉപയോഗത്തെ പരിമിതപ്പെടുത്തുന്നു:

  • Labeled examples – സിസ്റ്റത്തിന് കൃത്യമായ ഇൻപുട്ടുകളും ഔട്ട്‌പുട്ടുകളും അടങ്ങിയ ഒരു സെറ്റ് ആവശ്യമാണ്.
  • Scoring function – തങ്ങളുടെ ടാസ്ക്കിന് എന്താണ് "ശരി" എന്ന് ഉപയോക്താക്കൾ നിർവചിക്കണം; അത് ഒരു എക്സാക്റ്റ് സ്ട്രിംഗ് മാച്ച് ആകാം, ഒരു നമ്പറിക് ടോളറൻസ് ആകാം, അല്ലെങ്കിൽ ഒരു കസ്റ്റം വാലിഡേറ്റർ ആകാം.

ഈ ആശയത്തിന് എവിടെ വെച്ച് തടസ്സങ്ങൾ നേരിടാം

തുടക്കത്തിലുള്ള ഉദാഹരണങ്ങൾ വളരെ കുറവോ അല്ലെങ്കിൽ കൃത്യമല്ലാത്തതോ ആണെങ്കിൽ, തിരഞ്ഞെടുക്കപ്പെട്ട പ്രോംപ്റ്റ് ഓവർഫിറ്റ് (overfit) ആകാനും യഥാർത്ഥ ലോകത്ത് ഉപയോഗിക്കുമ്പോൾ പരാജയപ്പെടാനും സാധ്യതയുണ്ട്.

ഇനി ശ്രദ്ധിക്കേണ്ട കാര്യങ്ങൾ

ഈ ടൂൾ ഒരു ബദൽ മാർഗ്ഗം വാഗ്ദാനം ചെയ്യുന്നു: കുറച്ച് ഉദാഹരണങ്ങൾ നൽകുക, മോഡലിനെ ആവർത്തിച്ച് പരീക്ഷിക്കാൻ അനുവദിക്കുക, തുടർന്ന് സിസ്റ്റം ഏറ്റവും ഉയർന്ന റാങ്ക് നൽകുന്ന പ്രോംപ്റ്റ് നേടുക. ഇതിന്റെ ഡെമോ യഥാർത്ഥ അറിയിപ്പിലെ ലിങ്കിൽ ലഭ്യമാണ്, കൂടാതെ ടെലിഗ്രാമിൽ ഒരു ലേണിംഗ് കമ്മ്യൂണിറ്റിയും ഉണ്ട്.

ചുരുക്കത്തിൽ: പ്രോംപ്റ്റ് എഞ്ചിനീയറിംഗ് ഓട്ടോമേറ്റ് ചെയ്യുന്നത് ഊഹങ്ങൾക്ക് പകരം അളക്കാവുന്ന പ്രകടനം നൽകുന്നു, എന്നാൽ ഇതിന് മുൻകൂട്ടി ഡാറ്റയും കമ്പ്യൂട്ടിംഗ് പവറും കൃത്യമായ വിജയലക്ഷ്യവും ആവശ്യമാണ്.