ਮੈਂ ਆਪਣੇ ਆਪ ਨੂੰ ਧੋਖਾ ਦਿੱਤੇ ਬਿਨਾਂ LLM Prompts ਦਾ A/B Test ਕਿਵੇਂ ਕਰਦਾ ਹਾਂ

ਮੈਂ ਇੱਕ ਵਾਰ ਇੱਕ ਸਪੋਰਟ ਅਸਿਸਟੈਂਟ ਬਣਾਇਆ ਅਤੇ ਮੈਨੂੰ ਲੱਗਿਆ ਕਿ ਮੈਂ ਕੁਝ ਵਧੀਆ ਬਣਾ ਲਿਆ ਹੈ। ਮੈਂ ਤੀਹ ਟੈਸਟ ਕੇਸ ਚਲਾਏ, ਨਵੇਂ ਪ੍ਰੋਂਪਟ (prompt) ਦਾ ਸਕੋਰ ਵਧੇਰੇ ਸੀ, ਅਤੇ ਮੈਂ ਇਸਨੂੰ ਲਾਂਚ ਕਰ ਦਿੱਤਾ।

ਛੇ ਘੰਟਿਆਂ ਬਾਅਦ, ਸਪੋਰਟ ਕਿਊ (queue) ਸ਼ਿਕਾਇਤਾਂ ਨਾਲ ਭਰ ਗਈ। ਮੈਨੂੰ ਉਸੇ ਰਾਤ ਉਹ ਬਦਲਾਅ ਵਾਪਸ ਲੈਣਾ ਪਿਆ।

ਉਹ ਉੱਚਾ ਸਕੋਰ ਫਰਜ਼ੀ ਸੀ। ਅਸਲ ਸੁਧਾਰ ਅਤੇ ਕਿਸਮਤ ਵਿੱਚ ਫਰਕ ਕਰਨ ਲਈ ਤੀਹ ਉਦਾਹਰਣਾਂ ਕਾਫ਼ੀ ਨਹੀਂ ਹਨ। ਉਹ ਅੰਕੜਾ ਸਿਰਫ਼ ਇੱਕ ਸ਼ੋਰ (noise) ਸੀ।

ਇੱਥੇ ਦੱਸਿਆ ਗਿਆ ਹੈ ਕਿ ਤੁਸੀਂ ਉਹ ਗਲਤੀ ਕੀਤੇ ਬਿਨਾਂ ਪ੍ਰੋਂਪਟਸ ਦਾ ਟੈਸਟ ਕਿਵੇਂ ਕਰ ਸਕਦੇ ਹੋ।

  • ਛੋਟੇ ਟੈਸਟ ਸਿਰਫ਼ ਵੱਡੀਆਂ ਤਬਦੀਲੀਆਂ ਨੂੰ ਹੀ ਫੜ ਸਕਦੇ ਹਨ। ਜੇਕਰ ਤੁਸੀਂ ਛੋਟਾ ਸੁਧਾਰ ਲੱਭਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਬਹੁਤ ਜ਼ਿਆਦਾ ਉਦਾਹਰਣਾਂ ਦੀ ਲੋੜ ਹੈ। ਇੱਕ ਬਹੁਤ ਹੀ ਮਾਮੂਲੀ ਤਬਦੀਲੀ ਲੱਭਣ ਲਈ, ਤੁਹਾਨੂੰ ਇੱਕ ਹਜ਼ਾਰ ਤੋਂ ਵੱਧ ਉਦਾਹਰਣਾਂ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ।

  • ਦੋਵਾਂ ਵਰਜ਼ਨਾਂ ਲਈ ਇੱਕੋ ਜਿਹੇ ਸਵਾਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰੋ। ਵਰਜ਼ਨ A ਨੂੰ ਸਵਾਲਾਂ ਦਾ ਇੱਕ ਸਮੂਹ (batch) ਅਤੇ ਵਰਜ਼ਨ B ਨੂੰ ਦੂਜਾ ਸਮੂਹ ਨਾ ਦਿਓ। ਕੁਝ ਸਵਾਲ ਦੂਜਿਆਂ ਨਾਲੋਂ ਔਖੇ ਹੁੰਦੇ ਹਨ। ਜੇਕਰ ਵਰਜ਼ਨ B ਨੂੰ ਸੌਖੇ ਸਵਾਲ ਮਿਲਦੇ ਹਨ, ਤਾਂ ਇਹ ਵਧੀਆ ਲੱਗਦਾ ਹੈ ਭਾਵੇਂ ਕਿ ਇਹ ਮਾੜਾ ਹੀ ਕਿਉਂ ਨਾ ਹੋਵੇ। ਦੋਵਾਂ ਵਰਜ਼ਨਾਂ ਨੂੰ ਬਿਲਕੁਲ ਇੱਕੋ ਜਿਹੇ ਸਵਾਲਾਂ ਦੇ ਸਮੂਹ ਰਾਹੀਂ ਚਲਾਓ।

  • ਸਿਰਫ਼ ਔਸਤ (average) ਹੀ ਨਹੀਂ, ਰੇਂਜ (range) ਵੱਲ ਵੀ ਦੇਖੋ। ਔਸਤ ਤੁਹਾਨੂੰ ਇਹ ਨਹੀਂ ਦੱਸਦੀ ਕਿ ਜਿੱਤ ਕਿੰਨੀ ਵੱਡੀ ਹੈ। ਸਭ ਤੋਂ ਛੋਟੇ ਅਤੇ ਸਭ ਤੋਂ ਵੱਡੇ ਸੰਭਾਵਿਤ ਸੁਧਾਰਾਂ ਦੀ ਰੇਂਜ ਦੱਸੋ। ਜੇਕਰ ਉਸ ਰੇਂਜ ਵਿੱਚ ਜ਼ੀਰੋ ਸ਼ਾਮਲ ਹੈ, ਤਾਂ ਇਸਨੂੰ ਲਾਂਚ ਨਾ ਕਰੋ।

  • ਸਹੀ ਸਕੋਰਿੰਗ ਵਿਧੀ ਚੁਣੋ। • ਪੂਰਨ ਗੁਣਵੱਤਾ (absolute quality) ਲਈ ਚੈੱਕਲਿਸਟ ਦੀ ਵਰਤੋਂ ਕਰੋ। • ਟੋਨ (tone) ਜਾਂ ਮਦਦਗਾਰ ਹੋਣ ਵਰਗੀ ਅਸਪਸ਼ਟ ਗੁਣਵੱਤਾ (fuzzy quality) ਲਈ ਆਮ੍ਹne-ਸਾਹਮਣੇ ਤੁਲਨਾ (side-by-side comparison) ਦੀ ਵਰਤੋਂ ਕਰੋ।

  • ਕਈ ਵਰਜ਼ਨਾਂ ਲਈ ਬੈਂਡਿਟ (bandit) ਦੀ ਵਰਤੋਂ ਕਰੋ। ਜੇਕਰ ਤੁਹਾਡੇ ਕੋਲ ਤਿੰਨ ਜਾਂ ਇਸ ਤੋਂ ਵੱਧ ਵਰਜ਼ਨ ਹਨ ਅਤੇ ਤੁਸੀਂ ਉਪਭੋਗਤਾਵਾਂ ਦੀ ਨਿਰਾਸ਼ਾ ਨੂੰ ਸੀਮਤ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਬੈਂਡਿਟ ਦੀ ਵਰਤੋਂ ਕਰੋ। ਇਹ ਸਿੱਖਣ ਦੇ ਨਾਲ-ਨਾਲ ਜੇਤੂ ਵਰਜ਼ਨ ਨੂੰ ਵਧੇਰੇ ਟ੍ਰੈਫਿਕ ਭੇਜਦਾ ਹੈ। ਇਹ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਹਫ਼ਤਿਆਂ ਤੱਕ ਮਾੜੇ ਜਵਾਬ ਦੇਖਣ ਤੋਂ ਰੋਕਦਾ ਹੈ।

