ನಿಮ್ಮ ಮೌಲ್ಯಮಾಪನಗಳು ಕೂಡ ಅಸ್ಥಿರವಾಗಿವೆ: ನೀವು ಪುನರಾವರ್ತಿಸಲು ಸಾಧ್ಯವಾಗದ ಪಾಸ್ ರೇಟ್ ಅನ್ನು ನಂಬುವುದನ್ನು ನಿಲ್ಲಿಸಿ

AI ಏಜೆಂಟ್‌ಗಳು ಅನಿರ್ಧಾರಕ (non-deterministic) ಎಂದು ಹೆಚ್ಚಿನ ಜನರಿಗೆ ತಿಳಿದಿದೆ. ನೀವು ಒಂದೇ ಪ್ರಾಂಪ್ಟ್ ಅನ್ನು ಕಳುಹಿಸಿದರೂ, ನಿಮಗೆ ವಿಭಿನ್ನ ಔಟ್‌ಪುಟ್‌ಗಳು ಸಿಗಬಹುದು.

ನಾವು ಇದನ್ನು ಒಪ್ಪಿಕೊಂಡೆವು. ಈ ಏಜೆಂಟ್‌ಗಳನ್ನು ಮೌಲ್ಯಮಾಪನ ಮಾಡಲು ನಾವು LLMಗಳನ್ನು ತೀರ್ಪುಗಾರರನ್ನಾಗಿ ಬಳಸಲು ಪ್ರಾರಂಭಿಸಿದೆವು.

ಆದರೆ ನಾವು ಒಂದು ದೊಡ್ಡ ತಪ್ಪು ಮಾಡಿದೆವು. ನಮ್ಮ ತೀರ್ಪುಗಾರರು ನಿರ್ಧಾರಕರು (deterministic) ಎಂದು ನಾವು ಭಾವಿಸಿದೆವು. ಆದರೆ ಅವರು ಹಾಗಲ್ಲ.

ನಿಮ್ಮ ಮೌಲ್ಯಮಾಪನ ಸೂಟ್ (eval suite) ಎಂಬುದು ಮತ್ತೊಂದು ಯಾದೃಚ್ಛಿಕ ವ್ಯವಸ್ಥೆಯನ್ನು (random system) ಮೌಲ್ಯಮಾಪನ ಮಾಡುವ ಒಂದು ಯಾದೃಚ್ಛಿಕ ವ್ಯವಸ್ಥೆಯಾಗಿದೆ. ನಿಮ್ಮ ಮೌಲ್ಯಮಾಪಕನು ಎಷ್ಟು ಅಸ್ಥಿರವಾಗಿದ್ದಾನೆ ಎಂಬುದನ್ನು ನೀವು ಅಳೆಯದಿದ್ದರೆ, ನಿಮ್ಮ ಬಳಿ ಗುಣಮಟ್ಟದ ಗೇಟ್ (quality gate) ಇಲ್ಲ ಎಂದರ್ಥ. ನಿಮ್ಮ ಬಳಿ ಕೇವಲ ಒಂದು ನಾಣ್ಯದ ಉಲ್ಟಾ-ಪಲ್ಟಾ (coin flip) ಮಾತ್ರ ಇದೆ.

ಒಂದು ಸಪೋರ್ಟ್ ಏಜೆಂಟ್ ವಿಷಯದಲ್ಲಿ ಇದು ಸಂಭವಿಸುವುದನ್ನು ನಾನು ನೋಡಿದೆ. ವಾರಗಟ್ಟಲೆ ಡ್ಯಾಶ್‌ಬೋರ್ಡ್ ಹಸಿರಾಗಿಯೇ ಇತ್ತು. ನಂತರ, ಗ್ರಾಹಕರ ದೂರುಗಳು ಹೆಚ್ಚಾದವು. ನಾನು 200 ಹಳೆಯ ಪ್ರತಿಕ್ರಿಯೆಗಳ ಮೇಲೆ ಅದೇ ಮೌಲ್ಯಮಾಪನವನ್ನು ನಡೆಸಿದೆ. ಅವುಗಳಲ್ಲಿ 14 ಪ್ರತಿಕ್ರಿಯೆಗಳು ತಮ್ಮ ತೀರ್ಪನ್ನು ಬದಲಾಯಿಸಿಕೊಂಡವು. ಏಜೆಂಟ್ ಬದಲಾಗಲಿಲ್ಲ, ತೀರ್ಪುಗಾರನು ತನ್ನ ನಿರ್ಧಾರವನ್ನು ಬದಲಾಯಿಸಿದನು.

