ਤੁਹਾਡਾ ਹਾਰਨੈੱਸ (Harness) ਤੁਹਾਡੇ ਮਾਡਲ ਤੋਂ ਪਹਿਲਾਂ ਤੁਹਾਡੇ ਨਾਲ ਝੂਠ ਬੋਲੇਗਾ
ਤੁਹਾਡੇ ਮੁਲਾਂਕਣ ਸਕੋਰਬੋਰਡ (evaluation scoreboard) ਨੇ ਦੱਸਿਆ ਕਿ ਦੋਵੇਂ ਇੰਜਣ ਫੇਲ੍ਹ ਹੋ ਗਏ ਹਨ।
Llama3.2 6 ਵਿੱਚੋਂ 5 ਮਾਮਲਿਆਂ ਵਿੱਚ ਫੇਲ੍ਹ ਹੋ ਗਿਆ। Anthropic Sonnet 6 ਵਿੱਚੋਂ 6 ਮਾਮਲਿਆਂ ਵਿੱਚ ਫੇਲ੍ਹ ਹੋ ਗਿਆ।
ਲੇਬਲ "malformed" ਸੀ। ਪਰ ਕਾਰਨ ਵੱਖ-ਵੱਖ ਸਨ।
ਇੱਕ ਫੇਲ੍ਹ ਹੋਣ ਦਾ ਕਾਰਨ API error ਸੀ ਕਿਉਂਕਿ credits ਖਤਮ ਹੋ ਗਏ ਸਨ। ਇੱਕ ਫੇਲ੍ਹ ਹੋਣ ਦਾ ਕਾਰਨ CLI command ਤੋਂ ਆਏ terminal control bytes ਸਨ ਜਿਨ੍ਹਾਂ ਨੇ ਟੈਕਸਟ ਨੂੰ ਖਰਾਬ ਕਰ ਦਿੱਤਾ ਸੀ। ਇੱਕ ਫੇਲ੍ਹ ਹੋਣ ਦਾ ਕਾਰਨ markdown fences ਵਿੱਚ ਲਪੇਟਿਆ ਹੋਇਆ valid JSON ਸੀ ਜਿਸ ਨੂੰ parser ਪੜ੍ਹ ਨਹੀਂ ਸਕਿਆ।
ਜੇਕਰ ਮੈਂ ਉਹ ਪਹਿਲੀ ਸਮਰੀ (summary) ਪ੍ਰਕਾਸ਼ਿਤ ਕਰ ਦਿੱਤੀ ਹੁੰਦੀ, ਤਾਂ ਮੈਂ ਝੂਠ ਬੋਲਿਆ ਹੁੰਦਾ। ਮੈਂ ਆਪਣੇ ਕੋਡ ਦੀਆਂ ਅਸਫਲਤਾਵਾਂ ਲਈ ਮਾਡਲਾਂ ਨੂੰ ਦੋਸ਼ੀ ਠਹਿਰਾਇਆ ਹੁੰਦਾ।
ਮੈਂ ਸਮਰੀ 'ਤੇ ਭਰੋਸਾ ਕਰਨ ਦੀ ਬਜਾਏ raw records ਨੂੰ ਦੇਖ ਕੇ ਇਹ ਬੱਗ (bugs) ਲੱਭੇ।
ਪਹਿਲਾ ਬੱਗ ਇਸ ਲਈ ਹੋਇਆ ਕਿਉਂਕਿ ਮੈਂ Ollama ਨੂੰ ਕਾਲ ਕਰਨ ਲਈ ਇੱਕ CLI subprocess ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਸੀ। ਕਮਾਂਡ ਨੇ spinners ਅਤੇ cursor movements ਵਰਗੇ terminal animations ਪੈਦਾ ਕੀਤੇ। ਇਹ ANSI control bytes ਮੇਰੇ ਡੇਟਾ ਵਿੱਚ ਆ ਗਏ। Parser ਨੇ ਅਦਿੱਖ ਅੱਖਰ ਦੇਖੇ ਅਤੇ ਕ੍ਰੈਸ਼ (crash) ਹੋ ਗਿਆ।
ਸੁਧਾਰ: CLI subprocess ਤੋਂ ਬਦਲ ਕੇ ਸਿੱਧਾ HTTP API ਵਰਤੋ।
ਦੂਜਾ ਬੱਗ ਇਸ ਲਈ ਹੋਇਆ ਕਿਉਂਕਿ LLMs ਅਕਸਰ JSON ਨੂੰ markdown fences ਵਿੱਚ ਲਪੇਟਦੇ ਹਨ। ਮੇਰੇ parser ਨੇ raw string 'ਤੇ json.loads() ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਸੀ। ਇਸ ਨੇ backticks ਦੇਖੇ ਅਤੇ ਫੇਲ੍ਹ ਹੋ ਗਿਆ।
ਸੁਧਾਰ: parsing ਤੋਂ ਪਹਿਲਾਂ code fences ਨੂੰ ਹਟਾਉਣ ਲਈ ਇੱਕ ਫੰਕਸ਼ਨ ਜੋੜੋ।
ਜਦੋਂ ਮੈਂ ਪਾਈਪ (pipe) ਨੂੰ ਠੀਕ ਕਰ ਦਿੱਤਾ, ਤਾਂ ਅਸਲ ਨਤੀਜੇ ਸਾਹਮਣੇ ਆਏ।
ਮਾਡਲ "ਮਰੇ" ਨਹੀਂ ਸਨ। ਉਹ ਸਿਰਫ਼ ਹਾਰਨੈੱਸ (harness) ਦੁਆਰਾ ਵਿਗਾੜੇ ਜਾ ਰਹੇ ਸਨ। ਸੁਧਾਰ ਤੋਂ ਬਾਅਦ, ਦੋਵਾਂ ਮਾਡਲਾਂ ਵਿਚਕਾਰ ਗੁਣਵੱਤਾ ਦਾ ਅੰਤਰ ਦਿਖਾਈ ਦੇਣਯੋਗ ਅਤੇ ਮਾਪਣਯੋਗ ਹੋ ਗਿਆ।
ਤੁਹਾਡੇ AI evaluation pipeline ਲਈ ਸਬਕ:
- Raw output ਨੂੰ ਸੰਭਾਲ ਕੇ ਰੱਖੋ। ਜੇਕਰ ਸਮਰੀ "malformed" ਕਹਿੰਦੀ ਹੈ, ਤਾਂ raw output ਹੀ ਤੁਹਾਡੇ ਲਈ ਸੱਚ ਦਾ ਇੱਕੋ ਇੱਕ ਸਰੋਤ ਹੈ।
- ਫੇਲ੍ਹ ਹੋਣ ਦਾ ਕਾਰਨ ਰਿਕਾਰਡ ਕਰੋ। ਸਿਰਫ਼ "malformed" ਨਾ ਕਹੋ। "API error" ਜਾਂ "parse error" ਕਹੋ।
- ਆਪਣੇ ਟੈਸਟਿੰਗ ਮਿਆਰਾਂ ਨੂੰ ਫ੍ਰੀਜ਼ (freeze) ਰੱਖੋ। ਨਤੀਜਿਆਂ ਨੂੰ ਬਿਹਤਰ ਦਿਖਾਉਣ ਲਈ ਆਪਣੇ ਨਿਯਮ ਨਾ ਬਦਲੋ।
- ਹਾਰਨੈੱਸ (harness) ਨੂੰ ਟੈਸਟ ਕੀਤੇ ਜਾ ਰਹੇ ਸਿਸਟਮ ਦੇ ਇੱਕ ਹਿੱਸੇ ਵਜੋਂ ਮੰਨੋ।
ਸਿਰਫ਼ ਮਾਡਲ ਹੀ ਪ੍ਰੀਖਿਆ ਦੇ ਅਧੀਨ ਨਹੀਂ ਹੈ। ਤੁਹਾਡਾ ਕੋਡ ਵੀ ਹੈ।
Source: https://dev.to/kenielzep97/your-harness-will-lie-to-you-before-your-model-does-662
Optional learning community: https://t.me/GyaanSetuAi