ਇਹਨਾਂ ਜਾਲਾਂ ਤੋਂ ਬਚੋ:

  • ਰੇਂਜ ਤੋਂ ਬਿਨਾਂ ਔਸਤਾਂ ਦੀ ਤੁਲਨਾ ਕਰਨਾ।
  • ਵੱਖ-ਵੱਖ ਵਰਜ਼ਨਾਂ ਲਈ ਵੱਖ-ਵੱਖ ਸਵਾਲਾਂ ਦੇ ਸਮੂਹਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨਾ।
  • ਟੈਸਟ ਦੇ ਵਿਚਕਾਰ ਆਪਣੇ ਸਕੋਰਰ ਨੂੰ ਬਦਲਣਾ।
  • ਜਿਵੇਂ ਹੀ ਅੰਕੜੇ ਵਧੀਆ ਦਿਖਾਈ ਦੇਣ, ਟੈਸਟ ਨੂੰ ਰੋਕ ਦੇਣਾ।
  • ਇੱਕੋ ਸਮੇਂ ਬਹੁਤ ਸਾਰੇ ਮੈਟ੍ਰਿਕਸ (metrics) ਨੂੰ ਦੇਖਣਾ। ਇਸ ਨਾਲ ਫਰਜ਼ੀ ਜਿੱਤ ਦੇਖਣ ਦੀ ਸੰਭਾਵਨਾ ਵਧ ਜਾਂਦੀ ਹੈ।
  • ਮਨੁੱਖੀ ਫੈਸਲੇ (human judgment) ਦੇ ਵਿਰੁੱਧ ਪੁਸ਼ਟੀ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਸਕੋਰਰ 'ਤੇ ਭਰੋਸਾ ਕਰਨਾ।

ਮੁਸ਼ਕਲ ਹਿੱਸਾ ਟੈਸਟ ਚਲਾਉਣਾ ਨਹੀਂ ਹੈ। ਮੁਸ਼ਕਲ ਹਿੱਸਾ ਇਹ ਜਾਣਨਾ ਹੈ ਕਿ ਨਤੀਜਾ ਅਸਲੀ ਕਦੋਂ ਹੈ।

Source: https://dev.to/kartik-nvjk/how-i-ab-test-llm-prompts-without-fooling-myself-528f

Optional learning community: https://t.me/GyaanSetuAi