ವೆಚ್ಚ ಅಥವಾ ವಿಳಂಬವನ್ನು (latency) ಹೆಚ್ಚಿಸದೆ ನಿಮ್ಮ ಉತ್ಪನ್ನದಲ್ಲಿ LLM ಅನ್ನು ಹೇಗೆ ಅಳವಡಿಸುವುದು

AI ಡೆಮೊವನ್ನು ನಿರ್ಮಿಸುವುದು ಸುಲಭ. ನೀವು ಒಂದು API ಕೀ ಅನ್ನು ಪಡೆದುಕೊಳ್ಳುತ್ತೀರಿ, ಪ್ರಾಂಪ್ಟ್ ಬರೆಯುತ್ತೀರಿ ಮತ್ತು ಅದನ್ನು ನಿಮ್ಮ ತಂಡಕ್ಕೆ ತೋರಿಸುತ್ತೀರಿ.

ನಂತರ ನೀವು ಅದನ್ನು ಬಿಡುಗಡೆ ಮಾಡುತ್ತೀರಿ. ಟ್ರಾಫಿಕ್ ಬರುತ್ತದೆ. ನಿಮ್ಮ ವೆಚ್ಚಗಳು ಹೆಚ್ಚಾಗುತ್ತವೆ ಮತ್ತು ವಿಳಂಬವು (latency) ಏರುತ್ತದೆ.

ಡೆಮೊದಿಂದ ನೈಜ ಉತ್ಪನ್ನಕ್ಕೆ ಬದಲಾಗಲು ವೆಚ್ಚ ಮತ್ತು ವಿಳಂಬದ ಎಂಜಿನಿಯರಿಂಗ್ (cost and latency engineering) ಅಗತ್ಯವಿದೆ. ಅದನ್ನು ಮಾಡುವ ವಿಧಾನ ಇಲ್ಲಿದೆ.

ನಿಮ್ಮ ಔಟ್‌ಪುಟ್ ಅನ್ನು ನಿಯಂತ್ರಿಸಿ

ಹೆಚ್ಚಿನ APIಗಳು ಟೋಕನ್‌ಗಳ ಆಧಾರದ ಮೇಲೆ ಶುಲ್ಕ ವಿಧಿಸುತ್ತವೆ. ಇನ್‌ಪುಟ್ ಟೋಕನ್‌ಗಳಿಗಿಂತ ಔಟ್‌ಪುಟ್ ಟೋಕನ್‌ಗಳ ವೆಚ್ಚ ಹೆಚ್ಚು.

ಜನರು ಪ್ರಾಂಪ್ಟ್‌ಗಳನ್ನು ಸರಿಪಡಿಸಲು ಸಮಯ ವ್ಯಯಿಸುತ್ತಾರೆ ಆದರೆ ಮಾಡೆಲ್ ಅನಗತ್ಯವಾಗಿ ಹೆಚ್ಚು ಮಾತನಾಡಲು ಬಿಡುತ್ತಾರೆ. ಇದು ಒಂದು ತಪ್ಪು.

ಹಣ ಮತ್ತು ಸಮಯವನ್ನು ಉಳಿಸಲು, ಔಟ್‌ಪುಟ್ ಅನ್ನು ಮಿತಿಗೊಳಿಸಿ:

  • JSON ಕೇಳಿ.
  • ಒಂದೇ ವಾಕ್ಯವನ್ನು ಕೇಳಿ.
  • max_tokens ಮಿತಿಯನ್ನು ನಿಗದಿಪಡಿಸಿ.
  • ಮಾಡೆಲ್ ಸಂಕ್ಷಿಪ್ತವಾಗಿರಲು ತಿಳಿಸಿ.

ಸಂಕ್ಷಿಪ್ತ ಉತ್ತರಗಳು ವೇಗವಾಗಿರುತ್ತವೆ ಮತ್ತು ಅಗ್ಗವಾಗಿರುತ್ತವೆ.

ಅನಗತ್ಯ ಕರೆಗಳನ್ನು ಮಾಡುವುದನ್ನು ನಿಲ್ಲಿಸಿ

ಉಳಿಸಲು ಅತ್ಯುತ್ತಮ ಮಾರ್ಗವೆಂದರೆ ಮಾಡೆಲ್‌ಗೆ ಕರೆ ಮಾಡುವುದನ್ನೇ ಮಾಡದಿರುವುದು.

  • ಕ್ಯಾಷಿಂಗ್ (caching) ಬಳಸಿ: ಸಾಮಾನ್ಯ ಪ್ರಶ್ನೆಗಳಿಗೆ ಪ್ರತಿಕ್ರಿಯೆಗಳನ್ನು ಸಂಗ್ರಹಿಸಿಡಿ. ಪ್ರಶ್ನೆಗಳು ಒಂದೇ ರೀತಿ ಇದ್ದರೂ ಅಕ್ಷರಶಃ ಒಂದೇ ಆಗಿಲ್ಲದಿದ್ದರೆ 'semantic cache' ಸಹಾಯ ಮಾಡುತ್ತದೆ.
  • ರೂಟಿಂಗ್ (routing) ಬಳಸಿ: ಸರಳ ಕೆಲಸಗಳಿಗಾಗಿ ನಿಮ್ಮ ಅತ್ಯುತ್ತಮ ಮಾಡೆಲ್ ಅನ್ನು ಬಳಸಬೇಡಿ. ವರ್ಗೀಕರಣಕ್ಕಾಗಿ (classification) ಸಣ್ಣ, ಅಗ್ಗದ ಮಾಡೆಲ್ ಬಳಸಿ. ಸಂಕೀರ್ಣ ಕೆಲಸಗಳಿಗಾಗಿ ದುಬಾರಿ ಮಾಡೆಲ್ ಅನ್ನು ಉಳಿಸಿ.

