ਫਾਈਨ-ਟਿਊਨਿੰਗ (fine-tuning) ਬਨਾਮ RAG ਬਾਰੇ ਹਰ ਕਿਸੇ ਦੀ ਆਪਣੀ ਰਾਏ ਹੈ। ਕਿਸੇ ਵੀ AI ਫੋਰਮ ਨੂੰ ਦੇਖੋ, ਤੁਹਾਨੂੰ ਆਰਕੀਟੈਕਚਰ ਡਾਇਗ੍ਰਾਮ ਅਤੇ ਬੈਂਚਮਾਰਕ ਦਾਵਿਆਂ ਨਾਲ ਭਰੀਆਂ ਗਰਮਾ-ਗਰਮੀ ਵਾਲੀਆਂ ਚਰਚਾਵਾਂ ਮਿਲ ਜਾਣਗੀਆਂ। ਉਹਨਾਂ ਕੁਮੈਂਟਾਂ ਨੂੰ ਲਿਖਣ ਵਾਲੇ ਜ਼ਿਆਦਾਤਰ ਲੋਕਾਂ ਨੇ ਕਦੇ ਵੀ ਆਪਣੇ ਡੇਟਾ 'ਤੇ ਮਾਡਲ ਨੂੰ ਟ੍ਰੇਨ ਨਹੀਂ ਕੀਤਾ ਜਾਂ ਪ੍ਰੋਡਕਸ਼ਨ ਵਿੱਚ ਕਿਸੇ RAG ਪਾਈਪਲਾਈਨ ਨੂੰ ਚੁੱਪਚਾਪ ਫੇਲ ਹੁੰਦੇ ਨਹੀਂ ਦੇਖਿਆ।
ਮੈਂ ਮਹੀਨਿਆਂ ਤੱਕ ਪ੍ਰਯੋਗ ਕੀਤੇ। ਬਿਲਕੁਲ ਸਹੀ ਕਹਾਂ ਤਾਂ ਬਾਰਾਂ। ਮੈਂ LLMs ਨੂੰ ਫਾਈਨ-ਟਿਊਨ ਕੀਤਾ। ਮੈਂ ਐਂਬੈਡਰਜ਼ (embedders) ਨੂੰ ਫਾਈਨ-ਟਿਊਨ ਕੀਤਾ। ਮੈਂ ਛੇ ਵੱਖ-ਵੱਖ RAG ਕੌਂਫਿਗਰੇਸ਼ਨਾਂ ਬਣਾਈਆਂ। ਇਹ ਖੇਤਰ ਵਿੱਤੀ ਭਵਿੱਖਬਾਣੀ (financial prediction) ਸੀ, ਖਾਸ ਤੌਰ 'ਤੇ ਗੜਬੜ ਵਾਲੇ ਇਤਿਹਾਸਕ ਡੇਟਾ ਤੋਂ ਸ਼ੋਰ-ਸ਼ਰਾਬੇ ਵਾਲੇ ਮਾਰਕੀਟ ਨਤੀਜਿਆਂ ਦਾ ਅਨੁਮਾਨ ਲਗਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਰਿਹਾ ਸੀ। ਮੈਂ ਆਪਣੇ ਆਪ ਨੂੰ ਸਖ਼ਤ ਅੰਕੜਾ ਵਿਗਿਆਨਕ ਮਾਪਦੰਡਾਂ ਤੱਕ ਸੀਮਤ ਰੱਖਿਆ ਕਿਉਂਕਿ ਮੈਂ ਅਸਲ ਜਵਾਬ ਚਾਹੁੰਦਾ ਸੀ, ਨਾ ਕਿ ਸਿਰਫ਼ ਬਲੌਗ ਪੋਸਟਾਂ ਦੇ ਦਾਅਵੇ।
ਜ਼ਿਆਦਾਤਰ ਪ੍ਰਯੋਗ ਅਸਫਲ ਰਹੇ। ਉਹ ਅਸਫਲਤਾਵਾਂ ਕਿਸੇ ਵੀ ਕਿਸਮਤ ਵਾਲੀ ਸਫਲਤਾ ਨਾਲੋਂ ਕਿਤੇ ਜ਼ਿਆਦਾ ਲਾਭਦਾਇਕ ਸਾਬਤ ਹੋਈਆਂ।
ਸਿਗਨਲ ਬਾਰੇ ਕੌੜਾ ਸੱਚ
ਵਿਸਥਾਰ ਵਿੱਚ ਜਾਣ ਤੋਂ ਪਹਿਲਾਂ, ਇੱਥੇ ਉਹ ਸਬਕ ਹੈ ਜੋ ਸਭ ਕੁਝ ਇੱਕ ਦੂਜੇ ਨਾਲ ਜੋੜਦਾ ਹੈ। ਫਾਈਨ-ਟਿਊਨਿੰਗ ਅਤੇ RAG ਉਹ ਸਾਧਨ ਹਨ ਜੋ ਮਾਡਲ ਕੀ ਜਾਣਦਾ ਹੈ ਜਾਂ ਉਹ ਕੀ ਦੇਖਦਾ ਹੈ, ਇਸ ਨੂੰ ਬਦਲਣ ਲਈ ਵਰਤੇ ਜਾਂਦੇ ਹਨ। ਇਹ ਕੋਈ ਜਾਦੂਈ ਛੜੀਆਂ ਨਹੀਂ ਹਨ ਜੋ ਹਵਾ ਵਿੱਚੋਂ ਸਿਗਨਲ ਪੈਦਾ ਕਰ ਸਕਣ। ਜੇਕਰ ਤੁਹਾਡੇ ਅਧਾਰभूत ਡੇਟਾ ਵਿੱਚ ਕੋਈ ਅਸਲ, ਵਰਤੋਂਯੋਗ ਪੈਟਰਨ ਨਹੀਂ ਹੈ, ਤਾਂ ਇਹ ਤਕਨੀਕਾਂ ਉਸ ਨੂੰ ਨਹੀਂ ਬਣਾ ਸਕਦੀਆਂ। ਉਹ ਸਿਰਫ਼ ਤੁਹਾਨੂੰ ਰੈਂਡਮ ਨੋਇਜ਼ (random noise) ਦੇ ਆਲੇ-ਦੁਆਲੇ ਇੱਕ ਵਧੇਰੇ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਕਹਾਣੀ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰਨਗੀਆਂ।
ਵਿੱਤੀ ਭਵਿੱਖਬਾਣੀ ਵਿੱਚ, ਇਹ ਜਾਲ ਖਾਸ ਤੌਰ 'ਤੇ ਖ਼ਤਰਨਾਕ ਹੈ। ਮਾਰਕੀਟ ਆਪਣੀ ਬਣਤਰ ਕਾਰਨ ਸ਼ੋਰ-ਸ਼ਰਾਬੇ ਵਾਲੇ ਹੁੰਦੇ ਹਨ। ਜਦੋਂ ਤੁਸੀਂ ਇੱਕ ਸ਼ਕਤੀਸ਼ਾਲੀ LLM ਨੂੰ ਇਤਿਹਾਸਕ ਕੀਮਤਾਂ ਦੇ ਡੇਟਾ ਨਾਲ ਜੋੜਦੇ ਹੋ ਅਤੇ ਰਿਟ੍ਰੀਵਲ ਜਾਂ ਫਾਈਨ-ਟਿਊਨਿੰਗ ਜੋੜਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਆਪਣੇ ਆਪ ਕੋਈ ਵਾਧੂ ਫਾਇਦਾ ਨਹੀਂ ਮਿਲ ਜਾਂਦਾ। ਤੁਹਾਨੂੰ ਸਿਰਫ਼ ਸਿੱਕੇ ਦੀ ਉਲਟੀ-ਸਿੱਟੀ (coin flips) ਨੂੰ ਜਾਇਜ਼ ਠਹਿਰਾਉਣ ਦਾ ਇੱਕ ਵਧੇਰੇ ਸਪਸ਼ਟ ਤਰੀਕਾ ਮਿਲਦਾ ਹੈ। ਜੇਕਰ ਸਿਗਨਲ ਉੱਥੇ ਨਹੀਂ ਹੈ, ਤਾਂ ਮਾਡਲ ਤੁਹਾਡੇ ਨਾਲ ਝੂਠ ਬੋਲਣ ਵਿੱਚ ਬਹੁਤ ਮਾਹਰ ਹੋ ਜਾਂਦਾ ਹੈ। ਤੁਹਾਨੂੰ ਪਹਿਲਾਂ ਇਹ ਚੈੱਕ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।
ਜਦੋਂ ਵੱਡਾ ਮਾਡਲ ਸਿੱਖਣ ਦੀ ਬਜਾਏ ਯਾਦ ਕਰ ਲੈਂਦਾ ਹੈ
ਮੇਰੀ ਪਹਿਲੀ ਵੱਡੀ ਗਲਤੀ ਇਹ ਮੰਨਣਾ ਸੀ ਕਿ ਸਕੇਲ (scale) ਸਭ ਕੁਝ ਠੀਕ ਕਰ ਦੇਵੇਗਾ। ਮੈਂ 777 ਟ੍ਰੇਨਿੰਗ ਉਦਾਹਰਣਾਂ 'ਤੇ 7 ਬਿਲੀਅਨ ਪੈਰਾਮੀਟਰ ਵਾਲੇ ਮਾਡਲ ਦੇ ਵਿਰੁੱਧ 14 ਬਿਲੀਅਨ ਪੈਰਾਮੀਟਰ ਵਾਲੇ ਮਾਡਲ ਦਾ ਟੈਸਟ ਲਿਆ। ਵੱਡੇ ਮਾਡਲ ਨੇ ਮਾੜੇ ਤੋਂ ਬਿਹਤਰ eval_loss ਪ੍ਰਾਪਤ ਕੀਤਾ। ਇਸਦੀ ਪਰਪਲੈਕਸਿਟੀ (perplexity) ਘਟ ਗਈ। ਕਾਗਜ਼ਾਂ 'ਤੇ, ਇਹ ਸਿੱਖ ਰਿਹਾ ਸੀ।
ਫਿਰ ਮੈਂ ਵਿਨ ਰੇਟ (win rate) ਵੱਲ ਦੇਖਿਆ, ਜੋ ਕਿ ਉਹ ਅਸਲ ਦਰ ਹੈ ਜਿਸ 'ਤੇ ਮਾਡਲ ਨੇ ਸਹੀ ਭਵਿੱਖਬਾਣੀਆਂ ਕੀਤੀਆਂ। 14B ਮਾਡਲ ਨੇ 7B ਮਾਡਲ ਨਾਲੋਂ ਕਾਫ਼ੀ ਮਾੜਾ ਪ੍ਰਦਰਸ਼ਨ ਕੀਤਾ। ਇਸਨੇ ਟ੍ਰੇਨਿੰਗ ਨੋਇਜ਼ ਨੂੰ ਯਾਦ ਕਰ ਲਿਆ ਸੀ। 3,000 ਤੋਂ ਘੱਟ ਉਦਾਹਰਣਾਂ ਦੇ ਨਾਲ, ਵੱਡੇ ਮਾਡਲ ਕੋਲ ਡੇਟਾ ਵਿੱਚ ਗਲਤ ਸਬੰਧਾਂ (spurious correlations) ਅਤੇ ਰੈਂਡਮ ਉਤਾਰ-ਚੜ੍ਹਾਅ 'ਤੇ ਓਵਰਫਿਟ (overfit) ਹੋਣ ਲਈ ਕਾਫ਼ੀ ਸਮਰੱਥਾ ਸੀ। ਇਸਨੇ ਅਸਲ ਵਿੱਚ ਨੋਇਜ਼ ਦਾ ਇੱਕ ਲੁੱਕਅੱਪ ਟੇਬਲ ਬਣਾ ਲਿਆ ਸੀ।
7B ਮਾਡਲ, ਆਪਣੀ ਛੋਟੀ ਸਮਰੱਥਾ ਕਾਰਨ, ਵਿਆਪਕ ਪੈਟਰਨ ਸਿੱਖਣ ਲਈ ਮਜਬੂਰ ਸੀ। ਉਹ ਹਰ ਇੱਕ ਛੋਟੀ-ਮੋਟੀ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਯਾਦ ਨਹੀਂ ਕਰ ਸਕਦਾ ਸੀ। ਜੇਕਰ ਤੁਸੀਂ ਛੋਟੇ ਡੇਟਾਸੈਟਾਂ ਨਾਲ ਕੰਮ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ ਛੋਟੇ ਮਾਡਲਾਂ ਨਾਲ ਸ਼ੁਰੂਆਤ ਕਰੋ। ਸਕੇਲ ਮੁਫਤ ਨਹੀਂ ਹੁੰਦਾ। ਜਦੋਂ ਡੇਟਾ ਘੱਟ ਹੋਵੇ, ਤਾਂ ਇਹ ਤੁਹਾਨੂੰ ਨੁਕਸਾਨ ਪਹੁੰਚਾ ਸਕਦਾ ਹੈ।
ਲੌਸ ਕਰਵ (Loss Curve) 'ਤੇ ਭਰੋਸਾ ਨਾ ਕਰੋ
ਮੈਂ ਲੌਸ ਕਰਵਾਂ ਨੂੰ ਦੇਖਣਾ ਬੰਦ ਕਰ ਦਿੱਤਾ। ਇੱਕ ਮਾਡਲ ਆਪਣੇ ਟੋਕਨ-ਲੇਵਲ ਕ੍ਰਾਸ-ਐਂਟ੍ਰੋਪੀ (token-level cross-entropy) ਵਿੱਚ ਸੁਧਾਰ ਕਰ ਸਕਦਾ ਹੈ ਜਦੋਂ ਕਿ ਉਸ ਅਸਲ ਵਪਾਰਕ ਫੈਸਲੇ ਵਿੱਚ ਮਾੜਾ ਹੁੰਦਾ ਜਾ ਰਿਹਾ ਹੋਵੇ ਜਿਸ ਦੀ ਤੁਹਾਨੂੰ ਪਰਵਾਹ ਹੈ। ਅਜਿਹਾ ਇਸ ਲਈ ਹੁੰਦਾ ਹੈ ਕਿਉਂਕਿ ਭਾਸ਼ਾ ਮਾਡਲਿੰਗ ਲੌਸ ਅਗਲੇ ਟੋਕਨ ਦੀ ਸਹੀ ਭਵਿੱਖਬਾਣੀ ਕਰਨੀ ਨੂੰ ਇਨਾਮ ਦਿੰਦਾ ਹੈ। ਕਈ ਖੇਤਰਾਂ ਵਿੱਚ, ਖਾਸ ਕਰਕੇ ਵਿੱਤ ਵਿੱਚ, ਸਹੀ ਫੈਸਲਾ ਅਤੇ ਸਭ ਤੋਂ ਸੰਭਾਵੀ ਅਗਲਾ ਟੋਕਨ ਇੱਕੋ ਚੀਜ਼ ਨਹੀਂ ਹੁੰਦੇ।
ਮੈਂ ਅਜਿਹੇ ਮਾਡਲ ਦੇਖੇ ਜੋ ਟ੍ਰੇਨਿੰਗ ਪ੍ਰੋਜ਼ (training prose) ਨੂੰ ਬਹੁਤ ਸੁੰਦਰਤਾ ਨਾਲ ਦੁਹਰਾਉਂਦੇ ਸਨ ਪਰ ਹਰ ਵਾਰ ਗਲਤ ਦਿਸ਼ਾ ਦਾ ਦਾਅ ਚੁਣਦੇ ਸਨ। ਲੌਸ ਘਟ ਰਿਹਾ ਸੀ। ਬੈਂਕ੍ਰੋਲ (bankroll) ਵੀ ਉਸ ਦੇ ਨਾਲ ਘਟ ਰਿਹਾ ਸੀ। ਆਪਣੇ ਅਸਲ-ਦੁਨੀਆ ਦੇ ਕੰਮ ਦੇ ਅਧਾਰ 'ਤੇ ਆਪਣਾ ਮੁਲਾਂਕਣ ਮਾਪਦੰਡ ਚੁਣੋ। ਜੇਕਰ ਤੁਸੀਂ ਦਸਤਾਵੇਜ਼ਾਂ ਦੀ ਰੈਂਕਿੰਗ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ ਰੈਂਕਿੰਗ ਦੀ ਗੁਣਵੱਤਾ ਨੂੰ ਮਾਪੋ। ਜੇਕਰ ਤੁਸੀਂ ਨਤੀਜਿਆਂ ਦੀ ਭਵਿੱਖਬਾਣੀ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ ਫੈਸਲੇ ਦੀ ਸ਼ੁੱਧਤਾ ਨੂੰ ਮਾਪੋ। ਕਦੇ ਵੀ eval_loss ਨੂੰ ਆਪਣੇ ਲਈ ਮਾਡਲ ਚੁਣਨ ਨਾ ਦਿਓ।
ਫਾਈਨ-ਟਿਊਨਿੰਗ ਸਿਰਫ਼ ਪਰਾਈ ਸ਼ਬਦਾਵਲੀ 'ਤੇ ਹੀ ਚਮਕਦੀ ਹੈ
ਮੈਂ ਦੋ ਵੱਖ-ਵੱਖ ਕਿਸਮਾਂ ਦੇ ਟੈਕਸਟ 'ਤੇ ਐਂਬੈਡਰ ਫਾਈਨ-ਟਿਊਨਿੰਗ ਦੇ ਪ੍ਰਯੋਗ ਕੀਤੇ। ਪਹਿਲੇ ਵਿੱਚ ਮਿਆਰੀ ਵਿੱਤੀ ਖ਼ਬਰਾਂ ਅਤੇ ਜਨਤਕ ਫਾਈਲਾਂ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਗਈ ਸੀ। ਫਾਈਨ-ਟਿਊਨ ਕੀਤਾ ਗਿਆ ਐਂਬੈਡਰ ਅਤੇ ਮੌਜੂਦਾ (off-the-shelf) ਵਰਜ਼ਨ ਇੱਕੋ ਜਿਹਾ ਪ੍ਰਦਰਸ਼ਨ ਕਰਦੇ ਸਨ। ਬੇਸ ਮਾਡਲ ਪਹਿਲਾਂ ਹੀ ਇਸ ਭਾਸ਼ਾ ਨੂੰ ਜਾਣਦਾ ਸੀ। ਮੈਂ ਜਾਣੇ-ਪਛਾਣੇ ਖੇਤਰ ਵਿੱਚ ਟਿਊਨਿੰਗ ਕਰ ਰਿਹਾ ਸੀ।
ਦੂਜਾ ਡੇਟਾਸੈੱਟ ਨਿੱਜੀ ਸ਼ਬਦਾਵਲੀ (jargon), ਅੰਦਰੂਨੀ ਕੋਡਨਾਮਾਂ ਅਤੇ ਡੋਮੇਨ-ਵਿਸ਼ੇਸ਼ ਸ਼ਾਰਟਹੈਂਡ ਨਾਲ ਭਰਿਆ ਹੋਇਆ ਸੀ ਜੋ ਕਦੇ ਵੀ ਖੁੱਲ੍ਹੇ ਇੰਟਰਨੈਟ 'ਤੇ ਨਹੀਂ ਦਿਖਾਈ ਦਿੱਤਾ ਸੀ। ਇੱਥੇ, ਫਾਈਨ-ਟਿਊਨਿੰਗ ਨੇ ਰਿਟ੍ਰੀਵਲ ਐਕੁਰੇਸੀ (retrieval accuracy) ਵਿੱਚ 79 ਪ੍ਰਤੀਸ਼ਤ ਦਾ ਸੁਧਾਰ ਕੀਤਾ। ਬੇਸ ਮਾਡਲ ਨੂੰ ਸਿਰਫ਼ ਇਹ ਨਹੀਂ ਪਤਾ ਸੀ ਕਿ ਇਹਨਾਂ ਸ਼ਬਦਾਂ ਦਾ ਕੀ ਮਤਲਬ ਹੈ। ਫਾਈਨ-ਟਿਊਨਿੰਗ ਨੇ ਇਸਨੂੰ ਸਥਾਨਕ ਸ਼ਬਦਾਵਲੀ ਸਿਖਾਈ।
ਇਸ ਨੇ ਮੇਰੇ ਲਈ ਪੂਰੀ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਬਦਲ ਦਿੱਤਾ। ਫਾਈਨ-ਟਿਊਨਿੰਗ ਕਿਸੇ ਆਮ ਅਰਥ ਵਿੱਚ ਮਾਡਲ ਨੂੰ ਸਮਾਰਟ ਬਣਾਉਣ ਬਾਰੇ ਨਹੀਂ ਹੈ। ਇਹ ਇਸਨੂੰ ਇੱਕ ਨਵੀਂ ਸ਼ਬਦਾਵਲੀ, ਇੱਕ ਨਵਾਂ ਫਾਰਮੈਟ, ਜਾਂ ਇੱਕ ਹਾਊਸ ਸਟਾਈਲ (house style) ਸਿਖਾਉਣ ਬਾਰੇ ਹੈ। ਜੇਕਰ ਤੁਹਾਡਾ ਡੇਟਾ ਇੰਟਰਨੈਟ ਵਰਗਾ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ, ਤਾਂ ਫਾਈਨ-ਟਿਊਨਿੰਗ ਨੂੰ ਛੱਡ ਦਿਓ। ਜੇਕਰ ਤੁਹਾਡਾ ਡੇਟਾ ਅਜਿਹੀ ਭਾਸ਼ਾ ਬੋਲਦਾ ਹੈ ਜੋ ਬੇਸ ਮਾਡਲ ਨੇ ਕਦੇ ਨਹੀਂ ਦੇਖੀ, ਤਾਂ ਫਾਈਨ-ਟਿਊਨਿੰਗ ਜ਼ਰੂਰੀ ਹੋ ਜਾਂਦੀ ਹੈ।
RAG ਤੁਹਾਨੂੰ ਯਕੀਨਦਿਲੀ ਦਿੰਦਾ ਹੈ, ਸੱਚਾਈ ਨਹੀਂ
I tested eight separate RAG configurations for prediction tasks. Across the board, adding retrieval changed roughly 30 percent of the model's decisions. That sounds impactful. It was not. Those changes were pure noise. The overall accuracy did not improve. What did change was the model's confidence. RAG made the system sound more certain, cite more sources, and produce longer justifications. All while being just as wrong.
This overconfidence is a product risk. A user sees citations and assumes the model has done its homework. In reality, it was doing sophisticated-looking guesswork.
The most painful lesson came from backtesting one RAG variant. It showed an 11 percent annual profit. On the surface, that looks like a winning strategy. But its AUC, the area under the ROC curve and a measure of classification skill, was 0.486. That is worse than a coin flip, which sits at 0.500. The profit was a fluke of the specific market period, not a repeatable edge. Using P&L alone as a metric is dangerous. Markets hand out lucky streaks all the time. You need statistical skill metrics to separate flukes from competence.
Know What Each Tool Actually Does
So where does this leave us? Use fine-tuning when the model needs to learn new words, specific formats, or a distinctive style. Use RAG when the model needs access to facts, code repositories, or institutional memory that lives outside its weights. Do not use either tool to discover signal in data that has none. If the underlying pattern is not there, retrieval and fine-tuning will only help you dress up the noise in a sharper suit.
The Real Bottleneck
The infrastructure for fine-tuning and RAG has never been easier to set up. You can spin up a pipeline in an afternoon. The technique is no longer the bottleneck. Evaluation is. Most teams skip the hard statistical work and celebrate vanity metrics instead. They ship systems that sound smart but fail silently.
Run honest tests before you spend money. Question your metrics. Check for overfitting. Make sure the model is actually better,
