SWE-Prime ਇਹ ਦਿਖਾਉਂਦਾ ਹੈ ਕਿ "pass" ਰਨਾਂ ਦੇ ਧਿਆਨ ਨਾਲ ਚੁਣੇ ਗਏ 10% 'ਤੇ ਟ੍ਰੇਨਿੰਗ ਕਰਨਾ, ਮਾਡਲ ਵਿੱਚ ਹਰ ਸਫਲ ਟ੍ਰੈਜੈਕਟਰੀ (trajectory) ਨੂੰ ਪਾਉਣ ਨਾਲੋਂ ਵਧੇਰੇ ਮਜ਼ਬੂਤ AI ਏਜੰਟ ਪੈਦਾ ਕਰਦਾ ਹੈ, ਜੋ ਕਿ ਪਾਸ ਲੇਬਲ ਨੂੰ ਇੱਕ ਭਰੋਸੇਯੋਗ ਕੁਆਲਿਟੀ ਫਿਲਟਰ ਵਜੋਂ ਮੰਨਣ ਦੀ ਲੰਬੇ ਸਮੇਂ ਤੋਂ ਚੱਲ ਰਹੀ ਆਦਤ 'ਤੇ ਸਵਾਲ ਖੜ੍ਹੇ ਕਰਦਾ ਹੈ।
ਇਹ ਨਤੀਜਾ ਕੋਡ-ਜਨਰੇਸ਼ਨ ਜਾਂ ਆਟੋਮੇਟਡ ਡੀਬੱਗਿੰਗ ਏਜੰਟ ਬਣਾਉਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਵਿਅਕਤੀ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹੈ: ਵਧੇਰੇ ਡਾਟਾ ਦਾ ਮਤਲਬ ਆਪਣੇ ਆਪ ਬਿਹਤਰ ਪ੍ਰਦਰਸ਼ਨ ਨਹੀਂ ਹੁੰਦਾ, ਅਤੇ ਬਾਈਨਰੀ pass/fail ਫਲੈਗ 'ਤੇ ਨਿਰਭਰ ਰਹਿਣਾ ਅਸਲ ਵਿੱਚ ਮਾਡਲਾਂ ਨੂੰ ਭਟਕਣਾ, ਬੇਕਾਰ ਟੂਲ ਕਾਲਾਂ ਨੂੰ ਦੁਹਰਾਉਣਾ, ਅਤੇ ਤਰਕ (reasoning) ਦੀ ਬਜਾਏ ਕਿਸਮਤ 'ਤੇ ਨਿਰਭਰ ਹੋਣਾ ਸਿਖਾ ਸਕਦਾ ਹੈ।
"pass" ਫਲੈਗ 'ਤੇ ਭਰੋਸਾ ਕਿਉਂ ਕੀਤਾ ਜਾਂਦਾ ਰਿਹਾ ਹੈ
ਜ਼ਿਆਦਾਤਰ reinforcement-learning-from-human-feedback ਪਾਈਪਲਾਈਨਾਂ ਵਿੱਚ, ਇੰਜੀਨੀਅਰ ਇੱਕ ਟ੍ਰੈਜੈਕਟਰੀ—ਜੋ ਕਿ ਨਿਰੀਖਣਾਂ (observations), ਕਾਰਵਾਈਆਂ (actions) ਅਤੇ ਟੂਲ ਇੰਵੋਕੇਸ਼ਨਾਂ (tool invocations) ਦਾ ਇੱਕ ਪੂਰਾ ਕ੍ਰਮ ਹੈ—ਨੂੰ "pass" ਵਜੋਂ ਲੇਬਲ ਕਰਦੇ ਹਨ ਜਦੋਂ ਅੰਤਿਮ ਨਤੀਜਾ ਟੈਸਟ ਦੇ ਮਾਪਦੰਡਾਂ ਨੂੰ ਪੂਰਾ ਕਰਦਾ ਹੈ। ਅਨੁਮਾਨ ਸਰਲ ਹੈ: ਜੇਕਰ ਏਜੰਟ ਸਫਲ ਹੋ ਗਿਆ ਹੈ, ਤਾਂ ਪੂਰੇ ਐਪੀਸੋਡ ਵਿੱਚ ਲਾਭਦਾਇਕ ਵਿਵਹਾਰ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ। ਇਸ ਲਈ ਉਹ ਹਰ ਪਾਸ ਹੋਣ ਵਾਲੇ ਰਨ ਨੂੰ ਟ੍ਰੇਨਿੰਗ ਪੂਲ ਵਿੱਚ ਪਾ ਦਿੰਦੇ ਹਨ, ਇਸ ਉਮੀਦ ਵਿੱਚ ਕਿ ਮਾਡਲ ਉਨ੍ਹਾਂ ਪੈਟਰਨਾਂ ਨੂੰ ਸਿੱਖ ਲਵੇਗਾ ਜੋ ਸਫਲਤਾ ਵੱਲ ਲੈ ਕੇ ਗਏ ਸਨ।
ਉਹ ਅਨੁਮਾਨ ਮਹੀਨਿਆਂ ਤੋਂ ਸੌਫਟਵੇਅਰ-ਇੰਜੀਨੀਅਰਿੰਗ (SWE) ਏਜੰਟਾਂ ਲਈ ਵੱਡੇ ਪੱਧਰ 'ਤੇ ਡਾਟਾ ਇਕੱਠਾ ਕਰਨ ਦਾ ਮਾਰਗਦਰਸ਼ਕ ਰਿਹਾ ਹੈ। ਤਰਕ ਸਹੀ ਲੱਗਦਾ ਹੈ: ਇੱਕ pass ਇਹ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਏਜੰਟ ਨੇ ਸਮੱਸਿਆ ਨੂੰ ਹੱਲ ਕਰ ਲਿਆ ਹੈ, ਇਸ ਲਈ ਐਪੀਸੋਡ ਨੂੰ ਉਨ੍ਹਾਂ ਨੀਤੀਆਂ (policies) ਨੂੰ ਮਜ਼ਬੂਤ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ ਜਿਨ੍ਹਾਂ ਨੇ ਇਸ ਨੂੰ ਸੰਭਵ ਬਣਾਇਆ।
SWE-Prime ਨੇ ਕੀ ਵੱਖਰਾ ਕੀਤਾ
SWE-Prime ਅਧਿਐਨ ਨੇ ਸਥਿਤੀ ਨੂੰ ਬਦਲ ਦਿੱਤਾ। ਖੋਜਕਰਤਾਵਾਂ ਨੇ ਕੋਡ-ਲਿਖਣ ਦੇ ਕੰਮਾਂ ਦੇ ਇੱਕ ਮਿਆਰੀ ਬੈਂਚਮਾਰਕ ਨੂੰ ਲਿਆ ਅਤੇ ਸਫਲ ਰਨਾਂ ਨੂੰ ਦੋ ਸਮੂਹਾਂ ਵਿੱਚ ਵੰਡ ਦਿੱਤਾ:
- ਸਾਰੇ pass ਟ੍ਰੈਜੈਕਟਰੀਜ਼ – ਰਵਾਇਤੀ ਟ੍ਰੇਨਿੰਗ ਸੈੱਟ, ਜਿਸ ਵਿੱਚ ਹਰ ਉਹ ਐਪੀਸੋਡ ਸ਼ਾਮਲ ਹੈ ਜਿਸ ਨੇ ਟੈਸਟ ਪਾਸ ਕੀਤਾ।
- ਇੱਕ ਚੁਣਿਆ ਹੋਇਆ 10% ਸਬਸੈੱਟ – ਪੂਰੇ ਸੈੱਟ ਵਿੱਚੋਂ ਹੱਥ ਨਾਲ ਚੁਣਿਆ ਗਿਆ।
ਦੋਵਾਂ ਸਮੂਹਾਂ ਨੇ ਇੱਕੋ ਜਿਹੇ ਮਾਡਲ ਆਰਕੀਟੈਕਚਰਾਂ ਨੂੰ fine-tune ਕੀਤਾ। ਜਦੋਂ ਰੱਖੇ ਗਏ (held-out) ਮਸਲਿਆਂ 'ਤੇ ਮੁਲਾਂਕਣ ਕੀਤਾ ਗਿਆ, ਤਾਂ ਚੁਣੇ ਹੋਏ ਸਬਸੈੱਟ 'ਤੇ ਟ੍ਰੇਨ ਕੀਤੇ ਗਏ ਮਾਡਲ ਨੇ ਪੂਰੇ pass ਸੈੱਟ 'ਤੇ ਟ੍ਰੇਨ ਕੀਤੇ ਗਏ ਮਾਡਲ ਨਾਲੋਂ ਬਿਹਤਰ ਪ੍ਰਦਰਸ਼ਨ ਕੀਤਾ।
ਉਹ ਪੈਟਰਨ ਜੋ "pass" ਲੇਬਲ ਨੂੰ ਖਰਾਬ ਕਰਦੇ ਹਨ
ਅਧਿਐਨ ਨੇ pass ਫਲੈਗ ਦੇ ਪਿੱਛੇ ਲੁਕੇ ਹੋਏ ਕਈ ਵਾਰ-ਵਾਰ ਹੋਣ ਵਾਲੇ ਅਸਫਲਤਾ ਦੇ ਤਰੀਕਿਆਂ (failure modes) ਦੀ ਸੂਚੀ ਬਣਾਈ:
- ਵਾਰ-ਵਾਰ ਟੂਲ ਦੀ ਵਰਤੋਂ (Repeated tool spamming) – ਇੱਕ ਏਜੰਟ ਅੰਤ ਵਿੱਚ ਸਹੀ ਆਉਟਪੁੱਟ ਪ੍ਰਾਪਤ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇੱਕੋ ਕੰਪਾਈਲਰ ਜਾਂ ਲਿੰਟਰ (linter) ਨੂੰ ਦਰਜਨਾਂ ਵਾਰ ਵਰਤ ਸਕਦਾ ਹੈ। ਅੰਤਿਮ ਸਫਲਤਾ ਅਸਮਰੱਥਾ ਨੂੰ ਛੁਪਾ ਲੈਂਦੀ ਹੈ।
- ਲੰਬੇ ਭਟਕਣ ਵਾਲੇ ਪੜਾਅ – ਏਜੰਟ ਕਦੇ-ਕਦੇ ਸਹੀ ਹੱਲ ਲੱਭਣ ਤੋਂ ਪਹਿਲਾਂ ਪੰਜ ਜਾਂ ਵੱਧ ਗੈਰ-ਸੰਬੰਧਿਤ ਕਦਮ ਚੁੱਕਦੇ ਹਨ। ਐਪੀਸੋਡ ਅਜੇ ਵੀ pass 'ਤੇ ਖਤਮ ਹੁੰਦਾ ਹੈ, ਫਿਰ ਵੀ ਟ੍ਰੈਜੈਕਟਰੀ ਦਾ ਜ਼ਿਆਦਾਤਰ ਹਿੱਸਾ ਕੋਈ ਸਿੱਖਣਯੋਗ ਮੁੱਲ ਨਹੀਂ ਦਿੰਦਾ।
- ਮਾਮੂਲੀ ਟੈਸਟ – ਕੁਝ ਬੈਂਚਮਾਰਕ ਇੰਨੇ ਆਸਾਨ ਹੁੰਦੇ ਹਨ ਕਿ ਇੱਕ ਏਜੰਟ ਇੱਕ ਅੰਦਾਜ਼ੇ ਨਾਲ ਜਾਂ ਕਿਸੇ ਖਾਮੀ (loophole) ਦਾ ਫਾਇਦਾ ਉਠਾ ਕੇ ਸਫਲ ਹੋ ਸਕਦਾ ਹੈ। pass ਲੇਬਲ ਅਸਲ ਤਰਕ ਅਤੇ ਕਿਸਮਤ ਵਿਚਕਾਰ ਅੰਤਰ ਨਹੀਂ ਕਰਦਾ।
ਜਦੋਂ ਅਜਿਹੇ ਐਪੀਸੋਡ ਟ੍ਰੇਨਿੰਗ ਲੂਪ ਵਿੱਚ ਵਾਪਸ ਆਉਂਦੇ ਹਨ, ਤਾਂ ਮਾਡਲ ਬਿਨਾਂ ਕਿਸੇ ਦਿਸ਼ਾ ਦੇ ਭਟਕਣ ਅਤੇ ਟੂਲ ਦੀ ਜ਼ਿਆਦਾ ਵਰਤੋਂ ਨੂੰ ਸਫਲਤਾ ਨਾਲ ਜੋੜਨਾ ਸਿੱਖ ਲੈਂਦਾ ਹੈ। ਅਸਲ ਵਿੱਚ, ਏਜੰਟ "ਕੁਝ ਕੰਮ ਨਾ ਕਰਨ ਤੱਕ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਰਹੋ" ਵਰਗਾ ਤਰੀਕਾ ਅਪਣਾ ਲੈਂਦਾ ਹੈ, ਜੋ ਕਿ ਪ੍ਰੋਡਕਸ਼ਨ-ਗ੍ਰੇਡ ਸਿਸਟਮਾਂ ਲਈ ਅਣਚਾਹਿਆ ਹੈ ਜਿਨ੍ਹਾਂ ਨੂੰ ਕੁਸ਼ਲਤਾ ਅਤੇ ਵਿਆਖਿਆਯੋਗਤਾ (interpretability) ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।
ਸੈਗਮੈਂਟ-ਪੱਧਰ ਦੀ ਕੁਆਲਿਟੀ ਬਨਾਮ ਟ੍ਰੈਜੈਕਟਰੀ-ਪੱਧਰ ਦਾ ਨਤੀਜਾ
SWE-Prime ਤੋਂ ਇੱਕ ਮੁੱਖ ਜਾਣਕਾਰੀ ਇੱਕ ਟ੍ਰੈਜੈਕਟਰੀ ਦੇ ਸਮੁੱਚੇ ਨਤੀਜੇ ਅਤੇ ਇਸਦੇ ਬਣੇ ਹੋਏ ਸੈਗਮੈਂਟਾਂ ਦੀ ਕੁਆਲਿਟੀ ਵਿਚਕਾਰ ਅੰਤਰ ਹੈ। ਇੱਕ ਟ੍ਰੈਜੈਕਟਰੀ ਇੱਕ ਰਫ (coarse) ਲੇਬਲ ਹੈ: ਇਹ ਤੁਹਾਨੂੰ
SWE-Prime ਇਹ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਟ੍ਰੇਨਿੰਗ ਡੇਟਾ ਲਈ ਇੱਕ ਬਾਈਨਰੀ “passed the test” ਫਲੈਗ ਇੱਕ ਅਭਰੋਸੇਯੋਗ ਫਿਲਟਰ ਹੈ। ਭਟਕਦੇ ਹੋਏ ਐਪੀਸੋਡਾਂ, ਵਾਧੂ ਟੂਲ ਕਾਲਾਂ ਅਤੇ ਬਹੁਤ ਹੀ ਆਸਾਨ ਰਨਾਂ ਨੂੰ ਛਾਂਟ ਕੇ, ਡਿਵੈਲਪਰ ਕੰਪਿਊਟਿੰਗ ਲਾਗਤਾਂ ਨੂੰ ਘਟਾਉਂਦੇ ਹੋਏ ਵਧੇਰੇ ਸਮਰੱਥ ਅਤੇ ਕੁਸ਼ਲ ਏਜੰਟਾਂ ਨੂੰ ਟ੍ਰੇਨ ਕਰ ਸਕਦੇ ਹਨ। ਸਬਕ ਸਪੱਸ਼ਟ ਹੈ: ਮਾਤਰਾ ਨਾਲੋਂ ਗੁਣਵੱਤਾ ਵਧੇਰੇ ਮਹੱਤਵਪੂਰਨ ਹੈ, ਅਤੇ ਸਮਾਰਟ AI ਏਜੰਟਾਂ ਦਾ ਰਾਹ ਇਸ ਗੱਲ ਦੇ ਬਾਰੀਕੀ ਨਾਲ ਮੁਲਾਂਕਣ ਵਿੱਚ ਹੈ ਕਿ ਹਰ ਕਦਮ ਅਸਲ ਵਿੱਚ ਕੀ ਯੋਗਦਾਨ ਪਾਉਂਦਾ ਹੈ।
