તમારા મોડેલ કરતા પહેલા તમારું હાર્નેસ તમને જૂઠું બોલશે
તમારા ઇવેલ્યુએશન સ્કોરબોર્ડમાં બંને એન્જિન નિષ્ફળ ગયા હતા તેમ દર્શાવ્યું હતું.
Llama3.2 6 માંથી 5 કિસ્સાઓમાં નિષ્ફળ રહ્યું. Anthropic Sonnet 6 માંથી 6 કિસ્સાઓમાં નિષ્ફળ રહ્યું.
લેબલ "malformed" હતું. પરંતુ તેના કારણો અલગ હતા.
એક નિષ્ફળતા API એરર હતી કારણ કે ક્રેડિટ્સ ખતમ થઈ ગયા હતા. એક નિષ્ફળતા CLI કમાન્ડમાંથી આવેલા ટર્મિનલ કંટ્રોલ બાઇટ્સને કારણે ટેક્સ્ટ બગડવાને લીધે હતી. એક નિષ્ફળતા markdown fences માં વીંટળાયેલું માન્ય JSON હતું જેને પાર્સર વાંચી શક્યું નહીં.
જો મેં તે પહેલો સારાંશ (summary) પ્રકાશિત કર્યો હોત, તો મેં જૂઠું બોલ્યું હોત. મેં મારા પોતાના કોડની નિષ્ફળતા માટે મોડેલ્સને દોષ આપ્યો હોત.
મેં સારાંશ પર વિશ્વાસ કરવાને બદલે રો (raw) રેકોર્ડ્સ જોઈને આ બગ્સ શોધ્યા.
પહેલો બગ એટલા માટે થયો કારણ કે મેં Ollama ને કોલ કરવા માટે CLI subprocess નો ઉપયોગ કર્યો હતો. તે કમાન્ડથી સ્પિનર્સ અને કર્સર મૂવમેન્ટ જેવી ટર્મિનલ એનિમેશન ઉત્પન્ન થઈ હતી. આ ANSI કંટ્રોલ બાઇટ્સ મારા ડેટામાં આવી ગયા હતા. પાર્સરે અદ્રશ્ય કેરેક્ટર્સ જોયા અને તે ક્રેશ થઈ ગયું.
ઉકેલ: CLI subprocess ને બદલે સીધા HTTP API નો ઉપયોગ કરો.
બીજો બગ એટલા માટે થયો કારણ કે LLMs ઘણીવાર JSON ને markdown fences માં વીંટાળે છે. મારા પાર્સરે રો સ્ટ્રિંગ પર json.loads() નો ઉપયોગ કર્યો હતો. તેણે બેકટિક્સ (backticks) જોયા અને તે નિષ્ફળ ગયું.
ઉકેલ: પાર્સિંગ કરતા પહેલા કોડ ફેન્સ (code fences) દૂર કરવા માટે એક ફંક્શન ઉમેરો.
એકવાર મેં પાઇપલાઇન સુધારી દીધી, પછી સાચા પરિણામો દેખાયા.
મોડેલ્સ "ડેડ" નહોતા. તે ફક્ત હાર્નેસ દ્વારા બગડી રહ્યા હતા. સુધારા પછી, બંને મોડેલ્સ વચ્ચેની ગુણવત્તાનો તફાવત સ્પષ્ટ અને માપી શકાય તેવો બન્યો.
તમારી AI ઇવેલ્યુએશન પાઇપલાઇન માટેના પાઠ:
- રો આઉટપુટ (raw output) રાખો. જો સારાંશ "malformed" કહે છે, તો રો આઉટપુટ એ જ સત્યનો તમારો એકમાત્ર સ્ત્રોત છે.
- નિષ્ફળતાનું કારણ રેકોર્ડ કરો. ફક્ત "malformed" ન કહો. "API error" અથવા "parse error" કહો.
- તમારા ટેસ્ટિંગના ધોરણોને ફ્રીઝ (freeze) કરો. પરિણામો સારા દેખાય તે માટે તમારા નિયમો બદલશો નહીં.
- હાર્નેસને ટેસ્ટ હેઠળની સિસ્ટમના ભાગ તરીકે ગણો.
માત્ર મોડેલ જ પરીક્ષણ હેઠળ નથી. તમારો કોડ પણ છે.
Source: https://dev.to/kenielzep97/your-harness-will-lie-to-you-before-your-model-does-662
Optional learning community: https://t.me/GyaanSetuAi
