ಡೊಮೇನ್-ನಿರ್ದಿಷ್ಟ ವೆಕ್ಟರ್ ರಿಟ್ರಿವಲ್: ಮಾಡೆಲ್‌ಗಳಿಂದ ಡ್ಯುಯಲ್ ವ್ಯಾಲಿಡೇಶನ್‌ವರೆಗೆ

ಸಾಮಾನ್ಯ ಉದ್ದೇಶದ ಎಂಬೆಡ್ಡಿಂಗ್ ಮಾಡೆಲ್‌ಗಳು (General purpose embedding models) ಹೆಚ್ಚಾಗಿ ವಿಶೇಷವಾದ ಪಠ್ಯಗಳ ವಿಷಯದಲ್ಲಿ ವಿಫಲವಾಗುತ್ತವೆ.

ನನ್ನ ಇತ್ತೀಚಿನ ESG ಪ್ರಾಜೆಕ್ಟ್‌ನಲ್ಲಿ, OpenAI ನ ada-002 ಮಾಡೆಲ್ ಅನ್ನು ಬಳಸಿದ್ದರಿಂದ ಎರಡು ಪ್ರಮುಖ ಸಮಸ್ಯೆಗಳು ಎದುರಾದವು:

  • 18% ಸಂಬಂಧಿತ ವಿಷಯಗಳು ಎಂದಿಗೂ ಕಂಡುಬರಲಿಲ್ಲ.
  • 12% ಫಲಿತಾಂಶಗಳು ತಪ್ಪಾಗಿದ್ದವು. ಉದಾಹರಣೆಗೆ, "Scope 1 emissions" ಎಂದು ಹುಡುಕಿದಾಗ "Scope 3 emissions" ಎಂಬ ಫಲಿತಾಂಶ ಬಂದಿತು.

ಸಮಸ್ಯೆ ಸಿಮಿಲಾರಿಟಿ ಥ್ರೆಶೋಲ್ಡ್ (similarity threshold) ಆಗಿರಲಿಲ್ಲ. ಅದು ಸೆಮ್ಯಾಂಟಿಕ್ ಡ್ರಿಫ್ಟ್ (semantic drift) ಆಗಿತ್ತು. ಸಾಮಾನ್ಯ ಮಾಡೆಲ್‌ಗಳು ESG, ಕಾನೂನು ಅಥವಾ ವೈದ್ಯಕೀಯ ಪಠ್ಯದಂತಹ ವಿಶೇಷ ಡೊಮೇನ್‌ಗಳಲ್ಲಿನ ಸೂಕ್ಷ್ಮ ವ್ಯತ್ಯಾಸಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದಿಲ್ಲ.

ಇದನ್ನು ಸರಿಪಡಿಸಲು ಇಲ್ಲಿದೆ ಮೂರು-ಪದರಗಳ ಪರಿಹಾರ.

೧. ಮಾಡೆಲ್ ಆಯ್ಕೆ (Model Selection) ನಾವು ನಾಲ್ಕು ಮಾಡೆಲ್‌ಗಳನ್ನು ಪರೀಕ್ಷಿಸಿದೆವು. BGE-M3 ಅನ್ನು ಸ್ವತಃ ಹೋಸ್ಟ್ ಮಾಡುವುದು (self-hosting) ಅಗ್ಗವೆಂದು ಕಂಡರೂ, GPU ಸರ್ವರ್ ವೆಚ್ಚಗಳು ಮತ್ತು ಅಭಿವೃದ್ಧಿ ಸಮಯದ ಕಾರಣದಿಂದಾಗಿ ಇದು ವಾಸ್ತವವಾಗಿ 6 ಪಟ್ಟು ಹೆಚ್ಚು ವೆಚ್ಚವನ್ನು ಉಂಟುಮಾಡಿತು.

ನಾವು text-embedding-3-large ಅನ್ನು ಈ ಕೆಳಗಿನ ಕಾರಣಗಳಿಗಾಗಿ ಆಯ್ಕೆ ಮಾಡಿದೆವು:

  • ಇದು 91% ರಿಕಾಲ್ (recall) ಸಾಧಿಸಿತು.
  • ಇದು ದೀರ್ಘ ಪಠ್ಯದೊಂದಿಗೆ ಸ್ಥಿರವಾಗಿರುತ್ತದೆ.
  • ಇದು ಅತ್ಯುತ್ತಮ ROI ಅನ್ನು ನೀಡುತ್ತದೆ.