ಗೇಟ್ ಇಲ್ಲದಿರುವುದಕ್ಕಿಂತ ಅಸ್ಥಿರವಾದ ಗೇಟ್ ಇರುವುದು ಹೆಚ್ಚು ಅಪಾಯಕಾರಿ. ಇದು ನಿಮಗೆ ಸುಳ್ಳು ಆತ್ಮವಿಶ್ವಾಸವನ್ನು ನೀಡುತ್ತದೆ.

ನಿಮ್ಮ ಮೌಲ್ಯಮಾಪನಗಳು ವಿಫಲವಾಗಲು ಮೂರು ಕಾರಣಗಳಿವೆ:

  • ತೀರ್ಪುಗಾರ ಮಾದರಿ (The judge model): ಪ್ರತಿಯೊಂದು LLM ತೀರ್ಪುಗಾರನಲ್ಲೂ ವ್ಯತ್ಯಾಸವಿರುತ್ತದೆ (variance). ಟೆಂಪರೇಚರ್ 0 ಇರಲಿ ಎಷ್ಟೇ, ಪ್ರೊವೈಡರ್‌ಗಳು ಒಂದೇ ರೀತಿಯ ಫಲಿತಾಂಶವನ್ನು ನೀಡುವ ಭರವಸೆ ನೀಡುವುದಿಲ್ಲ. ಒಂದು ಸಣ್ಣ ಮಾದರಿ ಅಪ್‌ಡೇಟ್ (model update) ನಿಮ್ಮ ಬೇಸ್‌ಲೈನ್ ಅನ್ನು ರಾತ್ರೋರಾತ್ರಿ ಹಾಳುಮಾಡಬಹುದು.
  • ಹಾರ್ನೆಸ್ (The harness): ನಿಮ್ಮ ರನ್‌ಗಳ ನಡುವೆ ಸಂದರ್ಭ (context) ಅಥವಾ ಟೂಲ್ ಔಟ್‌ಪುಟ್‌ಗಳು ಬದಲಾದರೆ, ತೀರ್ಪುಗಾರನು ವಿಭಿನ್ನ ಪ್ರಶ್ನೆಯನ್ನು ನೋಡುತ್ತಾನೆ. ಇನ್‌ಪುಟ್ ಬದಲಾಗಿರುತ್ತದೆ (drifted).
  • ರೂಬ್ರಿಕ್ (The rubric): "ಇದು ಚೆನ್ನಾಗಿದೆಯೇ?" ಎಂಬಂತಹ ಅಸ್ಪಷ್ಟ ನಿಯಮಗಳು ವ್ಯತ್ಯಾಸವನ್ನು (variance) ಉಂಟುಮಾಡುತ್ತವೆ. ಕಟ್ಟುನಿಟ್ಟಾದ, ನಿರ್ದಿಷ್ಟ ನಿಯಮಗಳು ಅದನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತವೆ.

ಅಸ್ಥಿರವಾದ ಮೌಲ್ಯಮಾಪನಗಳನ್ನು ಅಸ್ಥಿರ ಸಾಫ್ಟ್‌ವೇರ್ ಪರೀಕ್ಷೆಗಳಂತೆ ಪರಿಗಣಿಸಬೇಕು. ಅವುಗಳನ್ನು ಬಿಡುಗಡೆ ಮಾಡಬೇಡಿ. ಅವುಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸಿ (quarantine). ಫ್ಲೇಕ್ ರೇಟ್ ಅನ್ನು ಅಳೆಯಿರಿ.

ಕೇವಲ ಒಂದೇ ಒಂದು ಪಾಸ್ ರೇಟ್ ಅನ್ನು ವರದಿ ಮಾಡುವುದನ್ನು ನಿಲ್ಲಿಸಿ. ಒಪ್ಪಿಗೆಯ ಪ್ರಮಾಣವನ್ನು (agreement) ವರದಿ ಮಾಡಲು ಪ್ರಾರಂಭಿಸಿ.

ಪ್ರತಿಯೊಂದು ತೀರ್ಪುಗಾರನ ಕರಾವಳಿಯನ್ನು (judge call) ಹಲವು ಬಾರಿ ನಡೆಸಿಕೊಡಿ. ತೀರ್ಪುಗಾರನು ತನ್ನಷ್ಟಕ್ಕೆ ತಾನೇ ಒಪ್ಪಿಕೊಳ್ಳಲು ಸಾಧ್ಯವಾಗದಿದ್ದರೆ, ಆ ತೀರ್ಪು ಒಂದು ಸಂಕೇತವಲ್ಲ. ಅದು ಅಸ್ಥಿರವಾಗಿದೆ (UNSTABLE).

