ಸುಧಾರಿತ RAG ತಂತ್ರಗಳು ಯಾವಾಗಲೂ ಉತ್ತಮವಾಗಿರುವುದಿಲ್ಲ. ಅವು ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ ಮಾತ್ರ ಉತ್ತಮವಾಗಿರುತ್ತವೆ.
ಸುಧಾರಿತ RAG ತಂತ್ರಗಳು ಉಚಿತ ಅಪ್ಗ್ರೇಡ್ಗಳಲ್ಲ. ಅವು ವಿನಿಮಯದ (tradeoffs) ಅಂಶಗಳನ್ನು ಹೊಂದಿರುವ ಸಾಧನಗಳು.
ನಾನು Anthropic ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ಬಳಸಿ ಒಂದು RAG ಪೈಪ್ಲೈನ್ನಲ್ಲಿ ಐದು ರಿಟ್ರಿವಲ್ (retrieval) ವಿಧಾನಗಳನ್ನು ಪರೀಕ್ಷಿಸಿದೆ. ಅವುಗಳಲ್ಲಿ ಯಾವುವು ತಮ್ಮ ಸಂಕೀರ್ಣತೆಗೆ ತಕ್ಕಂತೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ ಎಂಬುದನ್ನು ನೋಡಲು ನಾನು ಬಯಸಿದ್ದೆ.
ನಾನು ಕಂಡುಕೊಂಡ ವಿಷಯಗಳು ಇಲ್ಲಿವೆ:
• Dense Retrieval: ಇದು ಮೂಲಾಧಾರ (baseline). ಇದು ಚೆನ್ನಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ ಆದರೆ ನಿಖರವಾದ ಪದಗಳನ್ನು (exact terms) ಗುರುತಿಸುವುದಿಲ್ಲ. • Hybrid Search: ಇದು dense ಮತ್ತು keyword ಸರ್ಚ್ ಎರಡನ್ನೂ ಬಳಸುತ್ತದೆ. dense ಪತ್ತೆಹಚ್ಚಲು ಸಾಧ್ಯವಾಗದ ನಿಖರ ಪದಗಳನ್ನು ಇದು ಕಂಡುಕೊಳ್ಳುತ್ತದೆ. ಆದರೆ ನೀವು ಫಲಿತಾಂಶಗಳಿಗೆ ಸರಿಯಾದ ತೂಕವನ್ನು (weight) ನೀಡದಿದ್ದರೆ, ಮುಖ್ಯ ಮಾಹಿತಿ ಕಣ್ಮರೆಯಾಗಬಹುದು. • Reranking: ಇದು ಅಭ್ಯರ್ಥಿಗಳಿಗೆ ಸ್ಕೋರ್ ನೀಡಲು cross-encoder ಅನ್ನು ಬಳಸುತ್ತದೆ. ಸರಿಯಾದ ಚಂಕ್ (chunk) ಫಲಿತಾಂಶಗಳಲ್ಲಿ ತುಂಬಾ ಕೆಳಗೆ ಇದ್ದಾಗ ಇದು ಸಹಾಯ ಮಾಡುತ್ತದೆ. • HyDE: ಇದು ಡೇಟಾವನ್ನು ಹುಡುಕಲು ಒಂದು ಕಾಲ್ಪನಿಕ ಉತ್ತರವನ್ನು (hypothetical answer) ಬಳಸುತ್ತದೆ. ಇದು ಅಪಾಯಕಾರಿ. ಇದು ಸಾಮಾನ್ಯ ಪ್ರಶ್ನೆಗಳಿಗೆ (casual queries) ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಆದರೆ ನೇರವಾದ ಪ್ರಶ್ನೆಗಳಿದ್ದಾಗ (direct queries), ಇದು ಎಲ್ಲವನ್ನೂ ಹಾಳುಮಾಡುತ್ತದೆ. ಒಂದು ಪರೀಕ್ಷೆಯಲ್ಲಿ Recall 0.80 ರಿಂದ 0.17 ಕ್ಕೆ ಕುಸಿಯಿತು. • Contextual Retrieval: ಇದು ಚಂಕ್ಗಳಿಗೆ ಸಾರಾಂಶಗಳನ್ನು (summaries) ಸೇರಿಸುತ್ತದೆ. ಇದು ಚಿಕ್ಕ ಚಂಕ್ಗಳಿಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ ಆದರೆ LLM ಶುಲ್ಕದಲ್ಲಿ ಹೆಚ್ಚಿನ ವೆಚ್ಚವನ್ನು ಉಂಟುಮಾಡುತ್ತದೆ.
HyDE ಬಗ್ಗೆ ಕಲಿತ ದೊಡ್ಡ ಪಾಠವೆಂದರೆ, ಇದು "set and forget" ಎಂಬಂತಹ ಸಾಧನವಲ್ಲ. ಬಳಕೆದಾರರ ಪ್ರಶ್ನೆ ಮತ್ತು ನಿಮ್ಮ ದಾಖಲೆಗಳು ಬೇರೆ ಬೇರೆ ಭಾಷೆಗಳಲ್ಲಿ ಇದ್ದಾಗ ಮಾತ್ರ ನೀವು ಇದನ್ನು ಬಳಸಬೇಕು. ಇದನ್ನು ಯಾವಾಗ ಬಳಸಬೇಕೆಂದು ನಿರ್ಧರಿಸಲು ನಿಮಗೆ ಒಂದು router ಬೇಕಾಗುತ್ತದೆ.
ನಾನು ಅಳತೆ ಮಾಡುವುದರ (measurement) ಬಗ್ಗೆಯೂ ಒಂದು ಪಾಠ ಕಲಿತೆ.
ನಾನು ಮೌಲ್ಯಮಾಪನಕ್ಕಾಗಿ (evaluation) Ragas ಬಳಸಲು ಪ್ರಯತ್ನಿಸಿದೆ. ಅದು ತುಂಬಾ ನಿಧಾನವಾಗಿತ್ತು. ವಿಫಲವಾದ ಕರೆಗಳನ್ನು (failed calls) ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಲು ಅದು ಗಂಟೆಗಟ್ಟಲೆ ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತಿತ್ತು. ನಾನು ನನ್ನದೇ ಆದ async harness ಅನ್ನು ನಿರ್ಮಿಸಲು ನಿರ್ಧರಿಸಿದೆ. 11 ಗಂಟೆಗಳ ಬದಲಿಗೆ, ನನ್ನ ಮೌಲ್ಯಮಾಪನವು ಕೇವಲ 221 ಸೆಕೆಂಡುಗಳಲ್ಲಿ ಮುಗಿಯಿತು.
AI ಸಾಧನಗಳನ್ನು 'ಬ್ಲಾಕ್ ಬಾಕ್ಸ್' (black boxes) ಎಂದು ಪರಿಗಣಿಸಬೇಡಿ. ಒಂದು ಸಾಧನ ನಿಧಾನವಾಗಿದ್ದರೆ ಅಥವಾ ವಿಫಲವಾಗುತ್ತಿದ್ದರೆ, ಅದರ ಹಿಂದಿರುವ ಗಣಿತವನ್ನು ಗಮನಿಸಿ. ಅಗತ್ಯವಿದ್ದರೆ ನಿಮ್ಮದೇ ಆದ ಪರಿಹಾರವನ್ನು ರೂಪಿಸಿಕೊಳ್ಳಿ.
ಕೆಲಸ ಎಂದರೆ ಕೇವಲ ಹೊಸ ಫೀಚರ್ಗಳನ್ನು ಸೇರಿಸುವುದಲ್ಲ. ನಿಮ್ಮ ಸಿಸ್ಟಮ್ನಲ್ಲಿ ಯಾವ ಫೀಚರ್ ತನ್ನ ಸ್ಥಾನವನ್ನು ಪಡೆಯಲು ಅರ್ಹವಾಗಿದೆ ಎಂಬುದನ್ನು ಅಳೆಯುವುದು ನಿಜವಾದ ಕೆಲಸ.
ಯಾವಾಗ ಯಾವುದನ್ನು ಬಳಸಬೇಕು ಎಂಬ ಸಾರಾಂಶ:
- Hybrid: ಪ್ರಶ್ನೆಗಳು ನಿಖರವಾದ ಪ್ಯಾರಾಮೀಟರ್ಗಳ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿದ್ದಾಗ ಬಳಸಿ.
- HyDE: ಪ್ರಶ್ನೆಗಳನ್ನು ಸರಿಯಾಗಿ ರೂಪಿಸದಿದ್ದಾಗ ಬಳಸಿ.
- Reranking: ರಿಟ್ರಿವಲ್ ವ್ಯಾಪಕವಾಗಿದ್ದು ಆದರೆ ನಿಖರವಾಗಿಲ್ಲದಿದ್ದಾಗ ಬಳಸಿ.
- Contextual: ನಿಮ್ಮ ಚಂಕ್ಗಳಲ್ಲಿ ಸಂದರ್ಭದ (context) ಕೊರತೆ ಇದ್ದಾಗ ಬಳಸಿ.
"state of the art" ಎಂಬದರ ಹಿಂದೆ ಬೀಳುವುದನ್ನು ನಿಲ್ಲಿಸಿ. ನಿಮ್ಮ ಫಲಿತಾಂಶಗಳನ್ನು ಅಳೆಯಲು ಪ್ರಾರಂಭಿಸಿ.
Source: https://dev.to/yogesh23012001/advanced-rag-techniques-arent-better-theyre-better-sometimes-4m2o
Optional learning community: https://t.me/GyaanSetuAi
