Fine-tuning, retrieval-augmented generation (RAG) ਅਤੇ plain prompting, ਹਰੇਕ large language models (LLMs) ਲਈ ਸਮੱਸਿਆਵਾਂ ਦੇ ਵੱਖ-ਵੱਖ ਵਰਗਾਂ ਨੂੰ ਹੱਲ ਕਰਦੇ ਹਨ। ਗਲਤ ਚੋਣ ਕਰਨ ਨਾਲ GPU cycles ਬਰਬਾਦ ਹੁੰਦੇ ਹਨ, cloud bills ਵਧ ਜਾਂਦੇ ਹਨ ਅਤੇ ਫਿਰ ਵੀ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਗਲਤ ਜਵਾਬ ਮਿਲਦੇ ਹਨ। ਹੇਠਾਂ ਇੱਕ ਸਟੈਪ-ਬਾਈ-ਸਟੈਪ ਫਰੇਮਵਰਕ ਦਿੱਤਾ ਗਿਆ ਹੈ ਜੋ ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਇਹ ਫੈਸਲਾ ਲੈਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ ਕਿ ਕਿਹੜਾ ਟੂਲ ਉਹਨਾਂ ਦੇ use case ਲਈ ਸਹੀ ਹੈ, ਅਤੇ ਜਦੋਂ ਲੋੜ ਹੋਵੇ ਤਾਂ ਉਹਨਾਂ ਨੂੰ ਕਿਵੇਂ ਜੋੜਨਾ ਹੈ।

ਤਿੰਨ ਮੁੱਖ ਸਾਧਨ

ਕੀ ਬਦਲਦਾ ਹੈ ਇਹ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ ਆਮ ਵਰਤੋਂ
RAG inference time ਵੇਲੇ ਮਾਡਲ ਦੇ context ਵਿੱਚ ਬਾਹਰੀ ਤੱਥ ਜੋੜਦਾ ਹੈ ਕੀਮਤਾਂ ਨੂੰ ਅਪਡੇਟ ਕਰਨਾ, ਨਵੀਨਤਮ ਪਾਲਿਸੀ ਦਸਤਾਵੇਜ਼ ਪ੍ਰਾਪਤ ਕਰਨਾ, ਨਿੱਜੀ ਡੇਟਾ ਦਾ ਹਵਾਲਾ ਦੇਣਾ
Fine-tuning ਸ਼ੈਲੀ, ਫਾਰਮੈਟ ਜਾਂ ਦੁਹਰਾਉਣਯੋਗ ਵਿਵਹਾਰ ਨੂੰ ਬਦਲਣ ਲਈ ਮਾਡਲ ਦੇ ਅੰਦਰੂਨੀ weights ਨੂੰ ਐਡਜਸਟ ਕਰਦਾ ਹੈ ਇਕਸਾਰ ਲਹਿਜਾ (tone), ਗੁੰਝਲਦਾਰ ਆਊਟਪੁੱਟ ਸਟ੍ਰਕਚਰ, high-throughput classification
Prompting ਸਪਸ਼ਟ ਨਿਰਦੇਸ਼ਾਂ ਅਤੇ ਉਦਾਹਰਣਾਂ ਨਾਲ ਮਾਡਲ ਦੇ ਤੁਰੰਤ ਜਵਾਬ ਨੂੰ ਰੂਪ ਦਿੰਦਾ ਹੈ ਆਮ ਤਰਕ (reasoning), ਤੇਜ਼ ਪ੍ਰੋਟੋਟਾਈਪ, ਕੁਝ ਦਿਨਾਂ ਦੇ ਅੰਦਰ ਫੀਚਰ ਲਾਂਚ ਕਰਨਾ

