ਇੱਕ ਖੋਜ ਟੀਮ ਨੇ ਇਹ ਫੈਸਲਾ ਕਰਨ ਲਈ ਇੱਕ ਰੁਟਰ ਬਣਾਇਆ ਕਿ ਕੀ ਇੱਕ ਸਸਤਾ ਭਾਸ਼ਾ ਮਾਡਲ (language model) ਕੋਡਿੰਗ ਦੀ ਬੇਨਤੀ ਨੂੰ ਸੰਭਾਲ ਸਕਦਾ ਹੈ, ਜਿਸਦਾ ਉਦੇਸ਼ ਇਨਫਰੈਂਸ ਲਾਗਤਾਂ (inference costs) ਨੂੰ ਘਟਾਉਣਾ ਸੀ, ਪਰ ਰੁਟਰ "ਕਦੇ ਵੀ ਐਸਕੇਲੇਟ ਨਾ ਕਰੋ" (never-escalate) ਵਾਲੀ ਬੇਸਲਾਈਨ ਨੂੰ ਨਹੀਂ ਹਰਾ ਸਕਿਆ। ਇਹ ਅਸਫਲਤਾ ਦਰਸਾਉਂਦੀ ਹੈ ਕਿ ਕਿਉਂ ਸਿਰਫ ਸ਼ੁੱਧਤਾ-ਕੇਂਦ੍ਰਿਤ ਮਾਪਦੰਡ ਕੈਸਕੇਡਾਂ ਨੂੰ ਗੁਮਰਾਹ ਕਰਦੇ ਹਨ ਅਤੇ ਉਨ੍ਹਾਂ ਸੰਕੇਤਾਂ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦੇ ਹਨ ਜੋ ਅਸਲ ਵਿੱਚ ਮੁਸ਼ਕਲ ਨੂੰ ਕੈਪਚਰ ਕਰਦੇ ਹਨ।
ਰੁਟਰ ਕਿਉਂ ਮਹੱਤਵਪੂਰਨ ਸੀ
ਮਾਡਲ ਕੈਸਕੇਡਸ (Model cascades) ਹਰੇਕ ਬੇਨਤੀ ਨੂੰ ਸਭ ਤੋਂ ਛੋਟੇ ਮਾਡਲ ਕੋਲ ਭੇਜਦੇ ਹਨ ਜੋ ਇਸਦਾ ਸਹੀ ਜਵਾਬ ਦੇ ਸਕਦਾ ਹੈ। ਜੇਕਰ ਰੁਟਰ ਇੱਕ ਸਧਾਰਨ ਪ੍ਰੋਂਪਟ ਨੂੰ ਸਸਤੇ ਮਾਡਲ ਕੋਲ ਭੇਜਦਾ ਹੈ, ਤਾਂ ਸਿਸਟਮ ਇੱਕ ਵੱਡੇ ਮਾਡਲ ਲਈ ਲੋੜੀਂਦੀ ਮਹਿੰਗੀ ਕੰਪਿਊਟਿੰਗ ਨੂੰ ਛੱਡ ਦਿੰਦਾ ਹੈ। ਟੀਮ ਨੇ 539 ਅਸਲ ਕੋਡਿੰਗ ਕੰਮਾਂ—428 ਸੌਖੇ ਅਤੇ 111 ਔਖੇ—ਤੇ ਇੱਕ ਰੁਟਰ ਨੂੰ ਸਿਖਲਾਈ ਦਿੱਤੀ, ਇਸ ਉਮੀਦ ਨਾਲ ਕਿ ਇਹ ਸਿੱਖ ਲਵੇਗਾ ਕਿ ਕਦੋਂ ਸਸਤਾ ਮਾਡਲ ਕਾਫੀ ਹੋਵੇਗਾ।
ਉਹ ਅੰਕੜੇ ਜੋ ਉਮੀਦਾਂ 'ਤੇ ਖਰੇ ਨਹੀਂ ਉਤਰੇ
- ਹੋਲਡ-ਆਊਟ AUC (area under the ROC curve): 0.594
- 5-ਫੋਲਡ ਕਰਾਸ-ਵੈਲੀਡੇਸ਼ਨ ਰੇਂਜ: 0.55 – 0.57
- ਸਭ ਤੋਂ ਵਧੀਆ ਥ੍ਰੈਸ਼ਹੋਲਡ: "ਕਦੇ ਵੀ ਐਸਕੇਲੇਟ ਨਾ ਕਰੋ" ਦੀ ਨੀਤੀ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ
ਹੋਲਡ-ਆਊਟ AUC 0.594 ਸੀ ਅਤੇ ਕਰਾਸ-ਵੈਲੀਡੇਸ਼ਨ 0.55 ਤੋਂ 0.57 ਦੇ ਵਿਚਕਾਰ ਸੀ, ਜਿਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਕਲਾਸੀਫਾਇਰ ਬਹੁਤ ਮੁਸ਼ਕਲ ਨਾਲ ਸੌਖੇ ਅਤੇ ਔਖੇ ਮਾਮਲਿਆਂ ਨੂੰ ਵੱਖ ਕਰਦਾ ਹੈ। ਜਦੋਂ ਆਪਟੀਮਲ ਥ੍ਰੈਸ਼ਹੋਲਡ ਇੱਕ ਅਜਿਹੀ ਨੀਤੀ ਨੂੰ ਦੁਹਰਾਉਂਦਾ ਹੈ ਜੋ ਕਦੇ ਵੀ ਮਹਿੰਗੇ ਮਾਡਲ ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕਰਦੀ, ਤਾਂ ਰੁਟਰ ਕੋਈ ਵੈਲਯੂ (value) ਨਹੀਂ ਜੋੜਦਾ। ਇਹ ਇੱਕ ਫੈਸਲਾ ਲੈਣ ਵਾਲੇ ਦੀ ਬਜਾਏ ਇੱਕ ਸਥਿਰ ਪੂਰਵ-ਅਨੁਮਾਨਕ (constant predictor) ਵਾਂਗ ਕੰਮ ਕਰਦਾ ਹੈ।
ਪ੍ਰਯੋਗਾਂ ਨੇ ਕੀ ਟੈਸਟ ਕੀਤਾ
ਖੋਜਕਰਤਾਵਾਂ ਨੇ ਤਿੰਨ ਫੀਚਰ ਸੈੱਟਾਂ ਦੀ ਤੁਲਨਾ ਕੀਤੀ:
| ਫੀਚਰ ਸੈੱਟ | AUC |
|---|---|
| 11 ਸਧਾਰਨ ਸਰਫੇਸ ਫੀਚਰ (ਜਿਵੇਂ ਕਿ ਟੋਕਨ ਕਾਊਂਟ, ਕੀਵਰਡ ਦੀ ਮੌਜੂਦਗੀ) | 0.610 |
| 1024-ਡਾਇਮੈਂਸ਼ਨਲ ਪ੍ਰੋਂਪਟ ਐਮਬੈਡਿੰਗ (ਸਿਮੈਂਟਿਕ ਵੈਕਟਰ) | 0.552 |
| ਦੋਵੇਂ ਮਿਲਾ ਕੇ | 0.609 |
ਹੈਰਾਨੀਜਨਕ ਤੌਰ 'ਤੇ, ਹਲਕੇ ਸਰਫੇਸ ਫੀਚਰਾਂ ਨੇ ਉੱਚ-ਡਾਇਮੈਂਸ਼ਨਲ ਸਿਮੈਂਟਿਕ ਐਮਬੈਡਿੰਗ ਨਾਲੋਂ ਬਿਹਤਰ ਪ੍ਰਦਰਸ਼ਨ ਕੀਤਾ। ਐਮਬੈਡਿੰਗ ਨੇ ਪ੍ਰੋਂਪਟ ਦੇ ਵਿਸ਼ੇ ਨੂੰ ਕੈਪਚਰ ਕੀਤਾ ਪਰ ਇਸਦੀ ਅੰਦਰੂਨੀ ਮੁਸ਼ਕਲ ਨੂੰ ਨਹੀਂ। ਸਸਤੇ ਮਾਡਲ ਦੇ ਡਰਾਫਟ ਨੂੰ ਰੁਟਰ ਨੂੰ ਭੇਜਣ ਨਾਲ AUC ਵਧ ਕੇ 0.640 ਹੋ ਗਿਆ, ਜੋ ਸੁਝਾਅ ਦਿੰਦਾ ਹੈ ਕਿ ਜਨਰੇਸ਼ਨ ਦੌਰਾਨ ਮਿਲਣ ਵਾਲੇ ਸੰਕੇਤ ਸਿਰਫ ਪ੍ਰੋਂਪਟ ਵਿੱਚ ਮੌਜੂਦ ਸੰਕੇਤਾਂ ਨਾਲੋਂ ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਭਰਪੂਰ ਹੁੰਦੇ ਹਨ।
ਦੋ ਮੂਲ ਗਲਤੀਆਂ
1. ਸ਼ੁੱਧਤਾ (Accuracy) ਗਲਤ ਮਾਪਦੰਡ ਹੈ
ਇੱਕ ਰੁਟਰ ਨੂੰ ਸਿਰਫ ਸਹੀ ਹੋਣ ਦੀ ਭਵਿੱਖਬਾਣੀ ਨਹੀਂ ਕਰਨੀ ਚਾਹੀਦੀ, ਸਗੋਂ ਇੱਕ ਸਾਧਾਰਨ ਨੀਤੀ ਦੇ ਮੁਕਾਬਲੇ ਲਾਗਤ-ਸ਼ੁੱਧਤਾ ਟ੍ਰੇਡ-ਆਫ (cost-accuracy trade-off) ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ। ਜੇਕਰ ਇਹ "ਕਦੇ ਵੀ ਐਸਕੇਲੇਟ ਨਾ ਕਰੋ" ਤੋਂ ਬਿਹਤਰ ਪ੍ਰਦਰਸ਼ਨ ਨਹੀਂ ਕਰ ਸਕਦਾ, ਤਾਂ ਇਹ ਕੱਚੀ ਸ਼ੁੱਧਤਾ ਦੇ ਬਾਵਜੂਦ ਕੋਈ ਲਾਗਤ ਲਾਭ ਨਹੀਂ ਦਿੰਦਾ। AUC ਵਰਗੇ ਰਵਾਇਤੀ ਮਾਪਦੰਡ ਕੈਸਕੇਡ ਦੇ ਆਰਥਿਕ ਪਹਿਲੂ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕਰਦੇ ਹਨ।
2. "ਹਮੇਸ਼ਾ ਐਸਕੇਲੇਟ ਕਰੋ" ਕੋਈ ਸੀਮਾ ਨਹੀਂ ਹੈ
ਪ੍ਰਯੋਗ ਵਿੱਚ ਇਹ ਮੰਨ ਲਿਆ ਗਿਆ ਸੀ ਕਿ ਮਹਿੰਗਾ ਮਾਡਲ ਅਟੁੱਟ (infallible) ਹੈ, ਅਤੇ "ਹਮੇਸ਼ਾ ਵੱਡੇ ਮਾਡਲ ਦੀ ਵਰਤੋਂ ਕਰੋ" ਨੂੰ ਉਪਰਲੀ ਸੀਮਾ ਮੰਨਿਆ ਗਿਆ ਸੀ। ਅਸਲ ਵਿੱਚ, ਵੱਡਾ ਮਾਡਲ ਕਦੇ-ਕਦੇ ਉਹ ਜਵਾਬ ਵੀ ਗਲਤ ਕਰ ਦਿੰਦਾ ਸੀ ਜੋ ਸਸਤਾ ਮਾਡਲ ਸਹੀ ਦਿੰਦਾ ਸੀ। ਇੱਕ ਸੰਪੂਰਨ ਰੁਟਰ ਜੋ ਇਹ ਜਾਣਦਾ ਹੈ ਕਿ ਕਦੋਂ ਸਸਤੇ ਮਾਡਲ ਨਾਲ ਰਹਿਣਾ ਹੈ, ਉਹ ਚੁਣੇ ਹੋਏ ਲਾਗਤ ਮਾਪਦੰਡ ਵਿੱਚ ਲਗਭਗ 4.2 ਪੁਆਇੰਟ ਨਾਲ "ਹਮੇਸ਼ਾ ਐਸਕੇਲੇਟ ਕਰੋ" ਵਾਲੀ ਬੇਸਲਾਈਨ ਨੂੰ ਹਰਾ ਸਕਦਾ ਹੈ। ਇਹ ਅੰਤਰ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਮਹਿੰਗੇ ਮਾਡਲ ਦੀ ਪ੍ਰਦਰਸ਼ਨ ਦੀ ਸੀਮਾ ਮੰਨੀ ਗਈ ਸੀ ਉਸ ਤੋਂ ਘੱਟ ਹੈ।
ਬਿਹਤਰ ਰੂਟਿੰਗ ਸਿਗਨਲ ਡਿਜ਼ਾਈਨ ਕਰਨਾ
ਨਤੀਜੇ ਤਿੰਨ ਵਿਵਹਾਰਕ ਦਿਸ਼ਾਵਾਂ ਦਾ ਸੁਝਾਅ ਦਿੰਦੇ ਹਨ:
- ਜਨਰੇਸ਼ਨ-ਸਮੇਂ ਦੇ ਸੰਕੇਤ ਸ਼ਾਮਲ ਕਰੋ। ਸਸਤੇ ਮਾਡਲ ਦੇ ਵਿਚਕਾਰਲੇ ਆਉਟਪੁੱਟ (ਉਸਦੇ ਡਰਾਫਟ) ਨੂੰ ਰੁਟਰ ਨੂੰ ਭੇਜਣ ਨਾਲ ਉਹ ਮੁਸ਼ਕਲ ਕੈਪਚਰ ਹੁੰਦੀ ਹੈ ਜੋ ਸਿਰਫ ਪ੍ਰੋਂਪਟ ਇਕੱਲਾ ਨਹੀਂ ਦਿਖਾ ਸਕਦਾ।
- ਟਾਸਕ-ਵਿਸ਼ੇਸ਼ ਸਰਫੇਸ ਫੀਚਰਾਂ ਨੂੰ ਪਹਿਲ ਦਿਓ। ਸਧਾਰਨ ਮਾਪਦੰਡ—ਜਿਵੇਂ ਕਿ ਲੰਬਾਈ, ਕੁਝ ਖਾਸ ਓਪਰੇਟਰਾਂ ਦੀ ਮੌਜੂਦਗੀ, ਜਾਂ ਕੋਡ-ਸਟਾਈਲ ਮਾਰਕਰ—ਆਮ ਸਿਮੈਂਟਿਕ ਐਮਬੈਡਿੰਗਾਂ ਨਾਲੋਂ ਵਧੇਰੇ ਭਵਿੱਖਬਾਣੀ ਕਰਨ ਯੋਗ ਹੋ ਸਕਦੇ ਹਨ।
- ਲਾਗਤ-ਜਾਗਰੂਕ ਮਾਪਦੰਡਾਂ ਨਾਲ ਸਫਲਤਾ ਨੂੰ ਮਾਪੋ। ਸਿਰਫ ਸ਼ੁੱਧਤਾ ਜਾਂ AUC ਦੀ ਬਜਾਏ, ਇਸ ਗੱਲ ਦਾ ਮੁਲਾਂਕਣ ਕਰੋ ਕਿ ਨਿਸ਼ਚਿਤ ਗੁਣਵੱਤਾ ਪੱਧਰਾਂ ਨੂੰ ਬਣਾਈ ਰੱਖਦੇ ਹੋਏ ਕਿੰਨੀਆਂ ਮਹਿੰਗੀਆਂ ਕਾਲਾਂ ਤੋਂ ਬਚਿਆ ਜਾ ਸਕਦਾ ਹੈ।
ਮੁੱਖ ਗੱਲ: ਇੱਕ ਰੁਟਰ ਜੋ ਸਿਰਫ ਸ਼ੁੱਧਤਾ ਲਈ ਆਪਟੀਮਾਈਜ਼ ਕਰਦਾ ਹੈ, ਉਹ ਲਾਗਤ ਦੀ ਬਚਤ ਦੀ ਗਾਰੰਟੀ ਨਹੀਂ ਦੇ ਸਕਦਾ; ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਰੂਟਿੰਗ ਲਈ ਜਨਰੇਸ਼ਨ-ਸਮੇਂ ਦੇ ਸਬੂਤਾਂ ਅਤੇ ਲਾਗਤ-ਜਾਗਰੂਕ ਮੁਲਾਂਕਣ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।