ಅಸ್ಥಿರವಾದ (UNSTABLE) ಫಲಿತಾಂಶವು ನಿಮ್ಮ CI/CD ಪೈಪ್‌ಲೈನ್‌ನಲ್ಲಿ ಒಂದು ಪ್ರಮುಖ ಫಲಿತಾಂಶವಾಗಿರಬೇಕು. ಅದು ವಿಫಲವಾದಾಗ ಸ್ಪಷ್ಟವಾಗಿ ತಿಳಿಸಬೇಕು (fail loud).

ಅಸ್ಥಿರ ಮೌಲ್ಯಮಾಪನವನ್ನು ಸರಿಪಡಿಸಲು, ನಿಮಗೆ ಎರಡು ವಿಷಯಗಳು ಬೇಕು:

  1. ಸ್ಕೋರಿಂಗ್ ಲೇಯರ್ (A scoring layer): ಇದು ಸ್ಥಿರತೆಯನ್ನು ಲೆಕ್ಕಹಾಕುತ್ತದೆ ಮತ್ತು ಫಲಿತಾಂಶಗಳನ್ನು PASS, FAIL, ಅಥವಾ UNSTABLE ಆಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ.
  2. ಟ್ರೇಸಿಂಗ್ ಲೇಯರ್ (A tracing layer): ನೀವು ಪ್ರತಿಯೊಂದು ರನ್‌ಗಾಗಿ ರೊ (raw) ಬೈಟ್‌ಗಳು, ನಿಖರವಾದ ಪ್ರಾಂಪ್ಟ್ ಮತ್ತು ಟೂಲ್ ಔಟ್‌ಪುಟ್‌ಗಳನ್ನು ನೋಡಲೇಬೇಕು.

ಟ್ರೇಸ್‌ಗಳಿಲ್ಲದೆ, ಮಾದರಿಯು ಕೇವಲ ಯಾದೃಚ್ಛಿಕವಾಗಿದೆ ಎಂದು ನೀವು ಭಾವಿಸುತ್ತೀರಿ. ನೀವು ಟೆಂಪರೇಚರ್ ಅನ್ನು ಕಡಿಮೆ ಮಾಡಿ ಅದನ್ನು ಸರಿಪಡಿಸಿದ್ದೀರಿ ಎಂದುಕೊಳ್ಳುತ್ತೀರಿ. ಆದರೆ ನೀವು ಅದನ್ನು ಸರಿಪಡಿಸಿಲ್ಲ. ನೀವು ಕೇವಲ ಬಗ್ ಅನ್ನು ಮೌನಗೊಳಿಸಿದ್ದೀರಿ ಅಷ್ಟೆ.

ನಿಜವಾದ ಗುಣಮಟ್ಟವನ್ನು ನಿರ್ಮಿಸಲು ಈ ನಿಯಮಗಳನ್ನು ಅನುಸರಿಸಿ:

  • ಕೇವಲ ಸರಾಸರಿಗಳನ್ನು ಮಾತ್ರವಲ್ಲದೆ, ಒಪ್ಪಿಗೆಯನ್ನು (agreement) ವರದಿ ಮಾಡಿ.
  • ನಿಮ್ಮ ಪೈಪ್‌ಲೈನ್‌ನಲ್ಲಿ UNSTABLE ಅನ್ನು ವಿಫಲ ಸ್ಥಿತಿಯನ್ನಾಗಿ (failing state) ಮಾಡಿ.
  • ನಿಮ್ಮ ತೀರ್ಪುಗಾರ ಮಾದರಿಯ ಆವೃತ್ತಿಗಳನ್ನು (judge model versions) ಸ್ಥಿರಗೊಳಿಸಿ (pin).
  • ಪರಿಶೀಲನೆ ವಿಫಲವಾದಾಗ ಟ್ರೇಸ್‌ಗಳನ್ನು ಓದಿ.

ನೀವು ಪುನರಾವರ್ತಿಸಲು ಸಾಧ್ಯವಾಗದ ಹಸಿರು ಡ್ಯಾಶ್‌ಬೋರ್ಡ್ ಒಂದು ಸಂಕೇತವಲ್ಲ. ಅದು ನೀವು ನಿಮಗೆ ನೀವೇ ಹೇಳಿಕೊಳ್ಳುವ ಕಥೆ.

Source: https://dev.to/saurav_bhattacharya/your-evals-are-flaky-too-stop-trusting-a-pass-rate-you-cant-reproduce-6pk

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