ਕਿਸੇ ਵੀ ਪ੍ਰੋਜੈਕਟ ਦੀ ਸ਼ੁਰੂਆਤ ਵਿੱਚ ਪੁੱਛਿਆ ਜਾਣ ਵਾਲਾ ਮੁੱਖ ਸਵਾਲ ਹੈ: ਕੀ ਇਹ ਕਮੀ ਗਿਆਨ ਦੀ ਘਾਟ (knowledge gap) ਹੈ ਜਾਂ ਵਿਵਹਾਰ ਦੀ ਘਾਟ (behavior gap)? ਗਿਆਨ ਦੀ ਘਾਟ ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਮਾਡਲ ਕੋਲ ਸਹੀ ਤੱਥ ਹੀ ਨਹੀਂ ਹਨ; ਵਿਵਹਾਰ ਦੀ ਘਾਟ ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਉਹ ਤੱਥ ਜਾਣਦਾ ਹੈ ਪਰ ਉਹਨਾਂ ਨੂੰ ਉਸ ਤਰੀਕੇ ਨਾਲ ਪ੍ਰਗਟ ਨਹੀਂ ਕਰਦਾ ਜਿਸਦੀ ਤੁਹਾਨੂੰ ਲੋੜ ਹੈ।

ਜਦੋਂ ਸਮੱਸਿਆ ਗਿਆਨ ਦੀ ਘਾਟ ਹੈ – RAG ਦੀ ਵਰਤੋਂ ਕਰੋ

ਜੇਕਰ ਮਾਡਲ ਗਲਤ ਜਾਣਕਾਰੀ (hallucinates) ਦਿੰਦਾ ਹੈ, ਪੁਰਾਣੇ ਅੰਕੜੇ ਦੱਸਦਾ ਹੈ, ਜਾਂ ਕਿਸੇ ਸਰੋਤ ਵੱਲ ਇਸ਼ਾਰਾ ਨਹੀਂ ਕਰ ਸਕਦਾ, ਤਾਂ ਸਮੱਸਿਆ ਜਾਣਕਾਰੀ ਦੀ ਘਾਟ ਜਾਂ ਪੁਰਾਣੀ ਹੋਣ ਦੀ ਹੈ। RAG runtime ਵੇਲੇ ਸਹੀ ਦਸਤਾਵੇਜ਼ ਜਾਂ ਡੇਟਾ ਪੁਆਇੰਟ ਨੂੰ prompt ਵਿੱਚ ਲਿਆ ਕੇ ਇਸ ਨੂੰ ਹੱਲ ਕਰਦਾ ਹੈ।

  • RAG ਦੀ ਵਰਤੋਂ ਉਦੋਂ ਕਰੋ ਜਦੋਂ ਤੱਥ ਅਕਸਰ ਬਦਲਦੇ ਹਨ—ਜਿਵੇਂ ਕਿ ਇਨਵੈਂਟਰੀ ਲੈਵਲ, ਬਾਜ਼ਾਰ ਦੀਆਂ ਕੀਮਤਾਂ, ਜਾਂ ਰੈਗੂਲੇਟਰੀ ਟੇਬਲ।
  • ਇਸਦੀ ਵਰਤੋਂ ਉਦੋਂ ਕਰੋ ਜਦੋਂ ਤੁਹਾਨੂੰ compliance ਜਾਂ audit ਦੇ ਉਦੇਸ਼ਾਂ ਲਈ ਹਵਾਲੇ (citations) ਜਾਂ ਟ੍ਰੇਸੇਬਿਲਟੀ (traceability) ਪ੍ਰਦਾਨ ਕਰਨੀ ਪਵੇ।
  • ਇਸਦੀ ਵਰਤੋਂ ਨਿੱਜੀ corpora ਲਈ ਕਰੋ ਜਿਨ੍ਹਾਂ ਨੂੰ ਕਿਸੇ ਪਬਲਿਕ ਮਾਡਲ ਨਾਲ ਸਾਂਝਾ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ; retrieval layer ਡੇਟਾ ਨੂੰ ਤੁਹਾਡੇ firewall ਦੇ ਪਿੱਛੇ ਸੁਰੱਖਿਅਤ ਰੱਖਦੀ ਹੈ।

