ਟੈਸਟ ਕਿਵੇਂ ਸੈੱਟ ਕੀਤਾ ਗਿਆ ਸੀ
ਲੇਖਕ ਨੇ ਦੋ ਭੁਗਤਾਨ-ਨਿਯਮ-ਕਿਤਾਬ (payment-rulebook) ਦਸਤਾਵੇਜ਼ਾਂ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਇੱਕ ਛੋਟਾ ਰਿਟ੍ਰੀਵਲ-ਔਗਮੈਂਟਡ ਜਨਰੇਸ਼ਨ (RAG) ਸਿਸਟਮ ਬਣਾਇਆ ਅਤੇ ਦੋ ਚੈੱਕ ਕੀਤੇ:
- Recall test – ਕੀ ਸਹੀ ਪੰਨਾ ਚੋਟੀ ਦੇ ਪੰਜ ਨਤੀਜਿਆਂ ਵਿੱਚ ਆਇਆ? ਨਤੀਜਾ: 60%।
- Answer test – ਕੀ ਜਨਰੇਟਰ ਦੁਆਰਾ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਅੰਤਿਮ ਉੱਤਰ ਸਹੀ ਸੀ? ਨਤੀਜਾ: 90%।
40% ਦਾ ਅੰਤਰ ਅਸੰਭਵ ਲੱਗ ਰਿਹਾ ਸੀ। ਜੇਕਰ ਰਿਟ੍ਰੀਵਰ (retriever) ਦਸ ਵਿੱਚੋਂ ਚਾਰ ਵਾਰ ਸਹੀ ਪੰਨਾ ਲੱਭਣ ਵਿੱਚ ਅਸਫਲ ਰਿਹਾ, ਤਾਂ ਮਾਡਲ ਦਸ ਵਿੱਚੋਂ ਨੌਂ ਵਾਰ ਸਹੀ ਉੱਤਰ ਕਿਵੇਂ ਦੇ ਸਕਦਾ ਸੀ?
ਰਿਟ੍ਰੀਵਰ ਨੂੰ "ਠੀਕ" ਕਰਨ ਦੀਆਂ ਪਹਿਲੀਆਂ ਕੋਸ਼ਿਸ਼ਾਂ
ਡਿਵੈਲਪਰ ਨੇ ਦੋ ਆਮ ਤਰੀਕੇ ਅਜ਼ਮਾਏ:
- Hybrid search – ਲੈਕਸੀਕਲ (lexical) ਅਤੇ ਵੈਕਟਰ ਸਿਗਨਲਾਂ ਨੂੰ ਮਿਲਾਉਣਾ। Recall ਉਹੀ ਰਿਹਾ।
- Reranker – ਪ੍ਰਾਪਤ ਕੀਤੇ ਗਏ ਪੰਜ ਪੰਨਿਆਂ ਨੂੰ ਦੁਬਾਰਾ ਕ੍ਰਮਬੱਧ ਕਰਨਾ। Recall ਵਧ ਕੇ 70% ਹੋ ਗਿਆ ਪਰ ਅਜੇ ਵੀ 90% ਉੱਤਰ ਦੀ ਸ਼ੁੱਧਤਾ ਤੋਂ ਕਾਫੀ ਪਿੱਛੇ ਸੀ।
ਦੋਵੇਂ ਟੂਲ ਸਿਰਫ਼ ਉਸੇ ਚੀਜ਼ ਨੂੰ ਦੁਬਾਰਾ ਕ੍ਰਮਬੱਧ ਕਰਦੇ ਹਨ ਜੋ ਪਹਿਲਾਂ ਹੀ ਪ੍ਰਾਪਤ ਕੀਤੀ ਜਾ ਚੁੱਕੀ ਹੈ; ਉਹ ਅਜਿਹਾ ਪੰਨਾ ਨਹੀਂ ਲਿਆ ਸਕਦੇ ਜੋ ਕਦੇ ਉਮੀਦਵਾਰ ਸੈੱਟ (candidate set) ਵਿੱਚ ਆਇਆ ਹੀ ਨਹੀਂ। ਸਮੱਸਿਆ ਕਿਤੇ ਹੋਰ ਸੀ।
ਮਾਡਲ ਨਹੀਂ, ਸਗੋਂ ਮੈਟ੍ਰਿਕ (metric) ਖਰਾਬ ਸੀ
ਪੰਨੇ ਦੇ ਲੇਬਲ ਦੁਆਰਾ ਸਫਲਤਾ ਦਾ ਫੈਸਲਾ ਕਰਨ ਦੀ ਬਜਾਏ, ਲੇਖਕ ਨੇ ਪ੍ਰਾਪਤ ਕੀਤੇ ਗਏ ਚੰਕਸ (chunks) ਵਿੱਚ ਅਸਲ ਤੱਥਾਂ ਦੀ ਜਾਂਚ ਕੀਤੀ। ਚਾਰ ਵਿੱਚੋਂ ਤਿੰਨ "ਮਿਸ" (misses) ਦੇ ਮਾਮਲੇ ਵਿੱਚ, ਸਹੀ ਤੱਥ ਮੌਜੂਦ ਸੀ, ਪਰ ਇਹ ਉਸ ਪੰਨੇ 'ਤੇ ਸੀ ਜਿਸਦੀ ਟੈਸਟ ਸਕ੍ਰਿਪਟ ਨੂੰ ਉਮੀਦ ਨਹੀਂ ਸੀ। ਮੁਲਾਂਕਣ ਨੇ ਰਿਟ੍ਰੀਵਰ ਨੂੰ ਇੱਕ ਅਣਉਮੀਦ ਪੰਨੇ 'ਤੇ ਸਹੀ ਉੱਤਰ ਲੱਭਣ ਲਈ ਸਜ਼ਾ ਦਿੱਤੀ।
ਜਦੋਂ ਮੈਟ੍ਰਿਕ ਨੂੰ "ਕੀ ਕਿਸੇ ਪ੍ਰਾਪਤ ਕੀਤੇ ਗਏ ਚੰਕ ਵਿੱਚ ਲੋੜੀਂਦਾ ਤੱਥ ਹੈ?" ਵਿੱਚ ਬਦਲਿਆ ਗਿਆ, ਤਾਂ recall ਵਧ ਕੇ 90% ਹੋ ਗਿਆ, ਜੋ ਕਿ ਉੱਤਰ ਦੀ ਸ਼ੁੱਧਤਾ ਦੇ ਬਰਾਬਰ ਸੀ। ਰਿਟ੍ਰੀਵਰ ਨੇ ਕੰਮ ਕੀਤਾ; ਮੁਲਾਂਕਣ ਫਰੇਮਵਰਕ ਨੇ ਨਹੀਂ।
ਰਵਾਇਤੀ recall ਗਲਤ ਜਾਣਕਾਰੀ ਕਿਉਂ ਦੇ ਸਕਦਾ ਹੈ
- ਪੇਜ-ਲੇਵਲ ਲੇਬਲਿੰਗ ਕਾਲਪਨਿਕ ਅਸਫਲਤਾਵਾਂ ਪੈਦਾ ਕਰਦੀ ਹੈ। ਇੱਕੋ ਤੱਥ ਕਈ ਪੰਨਿਆਂ 'ਤੇ ਦਿਖਾਈ ਦੇ ਸਕਦਾ ਹੈ। ਸਿਰਫ਼ ਇੱਕ ਪੰਨੇ ਨੂੰ 'ਗਰਾਊਂਡ ਟਰੂਥ' (ground truth) ਵਜੋਂ ਟੈਗ ਕਰਨ ਨਾਲ ਬਾਕੀ ਸਾਰੇ ਸਹੀ ਨਤੀਜਿਆਂ ਨੂੰ ਗਲਤੀਆਂ ਮੰਨ ਲਿਆ ਜਾਂਦਾ ਹੈ।
- ਛੋਟੇ ਕੋਰਪਸ (corpora) ਪ੍ਰਭਾਵ ਨੂੰ ਵਧਾ ਦਿੰਦੇ ਹਨ। ਘੱਟ ਦਸਤਾਵੇਜ਼ਾਂ ਦੇ ਨਾਲ, ਇੱਕ ਗਲਤ ਲੇਬਲ ਵਾਲਾ ਪੰਨਾ recall ਨੂੰ ਬਹੁਤ ਜ਼ਿਆਦਾ ਬਦਲ ਸਕਦਾ ਹੈ ਜਦੋਂ ਕਿ ਉੱਤਰ ਦੀ ਸ਼ੁੱਧਤਾ ਸਥਿਰ ਰਹਿੰਦੀ ਹੈ।
- ਐਮਬੈਡਿੰਗ ਨੋਇਜ਼ (Embedding noise) ਤੱਥਾਂ ਨੂੰ ਛੁਪਾ ਦਿੰਦੀ ਹੈ। ਵੈਕਟਰ ਪੂਰੇ ਪੰਨਿਆਂ ਨੂੰ ਸਕੋਰ ਕਰਦੇ ਹਨ; ਆਲੇ-ਦੁਆਲੇ ਦਾ ਕਾਨੂੰਨੀ ਜਾਂ ਤਕਨੀਕੀ ਟੈਕਸਟ ਨਿਸ਼ਾਨਾ ਵਾਕ ਦੇ ਪ੍ਰਸੰਗਿਕ ਸਿਗਨਲ ਨੂੰ ਘਟਾ ਦਿੰਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਪੰਨਾ ਰੈਂਕਿੰਗ ਵਿੱਚ ਹੇਠਾਂ ਚਲਾ ਜਾਂਦਾ ਹੈ ਭਾਵੇਂ ਤੱਥ ਉੱਥੇ ਮੌਜੂਦ ਹੋਵੇ।
RAG ਅਭਿਆਸੀਆਂ ਲਈ ਵਿਵਹਾਰਕ ਸਿੱਖਿਆਵਾਂ
- ਰੈਂਕਿੰਗ ਨੂੰ ਰਿਟ੍ਰੀਵਲ ਅਸਫਲਤਾਵਾਂ ਤੋਂ ਵੱਖ ਕਰੋ। ਰੀ-ਰੈਂਕਰ (Rerankers) ਸਿਰਫ਼ ਪਹਿਲੀ ਚੀਜ਼ ਨੂੰ ਠੀਕ ਕਰਦੇ ਹਨ; ਜੇਕਰ ਸਹੀ ਚੰਕ ਕਦੇ ਵੀ ਉਮੀਦਵਾਰ ਸੈੱਟ ਵਿੱਚ ਨਹੀਂ ਆਉਂਦਾ, ਤਾਂ ਦੁਬਾਰਾ ਕ੍ਰਮਬੱਧ ਕਰਨ ਨਾਲ ਕੋਈ ਫਾਇਦਾ ਨਹੀਂ ਹੁੰਦਾ।
- ਟੈਸਟ ਡੇਟਾ ਨੂੰ ਤੱਥ ਦੇ ਪੱਧਰ 'ਤੇ ਲੇਬਲ ਕਰੋ। ਹਰੇਕ ਕੁਐਰੀ (query) ਨੂੰ ਉਸਦੀ ਲੋੜੀਂਦੀ ਖਾਸ ਜਾਣਕਾਰੀ ਨਾਲ ਜੋੜੋ, ਨਾ ਕਿ ਸਿਰਫ਼ ਇੱਕ ਦਸਤਾਵੇਜ਼ ਦੀ ਪਛਾਣ ਨਾਲ।
- ਛੋਟੇ ਡੇਟਾਸੈਟਾਂ ਲਈ ਵੱਡੇ ਪੱਧਰ ਦੇ ਬੈਂਚਮਾਰਕਾਂ 'ਤੇ ਭਰੋਸਾ ਨਾ ਕਰੋ। ਛੋਟੇ, ਖਾਸ ਖੇਤਰ ਨਾਲ ਸਬੰਧਤ ਕੋਰਪਸ ਵੱਖਰੇ ਤਰੀਕੇ ਨਾਲ ਕੰਮ ਕਰਦੇ ਹਨ, ਅਤੇ ਆਮ recall ਸਕੋਰ ਭਰਮਾਉਣ ਵਾਲੇ ਹੋ ਸਕਦੇ ਹਨ।
- ਐਮਬੈਡਿੰਗ ਗ੍ਰੈਨੁਲੈਰਿਟੀ (granularity) 'ਤੇ ਨਜ਼ਰ ਰੱਖੋ। ਇੱਕ ਪੰਨੇ ਦੇ ਆਕਾਰ ਦਾ ਚੰਕ ਕਈ ਸ਼ਬਦਾਂ ਨੂੰ ਸਮੇਟਦਾ ਹੈ, ਅਤੇ ਆਲੇ-ਦੁਆਲੇ ਦਾ ਕਾਨੂੰਨੀ ਟੈਕਸਟ ਤੁਹਾਡੇ ਲਈ ਮਹੱਤਵਪੂਰਨ ਤੱਥ ਦੀ ਰੈਂਕਿੰਗ ਨੂੰ ਘਟਾ ਸਕਦਾ ਹੈ।
ਸਾਰ ਦੀ ਗੱਲ: ਜਦੋਂ ਮੁਲਾਂਕਣ ਕੰਮ ਦੇ ਅਨੁਕੂਲ ਨਹੀਂ ਹੁੰਦਾ, ਤਾਂ ਉੱਚ ਉੱਤਰ-ਸ਼ੁੱਧਤਾ ਸਕੋਰ ਘੱਟ ਰਵਾਇਤੀ recall ਅੰਕੜੇ ਦੇ ਨਾਲ ਵੀ ਹੋ ਸਕਦਾ ਹੈ। ਮਾਡਲ ਦੀ ਬਜਾਏ ਮੈਟ੍ਰਿਕ ਨੂੰ ਠੀਕ ਕਰਨ ਨਾਲ ਸਮੇਂ ਦੀ ਬਚਤ ਹੁੰਦੀ ਹੈ, ਗਲਤ ਚੇਤਾਵਨੀਆਂ ਘਟਦੀਆਂ ਹਨ, ਅਤੇ ਵਧੇਰੇ ਭਰੋਸੇਯੋਗ RAG ਤੈਨਾਤੀਆਂ (deployments) ਮਿਲਦੀਆਂ ਹਨ।
