ಬಿಲ್ ಏಕೆ ಅತಿಯಾಗಿ ಹೆಚ್ಚಾಯಿತು
ತಂಡವು ಮೊದಲ ಬಾರಿಗೆ generative AI ಅನ್ನು ಸೇರಿಸಿದಾಗ, ಪ್ರತಿಯೊಂದು ಬಳಕೆದಾರರ ವಿನಂತಿಯನ್ನು ಅತ್ಯಂತ ಹೊಸ ಮತ್ತು ಅತ್ಯಂತ ಸಮರ್ಥವಾದ ಮಾಡೆಲ್ಗೆ ಕಳುಹಿಸಿತು. ಟ್ರಾಫಿಕ್ ಹೆಚ್ಚಾದಂತೆ, ಪ್ರತಿ ವಿನಂತಿಯ ವೆಚ್ಚವೂ ಅದರೊಂದಿಗೆ ಹೆಚ್ಚಾಯಿತು ಮತ್ತು CFO ಅವರ ಸ್ಪ್ರೆಡ್ಶೀಟ್ನಲ್ಲಿ ವೆಚ್ಚವು ಬಳಕೆದಾರರ ಬೆಳವಣಿಗೆಯನ್ನು ಮೀರಿಸುತ್ತಿರುವುದು ಕಂಡುಬಂದಿತು. "ಕೇವಲ ಅಗ್ಗದ ಮಾಡೆಲ್ ಬಳಸಿ" ಎಂಬ ಸಾಮಾನ್ಯ ಪರಿಹಾರವು ಪ್ರೊಡಕ್ಷನ್ನಲ್ಲಿ ವಿಫಲವಾಗುತ್ತದೆ, ಏಕೆಂದರೆ ವಿಭಿನ್ನ ಪ್ರಶ್ನೆಗಳಿಗೆ ವಿಭಿನ್ನ ಮಟ್ಟದ ತಾರ್ಕಿಕ ಸಾಮರ್ಥ್ಯದ (reasoning levels) ಅಗತ್ಯವಿರುತ್ತದೆ. ನಿಜವಾದ ಪರಿಹಾರವು ವಿನಂತಿಯನ್ನು ಹೇಗೆ ಕಳುಹಿಸಲಾಗುತ್ತದೆ ಎಂಬುದರಲ್ಲಿದೆ, ಯಾವಾಗಲೂ ಯಾವ ಮಾಡೆಲ್ ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ ಎಂಬುದರಲ್ಲಲ್ಲ.
ಹಣ ಉಳಿಸುವ ರೂಟಿಂಗ್ ಲೇಯರ್ ಅನ್ನು ನಿರ್ಮಿಸುವುದು
ಎಂಜಿನಿಯರ್ ಇನ್ಫರೆನ್ಸ್ ಸೇವೆಯನ್ನು (inference service) ಇತರ ಪ್ರೊಡಕ್ಷನ್ ಘಟಕಗಳಂತೆ ಪರಿಗಣಿಸಿದರು: ಟಿಯರ್ಗಳನ್ನು (tiers) ವ್ಯಾಖ್ಯಾನಿಸುವುದು, SLAಗಳನ್ನು ನಿಗದಿಪಡಿಸುವುದು ಮತ್ತು લેಟೆನ್ಸಿ ಬಜೆಟ್ಗಳನ್ನು (latency budgets) ಜಾರಿಗೆ ತರುವುದು. ಇದರ ಪರಿಣಾಮವಾಗಿ ಉಂಟಾದ ಆರ್ಕಿಟೆಕ್ಚರ್ನಲ್ಲಿ ನಾಲ್ಕು ಪ್ರಮುಖ ಭಾಗಗಳಿದ್ದು, ಅವು ಒಟ್ಟಾಗಿ 95% ವೆಚ್ಚ ಕಡಿತವನ್ನು ತರುತ್ತವೆ.
ಹಂತದ ರೂಟಿಂಗ್ (Tiered routing)
ಒಂದು ಸಣ್ಣ ಫ್ರಂಟ್-ಎಂಡ್ ಪ್ರತಿಯೊಂದು ಬರುವ ವಿನಂತಿಯನ್ನು ಅದರ ಕಠಿಣತೆಯ ಆಧಾರದ ಮೇಲೆ ವರ್ಗೀಕರಿಸುತ್ತದೆ. ಸುಮಾರು 95% ಪ್ರಶ್ನೆಗಳು ಸಾಧಾರಣ ಮಾಡೆಲ್ ಚಲಾಯಿಸುವ "ಅಗ್ಗದ" (cheap) ಹಂತಕ್ಕೆ ಬರುತ್ತವೆ; ಕೇವಲ ಕಠಿಣವಾದ 5% ಪ್ರಶ್ನೆಗಳನ್ನು ಮಾತ್ರ ಪ್ರೀಮಿಯಂ ಮಾಡೆಲ್ಗೆ ವರ್ಗಾಯಿಸಲಾಗುತ್ತದೆ. ಈ ವರ್ಗೀಕರಣವು ನಿಯಮ ಆಧಾರಿತವಾಗಿರಬಹುದು (ಉದಾಹರಣೆಗೆ: ಉದ್ದ, ಡೊಮೇನ್-ನಿರ್ದಿಷ್ಟ ಕೀವರ್ಡ್ಗಳ ಉಪಸ್ಥಿತಿ) ಅಥವಾ ಹಿಂದಿನ ಡೇಟಾದಿಂದ ಕಲಿಯಬಹುದು. ಕಡಿಮೆ ವೆಚ್ಚದ ಹಂತವನ್ನು ಡಿಫಾಲ್ಟ್ ಆಗಿ ಬಳಸುವುದರಿಂದ, ಚಾಟ್ಬಾಟ್ನ ಮಾಸಿಕ ವೆಚ್ಚವು $420 ರಿಂದ $28 ಕ್ಕೆ ಇಳಿಯಿತು.
ಮಾಡೆಲ್ ರೈಟ್-ಸೈಸಿಂಗ್ (Model right-sizing)
ಕೆಲಸದ ಸಂಕೀರ್ಣತೆಗೆ ತಕ್ಕಂತೆ ಮಾಡೆಲ್ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿಸುವುದು ಅತಿ ಹೆಚ್ಚು ಉಳಿತಾಯವನ್ನು ನೀಡುತ್ತದೆ:
- ಸರಳ ಚಾಟ್ (Simple chat) – ಫ್ಲ್ಯಾಗ್ಶಿಪ್ ಮಾಡೆಲ್ಗೆ ಬದಲಾಗಿ ಲೈಟ್ವೇಯ್ಟ್ ಮಾಡೆಲ್ ಬಳಸಿ (97.5% ಉಳಿತಾಯ).
- ವರ್ಗೀಕರಣ (Classification) – ಮಧ್ಯಮ ಗಾತ್ರದ ಮಾಡೆಲ್ಗೆ ಬದಲಾಗಿ ಅಗ್ಗದ ಪರ್ಯಾಯವನ್ನು ಬಳಸಿ (98.3% ಉಳಿತಾಯ).
- ಸಾರಾಂಶ (Summarization) – ಟಾಪ್-ಟಿಯರ್ ಮಾಡೆಲ್ಗೆ ಬದಲಾಗಿ ಮಿಡ್-ರೇಂಜ್ ಮಾಡೆಲ್ ಬಳಸಿ (97.2% ಉಳಿತಾಯ).
ನಿಖರವಾದ ಮಾಡೆಲ್ ಹೆಸರುಗಳು ಮುಖ್ಯವಲ್ಲ; ನಿಜವಾಗಿಯೂ ಅಗತ್ಯವಿರುವ ಕೆಲವು ಪ್ರಶ್ನೆಗಳಿಗಾಗಿ ಅತ್ಯಂತ ಸಮರ್ಥವಾದ ಮಾಡೆಲ್ ಅನ್ನು ಮೀರಿಸಿಕೊಡುವುದು ಇದರ ಮೂಲ ತತ್ವವಾಗಿದೆ.
ಸ್ಮಾರ್ಟ್ ಕ್ಯಾಷಿಂಗ್ (Smart caching)
ಪ್ರತಿ ಕ್ಯಾಶ್ ಹಿಟ್ (cache hit) ಒಂದು ನೆಟ್ವರ್ಕ್ ಕಾಲ್ ಮತ್ತು API ಶುಲ್ಕವನ್ನು ತಪ್ಪಿಸುತ್ತದೆ. ಡಿಸ್ಟ್ರಿಬ್ಯೂಟೆಡ್ Redis ಕ್ಯಾಶ್ ಯಶಸ್ವಿ ಪ್ರತಿಕ್ರಿಯೆಗಳ ಜೊತೆಗೆ "ನನಗೆ ಗೊತ್ತಿಲ್ಲ" ಎಂಬಂತಹ "ನಕಾರಾತ್ಮಕ" ಉತ್ತರಗಳನ್ನು ಸಹ ಸಂಗ್ರಹಿಸುತ್ತದೆ. ಅದೇ ಉತ್ತರಿಸಲಾಗದ ಪ್ರಶ್ನೆ ಮತ್ತೆ ಬಂದಾಗ, ಸಿಸ್ಟಮ್ ಎರಡನೇ ಬಾರಿಗೆ ಮಾಡೆಲ್ ಅನ್ನು ಬಳಸುವ ಬದಲು ಕ್ಯಾಶ್ ಮಾಡಲಾದ "ನನಗೆ ಗೊತ್ತಿಲ್ಲ" ಎಂಬ ಉತ್ತರವನ್ನು ನೀಡುತ್ತದೆ. ಸಾವಿರಾರು ವಿನಂತಿಗಳ ಸಂದರ್ಭದಲ್ಲಿ, ಇದುವೊಂದೇ ಬಿಲ್ನಿಂದ ಗಮನಾರ್ಹ ಮೊತ್ತವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ.
ಪ್ರಾಂಪ್ಟ್ ಕಂಪ್ರೆಷನ್ (Prompt compression)
ಉದ್ದವಾದ ಪ್ರಾಂಪ್ಟ್ಗಳು ಟೋಕನ್ ಬಳಕೆಯನ್ನು ಹೆಚ್ಚಿಸುತ್ತವೆ, ಇದು ನೇರವಾಗಿ ವೆಚ್ಚಕ್ಕೆ ಕಾರಣವಾಗುತ್ತದೆ. ತಂಡವು ಕ್ಲೈಂಟ್ ಸೈಡ್ನಲ್ಲಿ ಅಥವಾ ಪ್ರಿ-ಪ್ರೊಸೆಸಿಂಗ್ ಹಂತದಲ್ಲಿ ಅಗ್ಗದ ಸಾರಾಂಶಕಾರನನ್ನು (summarizer) ಬಳಸುತ್ತದೆ, ಇದರಿಂದ 2,000-ಟೋಕನ್ ಸಂದರ್ಭವನ್ನು (context) ದುಬಾರಿ ಮಾಡೆಲ್ಗೆ ತಲುಪುವ ಮೊದಲು ಸುಮಾರು 400 ಟೋಕನ್ಗಳಿಗೆ ಕುಗ್ಗಿಸುತ್ತದೆ. ಈ ಟೋಕನ್ ಕಡಿತವು ಎಲ್ಲಾ ವಿನಂತಿಗಳ ಮೇಲೆ ಪ್ರಭಾವ ಬೀರಿ, ಬಳಕೆದಾರರ ಅನುಭವವನ್ನು ಬದಲಿಸದೆ ಬೃಹತ್ ಉಳಿತಾಯವನ್ನು ನೀಡುತ್ತದೆ.
ಸ್ಟ್ರಾಟೆಜಿಕ್ ಬ್ಯಾಚಿಂಗ್ (Strategic batching)
ಬ್ಯಾಚಿಂಗ್ ಎಂದರೆ ಹಲವಾರು ಸ್ವತಂತ್ರ ವಿನಂತಿಗಳನ್ನು ಒಂದೇ API ಕಾಲ್ ಆಗಿ ಗುಂಪು ಮಾಡುವುದು. ಇದರ ಸರಳ ನಿಯಮವೆಂದರೆ: ಬಳಕೆದಾರರು ಉತ್ತರಿಸಿಗಾಗಿ ಕಾಯುತ್ತಿದ್ದರೆ, ಬ್ಯಾಚ್ ಮಾಡಬೇಡಿ; ವಿನಂತಿಯು ಹಿನ್ನೆಲೆಯಲ್ಲಿ (background) ಚಲಿಸುತ್ತಿದ್ದರೆ (ರಾತ್ರಿ ವರದಿಗಳು, ನಿಗದಿತ ಕೆಲಸಗಳು), ಎಲ್ಲವನ್ನೂ ಬ್ಯಾಚ್ ಮಾಡಿ. ರಾತ್ರಿಯ ಬ್ಯಾಚ್ ಕೆಲಸಗಳು ಮಾತ್ರ ವೆಚ್ಚವನ್ನು ಇನ್ನಷ್ಟು 10-20% ಕಡಿಮೆ ಮಾಡುತ್ತವೆ.
ಆಪ್ಟಿಮೈಸೇಶನ್ ಲೂಪ್ ಅನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುವುದು
ನೀವು ಅಳೆಯದಿದ್ದನ್ನು ಸುಧಾರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಎಂಜಿನಿಯರ್ ನಾಲ್ಕು ವಾರಕ್ಕೊಮ್ಮೆ ಪರಿಶೀಲಿಸಬೇಕಾದ ಮೆಟ್ರಿಕ್ಗಳನ್ನು (metrics) ನಿಗದಿಪಡಿಸಿದರು:
- ಹಂತಗಳ ಆಧಾರದ ಮೇಲೆ ಪ್ರತಿ ವಿನಂತಿಯ ವೆಚ್ಚ.
- ಪ್ರತಿ ರೂಟಿಂಗ್ ಪಥಕ್ಕಾಗಿ ಕ್ಯಾಶ್-ಹಿಟ್ ದರ.
- ಅಗ್ಗದ ಹಂತದಿಂದ ಪ್ರೀಮಿಯಂ ಹಂತಕ್ಕೆ ವರ್ಗಾವಣೆಯಾಗುವ ದರ.
- ಪ್ರತಿ ಗ್ರಾಹಕ ವಿಭಾಗದ ವೆಚ್ಚ.
ಈ ಅಂಕಿಅಂಶಗಳು ವ್ಯತ್ಯಾಸಗಳನ್ನು (drift) ಎತ್ತಿ ತೋರಿಸುತ್ತವೆ—ಉದಾಹರಣೆಗೆ, ಹೆಚ್ಚುತ್ತಿರುವ ವರ್ಗಾವಣೆ ದರವು ವರ್ಗೀಕರಣ ತರ್ಕವು (classification logic) ಅತಿಯಾಗಿದೆ ಅಥವಾ ಅಗ್ಗದ ಮಾಡೆಲ್ನ ಗುಣಮಟ್ಟ ಕುಸಿದಿದೆ ಎಂಬುದನ್ನು ಸೂಚಿಸಬಹುದು. ತಂಡವು ಪ್ರತಿ ವಾರ ಮಿತಿಗಳು (thresholds), ಮಾಡೆಲ್ ನಿಯೋಜನೆಗಳು ಮತ್ತು ಕ್ಯಾಶ್ ನೀತಿಗಳನ್ನು ಪರಿಷ್ಕರಿಸುತ್ತದೆ, ಇದರಿಂದ ವೆಚ್ಚ ನಿಯಂತ್ರಣವು ಕೇವಲ ತುರ್ತು ಕ್ರಮವಾಗದೆ ಒಂದು ಅಭ್ಯಾಸವಾಗಿ ಬದಲಾಗುತ್ತದೆ.
ಮುಖ್ಯಾಂಶಗಳು
ವಿನಂತಿಗಳನ್ನು ವರ್ಗೀಕರಿಸುವ, ಮಾಡೆಲ್ಗಳನ್ನು ಸರಿಯಾದ ಗಾತ್ರದಲ್ಲಿ ಬಳಸುವ (right-sizes), ತೀವ್ರವಾಗಿ ಕ್ಯಾಶ್ ಮಾಡುವ, ಪ್ರಾಂಪ್ಟ್ಗಳನ್ನು ಕುಗ್ಗಿಸುವ ಮತ್ತು ಹಿನ್ನೆಲೆ ಕೆಲಸಗಳನ್ನು ಬ್ಯಾಚ್ ಮಾಡುವ ಶಿಸ್ತುಬದ್ಧ ರೂಟಿಂಗ್ ಲೇಯರ್, ವಿಶ್ವಾಸಾರ್ಹತೆಯನ್ನು ಎತ್ತಿ ಹಿಡಿಯುತ್ತಲೇ AI-API ವೆಚ್ಚವನ್ನು 95% ವರೆಗೆ ಕಡಿಮೆ ಮಾಡಬಲ್ಲದು. ಇನ್ಫರೆನ್ಸ್ ಸ್ಟ್ಯಾಕ್ ಅನ್ನು (inference stack) ಒಂದು ಪ್ರೊಡಕ್ಷನ್ ಸೇವೆಯಂತೆ ಪರಿಗಣಿಸಿ: ಹಂತಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿ, ಫಲಿತಾಂಶಗಳನ್ನು ಅಳೆಯಿರಿ ಮತ್ತು ಪ್ರತಿ ವಾರ ಪರಿಷ್ಕರಿಸಿ.