ਇੱਕ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਅਪਡੇਟ ਕਰਨਾ ਆਸਾਨ ਹੈ। ਇੱਕ ਮਾਡਲ ਨੂੰ ਮੁੜ ਸਿਖਲਾਈ (re-training) ਦੇਣਾ ਮੁਸ਼ਕਲ ਹੈ।

ਜਦੋਂ ਸਮੱਸਿਆ ਵਿਵਹਾਰ ਦੀ ਘਾਟ ਹੈ – fine-tune ਕਰੋ

ਜੇਕਰ ਮਾਡਲ ਪਹਿਲਾਂ ਹੀ ਸਹੀ ਤੱਥ ਜਾਣਦਾ ਹੈ ਪਰ ਉਹਨਾਂ ਨੂੰ ਗਲਤ ਫਾਰਮੈਟ, ਲਹਿਜੇ (tone), ਜਾਂ ਅਸੰਗਤ ਸਟ੍ਰਕਚਰ ਵਿੱਚ ਦਿੰਦਾ ਹੈ, ਤਾਂ ਤੁਹਾਨੂੰ ਇਸਦੇ ਅੰਦਰੂਨੀ ਵਿਵਹਾਰ ਨੂੰ ਰੂਪ ਦੇਣ ਦੀ ਲੋੜ ਹੈ। Fine-tuning ਮਾਡਲ ਦੇ weights ਨੂੰ ਦੁਬਾਰਾ ਲਿਖਦਾ ਹੈ ਤਾਂ ਜੋ ਲੋੜੀਂਦੀ ਸ਼ੈਲੀ ਡਿਫੌਲਟ ਬਣ ਜਾਵੇ।

  • ਬ੍ਰਾਂਡ-ਵਿਸ਼ੇਸ਼ ਆਵਾਜ਼, ਕਾਨੂੰਨੀ ਭਾਸ਼ਾ, ਜਾਂ ਕਿਸੇ ਵੀ ਅਜਿਹੇ ਆਊਟਪੁੱਟ ਲਈ ਆਦਰਸ਼ ਜੋ ਇੱਕ ਸਖ਼ਤ ਟੈਂਪਲੇਟ ਦੀ ਪਾਲਣਾ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।
  • ਉੱਚ-ਵੌਲਯੂਮ (high-volume), ਦੁਹਰਾਉਣਯੋਗ ਕੰਮਾਂ ਜਿਵੇਂ ਕਿ bulk classification ਲਈ ਵਧੀਆ ਕੰਮ ਕਰਦਾ ਹੈ, ਜਿੱਥੇ ਹਰ ਕਾਲ 'ਤੇ ਛੋਟੀ prompt cost ਜਮ੍ਹਾਂ ਹੋ ਕੇ ਵੱਡੀ ਬਣ ਜਾਂਦੀ ਹੈ।
  • ਇਹ prompts ਨੂੰ ਛੋਟਾ ਕਰ ਸਕਦਾ ਹੈ, ਜਿਸ ਨਾਲ token ਦੀ ਵਰਤੋਂ ਘਟਦੀ ਹੈ ਅਤੇ ਇਸ ਤਰ੍ਹਾਂ inference cost ਵੀ ਘਟਦੀ ਹੈ।

ਇੱਕ ਆਮ ਗਲਤੀ ਮਾਡਲ ਨੂੰ ਸਿਰਫ਼ ਤੱਥ ਸਿਖਾਉਣ ਲਈ fine-tune ਕਰਨਾ ਹੈ। ਇਹ compute ਬਰਬਾਦ ਕਰਦਾ ਹੈ ਅਤੇ ਫਿਰ ਵੀ ਮਾਡਲ ਨੂੰ ਭਵਿੱਖ ਦੇ data drift ਪ੍ਰਤੀ ਕਮਜ਼ੋਰ ਰੱਖਦਾ ਹੈ। ਤੱਥ retrieval layer ਵਿੱਚ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ; fine-tuning ਵਿਵਹਾਰ (behavior) ਲੇਅਰ ਵਿੱਚ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ।

