Netflix ಏಕೆ ಕೈಯಿಂದ ತಯಾರಿಸಿದ ಫೀಚರ್ಗಳಿಂದ (hand-crafted features) ದೂರ ಸರಿದಿತು
ತನ್ನ ಇತಿಹಾಸದ ಹೆಚ್ಚಿನ ಭಾಗದಲ್ಲಿ, Netflix ನ ಶಿಫಾರಸು ಪೈಪ್ಲೈನ್ (recommendation pipeline) ಸಾವಿರಾರು ಮ್ಯಾನುಯಲ್ ಆಗಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ಗುಣಲಕ್ಷಣಗಳ (attributes) ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿತ್ತು—ಅವು ಬಳಕೆದಾರರು, ಶೀರ್ಷಿಕೆಗಳು ಮತ್ತು ಅವರಿಬ್ಬರ ನಡುವಿನ ಪ್ರತಿಯೊಂದು ಸಂವಹನವನ್ನು ವಿವರಿಸುವ ನಂಬರಿಕ್ ವೆಕ್ಟರ್ಗಳಾಗಿದ್ದವು (numeric vectors). ಹೊಸ ರೀತಿಯ ಕಂಟೆಂಟ್—ಲೈವ್ ಸ್ಪೋರ್ಟ್ಸ್, ಪಾಡ್ಕಾಸ್ಟ್ಗಳು ಅಥವಾ ಗೇಮ್ಗಳು—ಬಂದಾಗ, ಸಿಸ್ಟಮ್ ಅದನ್ನು ಶಿಫಾರಸು ಮಾಡಲು ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು ಎಂಜಿನಿಯರ್ಗಳು ವಾರಗಟ್ಟಲೆ ಸಮಯವನ್ನು ಹೊಸ ಫೀಚರ್ಗಳ ಗುಂಪನ್ನು ಸಿದ್ಧಪಡಿಸಲು ವ್ಯಯಿಸುತ್ತಿದ್ದರು. ಈ ಪ್ರಕ್ರಿಯೆಯು ದುಬಾರಿಯಾಗಿತ್ತು, ಅಸ್ಥಿರವಾಗಿತ್ತು ಮತ್ತು ಕ್ಯಾಟಲಾಗ್ನ ವೇಗದ ವಿಸ್ತರಣೆಯೊಂದಿಗೆ ಇದನ್ನು ಹೊಂದಿಕೆಯಾಗುವಂತೆ ಮಾಡುವುದು ಕಷ್ಟಕರವಾಗಿತ್ತು.
ಸಿದ್ಧವಾಗಿ ಸಿಗುವ ಲಾರ್ಜ್ ಲ್ಯಾಂಗ್ವೇಜ್ ಮಾಡೆಲ್ಗಳು (LLMs) ನೇರವಾಗಿ ಕೆಲಸ ಮಾಡಲಿಲ್ಲ. ಅವು ಹೆಚ್ಚು ಜನಪ್ರಿಯ ಶೀರ್ಷಿಕೆಗಳ ಕಡೆಗೆ ಹೆಚ್ಚು ಒಲವು ತೋರುತ್ತಿದ್ದವು, ಸಾಂದರ್ಭಿಕವಾಗಿ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲದ ವಸ್ತುಗಳನ್ನು ಸೃಷ್ಟಿಸುತ್ತಿದ್ದವು (hallucinated), ಮತ್ತು ಶಿಫಾರಸುಗಳನ್ನು ಸುರಕ್ಷಿತವಾಗಿ ಮತ್ತು ಪ್ರಸ್ತುತವಾಗಿರಿಸುವ ವ್ಯವಹಾರದ ನಿಯಮಗಳನ್ನು (business rules) ಜಾರಿಗೆ ತರಲು ಕಷ್ಟಪಡುತ್ತಿದ್ದವು. ಆದ್ದರಿಂದ, Netflix ತನ್ನ ಉತ್ಪಾದನಾ ಮಿತಿಗಳನ್ನು (production constraints) ಗೌರವಿಸುತ್ತಲೇ, ಲ್ಯಾಂಗ್ವೇಜ್ ಮಾಡೆಲ್ನ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಉಳಿಸಿಕೊಳ್ಳುವಂತಹ ಒಂದು ವಿಶೇಷ LLM-ಆಧಾರಿತ ಪೈಪ್ಲೈನ್ ಅನ್ನು ನಿರ್ಮಿಸಿತು.
GenRec ನ ಒಳಗಿನ ನೋಟ: ಎರಡು ಹಂತದ ತರಬೇತಿ ಪೈಪ್ಲೈನ್
GenRec ಎಂಬುದು ಎರಡು ವಿಭಿನ್ನ ಹಂತಗಳನ್ನು ಒಳಗೊಂಡಿದೆ:
- ಬೇಸ್ ಮಾಡೆಲ್ ಫೈನ್-ಟ್ಯೂನಿಂಗ್ (Base model fine-tuning) – Netflix ಒಂದು ಓಪನ್-ವೇಟ್ ಲ್ಯಾಂಗ್ವೇಜ್ ಮಾಡೆಲ್ನಿಂದ ಪ್ರಾರಂಭಿಸಿ, ಅದನ್ನು ತನ್ನ ಆಂತರಿಕ ವೀಕ್ಷಣಾ ಡೇಟಾದ ಮೇಲೆ ಫೈನ್-ಟ್ಯೂನ್ ಮಾಡುತ್ತದೆ. ಇದು ಮಾಡೆಲ್ನ ಮೂಲ ಆರ್ಕಿಟೆಕ್ಚರ್ ಅನ್ನು ಬದಲಾಯಿಸದೆ, ಕ್ಯಾಟಲಾಗ್ನ ಶಬ್ದಕೋಶ ಮತ್ತು ಬಳಕೆದಾರರ ನಡವಳಿಕೆಯ ಮಾದರಿಗಳನ್ನು ಮಾಡೆಲ್ಗೆ ಕಲಿಸುತ್ತದೆ.
- ಶಿಫಾರಸು ರ್ಯಾಂಕಿಂಗ್ (Recommendation ranking) – ಎರಡನೇ ಹಂತದ ತರಬೇತಿಯು ಫೈನ್-ಟ್ಯೂನ್ ಮಾಡಿದ ಮಾಡೆಲ್ ಅನ್ನು ಒಂದು ರ್ಯಾಂಕರ್ ಆಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ, ಇದು ನಿರ್ದಿಷ್ಟ ಬಳಕೆದಾರರಿಗೆ ಸೂಕ್ತವಾದ ಶೀರ್ಷಿಕೆಗಳಿಗೆ ಸ್ಕೋರ್ ನೀಡುತ್ತದೆ. ಹೊಸ ಬಿಡುಗಡೆಗಳು ಮತ್ತು ಬದಲಾಗುತ್ತಿರುವ ಟ್ರೆಂಡ್ಗಳೊಂದಿಗೆ ಮಾಡೆಲ್ ಅಪ್ಡೇಟ್ ಆಗಿರಲು Netflix ಈ ಹಂತವನ್ನು ಪದೇ ಪದೇ ನವೀಕರಿಸುತ್ತದೆ.
ಹಳೆಯ ವ್ಯವಸ್ಥೆಗಿಂತ ಇಲ್ಲಿನ ಪ್ರಮುಖ ವ್ಯತ್ಯಾಸವೆಂದರೆ ಬಳಕೆದಾರರ ಇತಿಹಾಸವನ್ನು ಮಾಡೆಲ್ಗೆ ಹೇಗೆ ನೀಡಲಾಗುತ್ತದೆ ಎಂಬುದು. ವೀಕ್ಷಣಾ ಅವಧಿಯನ್ನು (watch sessions) ಡೆನ್ಸ್ ವೆಕ್ಟರ್ಗಳಾಗಿ (dense vectors) ಸಂಕುಚಿತಗೊಳಿಸುವ ಬದಲು, GenRec ಪ್ರತಿಯೊಂದು ಸಂವಹನವನ್ನು—ಪ್ಲೇ ಅವಧಿ, ಥಂಬ್ಸ್-ಅಪ್ ಅಥವಾ ಥಂಬ್ಸ್-ಡೌನ್, ವೀಕ್ಷಣೆಯನ್ನು ಅರ್ಧಕ್ಕೆ ನಿಲ್ಲಿಸುವುದು—ಸರಳ ಇಂಗ್ಲಿಷ್ ವಾಕ್ಯಗಳಾಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ. ನಂತರ ಮಾಡೆಲ್ ಇಡೀ ಸೆಷನ್ ಅನ್ನು ಒಂದು ಸಣ್ಣ ಸಂಭಾಷಣೆಯಂತೆ ಓದುತ್ತದೆ, ಇದರಿಂದ ಯಾವುದೇ ಎಕ್ಸ್ಪ್ಲಿಸಿಟ್ ಫೀಚರ್ ಎಂಜಿನಿಯರಿಂಗ್ ಇಲ್ಲದೆಯೇ ಶೈಲಿ (genre) ಅಥವಾ ಮೂಡ್ನಲ್ಲಿನ ಸೂಕ್ಷ್ಮ ಬದಲಾವಣೆಗಳನ್ನು ಗುರುತಿಸುತ್ತದೆ.
ಕಾರ್ಯಕ್ಷಮತೆ ಮತ್ತು ದಕ್ಷತೆಯ ಲಾಭಗಳು
Netflix ಟ್ರಾಫಿಕ್ನ 10% ರಷ್ಟನ್ನು GenRec ಗೆ ಒಡ್ಡಿದ ನಾಲ್ಕು ವಾರಗಳ ಪ್ರಯೋಗದಲ್ಲಿ, ಹೊಸ ವ್ಯವಸ್ಥೆಯು ಎರಡು ಮೆಟ್ರಿಕ್ ಗುಂಪುಗಳಲ್ಲಿ ಅಂಕಿಅಂಶಗಳ ಪ್ರಕಾರ ಗಮನಾರ್ಹ ಸುಧಾರಣೆಯನ್ನು ತಂದಿದೆ:
- ಅಲ್ಪಾವಧಿಯ ಎಂಗೇಜ್ಮೆಂಟ್ (Short-term engagement) – ದೈನಂದಿನ ಶಿಫಾರಸುಗಳನ್ನು ಚಲಾಯಿಸುವ ಪ್ರಾಥಮಿಕ ಕ್ಲಿಕ್-ತ್ರು (click-through) ಮತ್ತು ವೀಕ್ಷಣಾ ಸಮಯದ ಸಂಕೇತಗಳಲ್ಲಿ 0.115% ಏರಿಕೆ ಕಂಡುಬಂದಿದೆ.
- ದೀರ್ಘಾವಧಿಯ ಪ್ರಮುಖ ಮೆಟ್ರಿಕ್ಗಳು (Long-term core metrics) – ವ್ಯವಹಾರಕ್ಕೆ ಅತ್ಯಂತ ಮುಖ್ಯವಾದ ಸಬ್ಸ್ಕ್ರೈಬರ್-ರಿಟೆನ್ಷನ್ (subscriber-retention) ಮತ್ತು ಒಟ್ಟಾರೆ ತೃಪ್ತಿಯ ಸ್ಕೋರ್ಗಳಲ್ಲಿ 0.006% ಹೆಚ್ಚಳವಾಗಿದೆ.
ಆಫ್ಲೈನ್ನಲ್ಲಿ, ಪ್ರೊಡಕ್ಷನ್ ಬೇಸ್ಲೈನ್ನೊಂದಿಗೆ ಹೋಲಿಸಿದರೆ, ಹೌಲ್ಡ್-ಔಟ್ ಡೇಟಾಸೆಟ್ನಲ್ಲಿ (held-out dataset) ರ್ಯಾಂಕಿಂಗ್ ಗುಣಮಟ್ಟವು 1.6% ಸುಧಾರಿಸಿದೆ. ಇದರಲ್ಲಿ ಅತ್ಯಂತ ಆಶ್ಚರ್ಯಕರವಾದದ್ದು ಡೇಟಾ ದಕ್ಷತೆ: ಸಾಂಪ್ರದಾಯಿಕ ಪೈಪ್ಲೈನ್ ಅದೇ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ತಲುಪಲು ಅಗತ್ಯವಿರುವ ಲೇಬಲ್ ಮಾಡಿದ ಉದಾಹರಣೆಗಳ ಪೈಕಿ ಎರಡನೇ ತರಬೇತಿ ಹಂತಕ್ಕೆ ಕೇವಲ 1/40 ಭಾಗದಷ್ಟು ಮಾತ್ರ ಬೇಕಾಯಿತು.
ಕಂಪ್ಯೂಟ್ ವೆಚ್ಚವನ್ನು ನಿಯಂತ್ರಿಸಲು, Netflix ಮಾಡೆಲ್ ಅನ್ನು vLLM ನೊಂದಿಗೆ ಚಲಾಯಿಸುತ್ತದೆ. ಇದು ಪಠ್ಯವನ್ನು (text) ಉತ್ಪಾದಿಸುವ ಬದಲು, ಸಿಂಗಲ್ ಫಾರ್ವರ್ಡ್ ಪಾಸ್ನಲ್ಲಿ (single forward pass) ಪ್ರತಿಯೊಂದು ಅಭ್ಯರ್ಥಿಗೂ ಸ್ಕೋರ್ ನೀಡುವ ಸರ್ವಿಂಗ್ ಸ್ಟ್ಯಾಕ್ ಆಗಿದೆ. ಸಿಸ್ಟಮ್ ಕಠಿಣವಾದ ಫಿಲ್ಟರಿಂಗ್ ಅನ್ನು ಸಹ ಅನ್ವಯಿಸುತ್ತದೆ, ಇದರಿಂದಾಗಿ ಕೇವಲ ಹೆಚ್ಚಿನ ಸಿಗ್ನಲ್ ಇರುವ ಘಟನೆಗಳು ಮಾತ್ರ ಮಾಡೆಲ್ನ ಕಾಂಟೆಕ್ಸ್ಟ್ ವಿಂಡೋದಲ್ಲಿ (context window) ಇರುತ್ತವೆ, ಇದು ಅನಗತ್ಯ ಟೋಕನ್ಗಳನ್ನು ಕಡಿತಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ವಿಳಂಬವನ್ನು (latency) ಕಡಿಮೆ ಮಾಡುತ್ತದೆ.
"ಫೀಚರ್ಗಳಿಂದ" "ಕಾಂಟೆಕ್ಸ್ಟ್ಗೆ" ಬದಲಾಗುವುದು ಎಂದರೆ ಏನು
GenRec ಎಂಬುದು "ಕಾಂಟೆಕ್ಸ್ಟ್ ಎಂಜಿನಿಯರಿಂಗ್" (context engineering) ಕೈಯಿಂದ ತಯಾರಿಸಿದ ಫೀಚರ್ಗಳನ್ನು ಬದಲಿಸುವ ವಿಶಾಲವಾದ ಚಳುವಳಿಯ ಭಾಗವಾಗಿದೆ. ಪ್ರತಿಯೊಂದು ಶಿಫಾರಸು ಕಾರ್ಯಕ್ಕಾಗಿ ವಿಭಿನ್ನ ಆರ್ಕಿಟೆಕ್ಚರ್ ಅನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸುವ ಬದಲು, ಎಂಜಿನಿಯರ್ಗಳು ಯಾವ ಸಂಕೇತಗಳನ್ನು (signals) ಪಠ್ಯ ಪ್ರಾಂಪ್ಟ್ನಲ್ಲಿ (text prompt) ಸೇರಿಸಬೇಕು ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುತ್ತಾರೆ ಮತ್ತು ಲ್ಯಾಂಗ್ವೇಜ್ ಮಾಡೆಲ್ ಅವುಗಳ ಮೇಲೆ ತರ್ಕ ಮಾಡಲಿಕ್ಕೆ ಬಿಡುತ್ತಾರೆ. ಈ ವಿಧಾನವು ಹೊಸ ಕಂಟೆಂಟ್ ಪ್ರಕಾರಗಳ ಸೇರ್ಪಡೆಯನ್ನು ವೇಗಗೊಳಿಸುತ್ತದೆ: ಒಂದು ಪಾಡ್ಕಾಸ್ಟ್ ಎಪಿಸೋಡ್ ಅಥವಾ ಲೈವ್-ಸ್ಟ್ರೀಮ್ ಮಾಡಲಾದ ಗೇಮ್ ಅನ್ನು ಒಂದು ವಾಕ್ಯದಲ್ಲಿ ವಿವರಿಸಬಹುದು ಮತ್ತು ತಿಂಗಳುಗಟ್ಟಲೆ ನಡೆಯುವ ಫೀಚರ್-ಡೆಫಿನಿಷನ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಬಿಟ್ಟು ತಕ್ಷಣವೇ ಶಿಫಾರಸು ಪೂಲ್ನಲ್ಲಿ ಸೇರಿಸಬಹುದು.
ಉಳಿದಿರುವ ಅಡೆತಡೆಗಳು
LLM-ಆಧಾರಿತ ಶಿಫಾರಸು ಮಾಡುವ ವ್ಯವಸ್ಥೆಗಳು ಎಲ್ಲಾ ಸಮಸ್ಯೆಗಳಿಗೂ ಪರಿಹಾರವಲ್ಲ (silver bullet). ಜನಪ್ರಿಯ ವಸ್ತುಗಳಿಗೆ ಅತಿಯಾದ ಒತ್ತು ನೀಡುವ ಅವುಗಳ ಪ್ರವೃತ್ತಿಯು ಇನ್ನೂ ಕ್ಯಾಟಲಾಗ್ನಲ್ಲಿ ಪಕ್ಷಪಾತವನ್ನು ಉಂಟುಮಾಡಬಹುದು ಮತ್ತು ಶಕ್ತಿಯುತವಾದ GPUs ನ ಅಗತ್ಯತೆಯು ಕಾರ್ಯಾಚರಣೆಯ ವೆಚ್ಚವನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ. vLLM ಮತ್ತು ಕಠಿಣವಾದ ಫಿಲ್ಟರಿಂಗ್ ಇದ್ದರೂ ಸಹ, Netflix ನ ಪ್ರಮಾಣದಲ್ಲಿ ಲಾರ್ಜ್ ಲ್ಯಾಂಗ್ವೇಜ್ ಮಾಡೆಲ್ ಅನ್ನು ನಿರ್ವಹಿಸುವುದು ವಿಳಂಬದ ಗುರಿಗಳನ್ನು (latency targets) ತಲುಪಲು ಎಂಜಿನಿಯರಿಂಗ್ನಲ್ಲಿ ಹೆಚ್ಚಿನ ಎಚ್ಚರಿಕೆ ವಹಿಸಬೇಕಾಗುತ್ತದೆ.
