तुमच्या मॉडेलच्या आधी तुमचे हॅर्नेस तुम्हाला खोटे सांगू शकते

तुमच्या इव्हॅल्युएशन स्कोअरबोर्डने सांगितले की दोन्ही इंजिन अपयशी ठरले.

Llama3.2 ६ पैकी ५ प्रकरणांमध्ये अपयशी ठरले. Anthropic Sonnet ६ पैकी ६ प्रकरणांमध्ये अपयशी ठरले.

लेबल "malformed" असे होते. परंतु त्यांची कारणे वेगळी होती.

एक अपयश हे क्रेडिट्स संपल्यामुळे आलेली API एरर होती. एक अपयश हे CLI कमांडमधील टर्मिनल कंट्रोल बाईट्समुळे मजकूर खराब झाल्यामुळे होते. एक अपयश हे वैध JSON जे markdown fences मध्ये गुंडाळलेले होते आणि पार्सर ते वाचू शकला नाही.

जर मी तो पहिला सारांश प्रसिद्ध केला असता, तर मी खोटे बोललो असतो. माझ्या स्वतःच्या कोडमधील त्रुटींसाठी मी मॉडेल्सना दोष दिला असता.

सारांशावर विश्वास ठेवण्याऐवजी रॉ रेकॉर्ड्स (raw records) पाहून मला हे बग्स सापडले.

पहिला बग तेव्हा उद्भवला जेव्हा मी Ollama कॉल करण्यासाठी CLI subprocess वापरला. त्या कमांडमुळे स्पिनर्स आणि कर्सर मूव्हमेंट सारखी टर्मिनल ॲनिमेशन्स तयार झाली. हे ANSI कंट्रोल बाईट्स माझ्या डेटा मध्ये आले. पार्सरला अदृश्य कॅरेक्टर्स दिसले आणि तो क्रॅश झाला.

उपाय: CLI subprocess ऐवजी थेट HTTP API वापरा.

दुसरा बग तेव्हा उद्भवला कारण LLMs अनेकदा JSON ला markdown fences मध्ये गुंडाळतात. माझा पार्सर रॉ स्ट्रिंगवर json.loads() वापरत होता. त्याला बॅकटिक्स (backticks) दिसले आणि तो अपयशी ठरला.

उपाय: पार्सिंग करण्यापूर्वी कोड फेन्सेस (code fences) काढून टाकण्यासाठी एक फंक्शन जोडा.

एकदा का मी पाईपलाईन सुधारली, की वास्तविक निकाल समोर आले.

मॉडेल्स "मृत" नव्हते. ते फक्त हॅर्नेसमुळे विस्कळीत (garbled) होत होते. दुरुस्तीनंतर, दोन्ही मॉडेल्समधील गुणवत्तेतील तफावत स्पष्ट आणि मोजण्यायोग्य झाली.

तुमच्या AI इव्हॅल्युएशन पाईपलाईनसाठी धडे:

  • रॉ आउटपुट (raw output) जतन करा. जर सारांश "malformed" म्हणत असेल, तर रॉ आउटपुट हाच तुमचा एकमेव सत्य स्रोत आहे.
  • अपयशाचे कारण नोंदवा. फक्त "malformed" असे म्हणू नका. "API error" किंवा "parse error" असे म्हणा.
  • तुमचे टेस्टिंग स्टँडर्ड्स स्थिर ठेवा. निकाल चांगले दिसण्यासाठी तुमचे नियम बदलू नका.
  • हॅर्नेसला चाचणी હેઠળ असलेल्या प्रणालीचा (system under test) एक भाग समजा.

केवळ मॉडेलच चाचणीच्या अधीन नाही. तुमचा कोड देखील आहे.

Source: https://dev.to/kenielzep97/your-harness-will-lie-to-you-before-your-model-does-662

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