ਜਦੋਂ ਸਮੱਸਿਆ ਨਿਰਦੇਸ਼ ਦੀ ਘਾਟ ਹੈ – prompting ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ

Prompt engineering ਇਹ ਟੈਸਟ ਕਰਨ ਦਾ ਸਭ ਤੋਂ ਸਸਤਾ ਅਤੇ ਤੇਜ਼ ਤਰੀਕਾ ਹੈ ਕਿ ਕੀ ਮਾਡਲ ਕਿਸੇ ਕੰਮ ਨੂੰ ਹੱਲ ਕਰ ਸਕਦਾ ਹੈ ਜਾਂ ਨਹੀਂ। ਸਪਸ਼ਟ ਨਿਰਦੇਸ਼, few-shot ਉਦਾਹਰਣਾਂ, ਅਤੇ chain-of-thought prompting ਅਕਸਰ ਬਿਨਾਂ ਕਿਸੇ ਮਾਡਲ ਬਦਲਾਅ ਦੇ ਇਸ ਘਾਟ ਨੂੰ ਪੂਰਾ ਕਰ ਦਿੰਦੇ ਹਨ।

  • ਕਿਸੇ ਮਹਿੰਗੇ ਹੱਲ ਵੱਲ ਵਧਣ ਤੋਂ ਪਹਿਲਾਂ ਇਹ ਦੇਖਣ ਲਈ ਇਸਦੀ ਵਰਤੋਂ ਕਰੋ ਕਿ ਇੱਕ "ਚੰਗਾ" ਜਵਾਬ ਕਿਹੋ ਜਿਹਾ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ।
  • ਇਸਨੂੰ ਤਰਕ-ਭਰਪੂਰ (reasoning-heavy) ਕੰਮਾਂ, brainstorming, ਜਾਂ ਕਿਸੇ ਵੀ ਅਜਿਹੇ ਮੌਕੇ 'ਤੇ ਲਾਗੂ ਕਰੋ ਜਿੱਥੇ ਤੁਹਾਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਨਤੀਜੇ ਦੀ ਲੋੜ ਹੋਵੇ।
  • ਜੇਕਰ ਤੁਸੀਂ ਇੱਕ ਵਧੀਆ ਤਰੀਕੇ ਨਾਲ ਤਿਆਰ ਕੀਤੇ prompt ਨਾਲ ਸੰਤੁਸ਼ਟੀਜਨਕ ਨਤੀਜੇ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਡੇਟਾ ਇਕੱਠਾ ਕਰਨ, ਮਾਡਲ ਟ੍ਰੇਨਿੰਗ, ਜਾਂ retrieval pipelines ਦੇ ਵਾਧੂ ਖਰਚੇ ਤੋਂ ਬਚ ਸਕਦੇ ਹੋ।

ਜੇਕਰ ਤੁਸੀਂ ਅਜੇ ਤੱਕ ਸਪਸ਼ਟ prompting ਅਤੇ ਕੁਝ ਉਦਾਹਰਣਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਦੇਖ ਨਹੀਂ ਲਈ ਹੈ, ਤਾਂ ਤੁਸੀਂ fine-tuning ਜਾਂ RAG ਇਨਫਰਾਸਟ੍ਰਕਚਰ ਵਿੱਚ ਨਿਵੇਸ਼ ਕਰਨ ਲਈ ਤਿਆਰ ਨਹੀਂ ਹੋ।

ਫੈਸਲਾ ਲੈਣ ਦੀ ਪ੍ਰਕਿਰਿਆ