ಬಳಕೆದಾರರ ಅನುಭವವನ್ನು ಸುಧಾರಿಸಿ

ಪ್ರತಿಕ್ರಿಯೆ ಪಡೆಯಲು ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತಿದ್ದರೆ, ಅದು ವೇಗವಾಗಿ ನಡೆಯುತ್ತಿದೆ ಎಂಬ ಭಾವನೆ ಮೂಡಿಸಿ.

  • ಟೋಕನ್‌ಗಳನ್ನು ಸ್ಟ್ರೀಮ್ ಮಾಡಿ: ಪದಗಳು ಸೃಷ್ಟಿಯಾಗುತ್ತಿದ್ದಂತೆ ತೋರಿಸಿ. ಇದು ಕಾಯುವ ಸಮಯದ ಅನುಭವವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ.
  • ಪ್ರಗತಿಯನ್ನು ತೋರಿಸಿ: ಕಾರ್ಯವು ಹಲವಾರು ಹಂತಗಳನ್ನು ಹೊಂದಿದ್ದರೆ, ಏನು ನಡೆಯುತ್ತಿದೆ ಎಂದು ಬಳಕೆದಾರರಿಗೆ ತಿಳಿಸಿ. ಸುಮ್ಮನೆ ಸ್ಪಿನ್ನರ್ ತೋರಿಸುವ ಬದಲು "Searching documents..." ನಂತಹ ಪಠ್ಯವನ್ನು ಬಳಸಿ.

"Tail" ವಿಳಂಬವನ್ನು (latency) ನಿರ್ವಹಿಸಿ

ಕೆಲವು ವಿನಂತಿಗಳು (requests) ಯಾವಾಗಲೂ ನಿಧಾನವಾಗಿರುತ್ತವೆ. ಅವು ನಿಮ್ಮ ಉತ್ಪನ್ನವನ್ನು ಹಾಳುಮಾಡಲು ಬಿಡಬೇಡಿ.

  • ಟೈಮೌಟ್‌ಗಳನ್ನು (timeouts) ನಿಗದಿಪಡಿಸಿ: ವಿನಂತಿ ನಿಂತುಹೋದರೆ ಏನಾಗಬೇಕು ಎಂದು ನಿರ್ಧರಿಸಿ. ಫಾಲ್‌ಬ್ಯಾಕ್ (fallback) ಅಥವಾ ಸಣ್ಣ ಮಾಡೆಲ್ ಬಳಸಿ.
  • ರಿಟ್ರೈಗಳನ್ನು (retries) ಬಳಸಿ: ಸಣ್ಣ ತಪ್ಪುಗಳಿಗಾಗಿ ರಿಟ್ರೈಗಳನ್ನು ಸೇರಿಸಿ, ಆದರೆ ಅವುಗಳಿಗೆ ಮಿತಿ ಇರಲಿ.
  • ಸರ್ಕ್ಯೂಟ್ ಬ್ರೇಕರ್‌ಗಳನ್ನು (circuit breakers) ಬಳಸಿ: ಪ್ರೊವೈಡರ್ ಕೆಲಸ ಮಾಡದಿದ್ದರೆ, ದೀರ್ಘ ಕಾಯುವಿಕೆಯನ್ನು ತಪ್ಪಿಸಲು ತಕ್ಷಣವೇ ವಿನಂತಿಗಳನ್ನು ಕಳುಹಿಸುವುದನ್ನು ನಿಲ್ಲಿಸಿ.

ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಿ

ನೀವು ಅಳೆಯದಿದ್ದನ್ನು ಸರಿಪಡಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಪ್ರತಿ ವಿನಂತಿಗೂ ಈ ಮೂರು ಸಂಖ್ಯೆಗಳನ್ನು ದಾಖಲಿಸಿ:

  • ಇನ್‌ಪುಟ್ ಟೋಕನ್‌ಗಳು.
  • ಔಟ್‌ಪುಟ್ ಟೋಕನ್‌ಗಳು.
  • ಒಟ್ಟು ವಿಳಂಬ (Total latency).

ಯಶಸ್ವಿ ಬಳಕೆದಾರರ ಫಲಿತಾಂಶದ (user outcome) ಪ್ರತಿ ವೆಚ್ಚವನ್ನು ಗಮನಿಸಿ. ವಿಫಲವಾಗುವ ಅಗ್ಗದ ಫೀಚರ್ ಅನ್ನು விட, ಕೆಲಸ ಮಾಡುವ ಫೀಚರ್ ಉತ್ತಮವಾಗಿದೆ.

LLM ಅನ್ನು ಮಾಂತ್ರಿಕ ಎಂದು ಭಾವಿಸುವುದನ್ನು ನಿಲ್ಲಿಸಿ. ಅದನ್ನು ನೀವು ನಿರ್ವಹಿಸಬೇಕಾದ ನಿಧಾನವಾದ, ದುಬಾರಿಯಾದ ಅವಲಂಬನೆಯಾಗಿ (dependency) ಪರಿಗಣಿಸಿ.

Source: https://dev.to/muhammadzainnaseer/how-to-put-an-llm-in-your-product-without-wrecking-your-costs-or-your-latency-89a

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