೨. ಸೆಮ್ಯಾಂಟಿಕ್ ಡ್ರಿಫ್ಟ್ ತಡೆಗಟ್ಟುವಿಕೆ (Semantic Drift Mitigation) ಅತ್ಯುತ್ತಮ ಮಾಡೆಲ್‌ಗಳು ಸಹ "low-carbon" ಮತ್ತು "zero-carbon" ನಡುವೆ ಗೊಂದಲ ಮಾಡಿಕೊಳ್ಳುತ್ತವೆ. ನಾನು ಮೂರು ಹಂತದ ಆಗಮೆಂಟೇಶನ್ (augmentation) ತಂತ್ರವನ್ನು ಜಾರಿಗೆ ತಂದೆ:

  • ಡೊಮೇನ್ ಡಿಕ್ಷನರಿ: ವ್ಯಾಖ್ಯಾನಗಳು ಮತ್ತು "ಇವರಿಂದ ಭಿನ್ನ" ಎಂಬ ನಿಯಮಗಳೊಂದಿಗೆ 500+ ಪದಗಳ ನಕ್ಷೆ.
  • ಪ್ರಾಂಪ್ಟ್ ಹಿಂಟ್ಸ್ (Prompt Hints): ಎನ್‌ಕೋಡಿಂಗ್ ಸಮಯದಲ್ಲಿ ಮಾಡೆಲ್‌ಗೆ ಡಿಕ್ಷನರಿ ಸಂದರ್ಭವನ್ನು (context) ಸೇರಿಸುವುದು.
  • ಪೋಸ್ಟ್-ರಿಟ್ರಿವಲ್ ರೀರಾಂಕಿಂಗ್ (Post-retrieval Reranking): ಸಮಾನಾರ್ಥಕ ಪದಗಳಿಗೆ ಸ್ಕೋರ್‌ಗಳನ್ನು ಹೆಚ್ಚಿಸುವುದು ಮತ್ತು ಸಂಬಂಧವಿಲ್ಲದ ಪದಗಳಿಗೆ ಸ್ಕೋರ್‌ಗಳನ್ನು ಕಡಿಮೆ ಮಾಡುವುದು.

ಇದು ನಮ್ಮ ಫಾಲ್ಸ್ ಪಾಸಿಟಿವ್ (false positive) ದರವನ್ನು 12% ರಿಂದ 3% ಕ್ಕೆ ಇಳಿಸಿತು.

೩. ಡ್ಯುಯಲ್ ವ್ಯಾಲಿಡೇಶನ್ (Dual Validation) ವೆಕ್ಟರ್ ಸಿಮಿಲಾರಿಟಿ ಗಣಿತೀಯ ದೂರವನ್ನು ಅಳೆಯುತ್ತದೆಯೇ ಹೊರತು ವ್ಯವಹಾರದ ಪ್ರಸ್ತುತತೆಯನ್ನು (business relevance) ಅಲ್ಲ. ನಿಖರತೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು, ನಾನು ಡ್ಯುಯಲ್-ಚೆಕ್ ವ್ಯವಸ್ಥೆಯನ್ನು ಸೇರಿಸಿದೆ:

  • ಪದರ 1: ಕೀವರ್ಡ್ ಹಾರ್ಡ್ ಮ್ಯಾಚ್ (Keyword hard match). ಫಲಿತಾಂಶವು ಅಗತ್ಯವಿರುವ ಪ್ರಮುಖ ಪದಗಳನ್ನು ಹೊಂದಿರಲೇಬೇಕು.
  • ಪದರ 2: LLM ಸೆಮ್ಯಾಂಟಿಕ್ ಕ್ರಾಸ್-ವ್ಯಾಲಿಡೇಶನ್. ಆ ಚಂಕ್ (chunk) ವಾಸ್ತವವಾಗಿ ಪ್ರಶ್ನೆಗೆ ಉತ್ತರಿಸುತ್ತದೆಯೇ ಎಂದು LLM ಪರಿಶೀಲಿಸುತ್ತದೆ.
  • ಪದರ 3: ಮ್ಯಾನುಯಲ್ ಸ್ಪಾಟ್-ಚೆಕ್ಸ್ (Manual spot-checks). ಸಿಸ್ಟಮ್ ಕ್ಷೀಣಿಸುವುದನ್ನು ತಡೆಯಲು ಮಾಸಿಕ ವಿಮರ್ಶೆಗಳು.

ಇದು ನಿಖರತೆಯನ್ನು 70% ರಿಂದ 94% ಕ್ಕೆ ಸುಧಾರಿಸಿತು.

ಮುಖ್ಯ ಅಂಶ (The Takeaway) ನಿಮ್ಮ ಡೇಟಾ ವಿಶೇಷವಾದ ತಾಂತ್ರಿಕ ಪದಗಳನ್ನು (jargon) ಬಳಸುತ್ತಿದ್ದರೆ, ಕೇವಲ ಒಂದೇ ವೆಕ್ಟರ್ ಸರ್ಚ್ ಮೇಲೆ ಅವಲಂಬಿತರಾಗಬೇಡಿ. ಗಣಿತೀಯ ಸಾಮ್ಯತೆಯಿಂದ ವ್ಯವಹಾರದ ಪ್ರಸ್ತುತತೆಗೆ ಬದಲಾಗಲು ನಿಮಗೆ ಡಿಕ್ಷನರಿ, ಡೊಮೇನ್ ಹಿಂಟ್ಸ್ ಮತ್ತು ಡ್ಯುಯಲ್-ವ್ಯಾಲಿಡೇಶನ್ ಪದರದ ಅಗತ್ಯವಿದೆ.

Source: https://dev.to/jamesli/part-3-vector-retrieval-in-domain-specific-terminology-scenarios-from-model-selection-to-dual-3485

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