ਆਪਣੇ use case ਨੂੰ ਹੇਠਾਂ ਦਿੱਤੀ ਚੈੱਕਲਿਸਟ ਰਾਹੀਂ ਚੈੱਕ ਕਰੋ। ਪਹਿਲੇ “yes” 'ਤੇ ਰੁਕੋ ਅਤੇ ਉਹ ਤਕਨੀਕ ਲਾਗੂ ਕਰੋ। ਜੇਕਰ ਇੱਕ ਤੋਂ ਵੱਧ ਸ਼ਰਤਾਂ ਲਾਗੂ ਹੁੰਦੀਆਂ ਹਨ, ਤਾਂ ਹੱਲਾਂ ਨੂੰ ਇੱਕ ਦੇ ਉੱਪਰ ਇੱਕ ਲਗਾਓ।

  1. ਕੀ ਤੁਸੀਂ ਸਪਸ਼ਟ ਨਿਰਦੇਸ਼ਾਂ ਅਤੇ few-shot ਉਦਾਹਰਣਾਂ ਨਾਲ prompting ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਹੈ? ਨਹੀਂ → prompting ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ।
  2. ਕੀ ਅਸਫਲਤਾ ਗੁੰਮ ਹੋਏ ਜਾਂ ਪੁਰਾਣੇ ਤੱਥਾਂ ਕਾਰਨ ਹੈ, ਜਾਂ ਕੀ ਤੁਹਾਨੂੰ ਸਰੋਤਾਂ ਦਾ ਹਵਾਲਾ ਦੇਣ ਦੀ ਲੋੜ ਹੈ? ਹਾਂ → ਇੱਕ RAG ਲੇਅਰ ਜੋੜੋ।
  3. **ਕੀ ਅਸਫਲਤਾ ਅਸੰਗਤ ਸ਼ੈਲੀ, ਫਾਰਮੈਟਿੰਗ, ਜਾਂ high-throughput, ਦੁਹਰਾਉਣ

ਕਦੇ ਵੀ ਸਿਰਫ਼ “vibes” 'ਤੇ ਨਿਰਭਰ ਨਾ ਰਹੋ। ਇੱਕ ਛੋਟਾ, representative evaluation set ਬਣਾਓ ਜੋ ਮੁੱਖ inputs ਅਤੇ ਉਮੀਦ ਕੀਤੇ ਜਾਣ ਵਾਲੇ outputs ਨੂੰ ਕੈਪਚਰ ਕਰਦਾ ਹੋਵੇ। ਉਸੇ set ਨੂੰ ਹਰੇਕ candidate solution ਰਾਹੀਂ ਚਲਾਓ—ਸਿਰਫ਼ prompt, prompt + RAG, prompt + fine-tune, ਜਾਂ full stack। accuracy, citation quality, token cost ਅਤੇ latency ਦੀ ਤੁਲਨਾ ਕਰੋ। ਡੇਟਾ ਤੁਹਾਨੂੰ ਦੱਸੇਗਾ ਕਿ ਕਿਹੜਾ layer ਅਸਲ value ਜੋੜਦਾ ਹੈ ਅਤੇ ਕਿਹੜਾ ਬੇਲੋੜਾ overhead ਹੈ।

ਸ਼ੁਰੂ ਵਿੱਚ ਹੀ ਸਹੀ ਰਾਹ ਚੁਣਨਾ ਸਮਾਂ, ਪੈਸਾ ਅਤੇ ਨਿਰਾਸ਼ਾ ਬਚਾਉਂਦਾ ਹੈ। ਪਹਿਲਾਂ prompt ਦੀ ਵਰਤੋਂ ਕਰੋ, ਜਦੋਂ facts bottleneck ਬਣਨ ਤਾਂ retrieval ਜੋੜੋ, ਅਤੇ ਜਦੋਂ behavior bottleneck ਹੋਵੇ ਤਾਂ fine-tune ਕਰੋ। Measure ਕਰੋ, iterate ਕਰੋ, ਅਤੇ ਤੁਸੀਂ ਗਲਤ ਸਮੱਸਿਆ 'ਤੇ GPU power ਵਰਤਣ ਦੀ ਆਮ ਗਲਤੀ ਤੋਂ ਬਚ ਸਕੋਗੇ।