OpenAI GPT-Live ಅನ್ನು ನಿರ್ಮಿಸಿದೆ, ಇದು ಧ್ವನಿ-ಆಧಾರಿತ ಚಾಟ್‌ಬಾಟ್ ಆಗಿದ್ದು, ಏಕಕಾಲದಲ್ಲಿ ಕೇಳಿಸಿಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಮಾತನಾಡುತ್ತದೆ. ಇದು ಹೆಚ್ಚಿನ ಅಸಿಸ್ಟೆಂಟ್‌ಗಳು ಬಳಸುವ ಅಸಂಗತವಾದ “ಮಾತನಾಡಿ-ನಂತರ-ಕೇಳಿಸಿಕೊಳ್ಳಿ” ಎಂಬ ವಿರಾಮಗಳನ್ನು ಕೈಬಿಡುತ್ತದೆ. ಈ ಸೇವೆಯು ನಿರಂತರ ಸಂಭಾಷಣೆಯಾಗಲಿ ಹೊರತು ನಿಂತು ನಿಂತು ನಡೆಯುವ ವಿನಿಮಯವಾಗಬಾರದು ಎಂಬ ಗುರಿಯನ್ನು ಹೊಂದಿದೆ.

ಹಳೆಯ ಮಾದರಿ ಏಕೆ ದೋಷಪೂರಿತವಾಗಿತ್ತು

ಸಾಮಾನ್ಯ ಧ್ವನಿ ಅಸಿಸ್ಟೆಂಟ್‌ಗಳು ವಾಕಿ-ಟಾಕಿಗಳಂತೆ ಕೆಲಸ ಮಾಡುತ್ತವೆ: ನೀವು ಒಂದು ವಾಕ್ಯವನ್ನು ಮುಗಿಸಿದಾಗ, ಸಾಧನವು ಅದನ್ನು ರೆಕಾರ್ಡ್ ಮಾಡುತ್ತದೆ, ಆಡಿಯೊವನ್ನು ಕ್ಲೌಡ್‌ಗೆ ಕಳುಹಿಸುತ್ತದೆ, ಪ್ರತಿಕ್ರಿಯೆಗಾಗಿ ಕಾಯುತ್ತದೆ, ನಂತರ ಅದನ್ನು ಪ್ಲೇ ಮಾಡುತ್ತದೆ. ಈ ಪ್ರಕ್ರಿಯೆಯು ಗಮನಾರ್ಹ ವಿಳಂಬವನ್ನು (lag) ಉಂಟುಮಾಡುತ್ತದೆ ಮತ್ತು ಬಳಕೆದಾರರು ಮಧ್ಯದಲ್ಲಿ ಮಾತನಾಡುವ ಮೊದಲು ವಿರಾಮ ತೆಗೆದುಕೊಳ್ಳುವಂತೆ ಮಾಡುತ್ತದೆ. ಇನ್‌ಸ್ಟಂಟ್ ಮೆಸೇಜಿಂಗ್‌ನಲ್ಲಿ ಬೆಳೆದ ತಲೆಮಾರಿಗೆ, ಈ ವಿಳಂಬವು ಹಳೆಯ ಕಾಲದದ್ದಾಗಿ ಕಾಣಿಸುತ್ತದೆ.

OpenAI ಇದಕ್ಕೆ turn-less ಆರ್ಕಿಟೆಕ್ಚರ್ ಮೂಲಕ ಉತ್ತರಿಸಿದೆ. ಪ್ರತಿ ಸೆಕೆಂಡಿಗೂ, GPT-Live ಕೇಳಿಸಿಕೊಳ್ಳುತ್ತಿರಬೇಕೆ, ಮಾತನಾಡುತ್ತಿರಬೇಕೆ ಅಥವಾ ವಿರಾಮ ತೆಗೆದುಕೊಳ್ಳಬೇಕೆ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ. ಇದು ನೀವು ಪ್ರತಿಕ್ರಿಯೆಯ ಮಧ್ಯದಲ್ಲೇ ಅಸಿಸ್ಟೆಂಟ್ ಅನ್ನು ತಡೆಯಲು ಅಥವಾ ಪೂರ್ಣ ಪ್ರತಿಕ್ರಿಯೆಗಾಗಿ ಕಾಯದೆ ಮುಂದಿನ ಪ್ರಶ್ನೆಯನ್ನು ಕೇಳಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.

ಫುಲ್-ಡ್ಯೂಪ್ಲೆಕ್ಸ್ ಸ್ಟ್ಯಾಕ್ (full-duplex stack) ಸರಳವಾಗಿ ಹೇಳುವುದಾದರೆ

  1. ಪ್ರತ್ಯೇಕ ಆಡಿಯೋ ಲೂಪ್ ಮತ್ತು ರೀಸನಿಂಗ್ ಪಾತ್ (reasoning path) – ಒಂದು fast path ನಿರಂತರ ಆಡಿಯೋ ವಿನಿಮಯವನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ, ಆದರೆ ಒಂದು slow path ವೆಬ್ ಸರ್ಚ್ ಅಥವಾ ಟೂಲ್ ಕಾಲ್ಸ್‌ನಂತಹ ಭಾರೀ ಕೆಲಸಗಳನ್ನು ಮಾಡುತ್ತದೆ. slow path ಕೆಲಸ ಮಾಡುತ್ತಿರುವಾಗ fast path ಸಂಭಾಷಣೆಯನ್ನು ಜೀವಂತವಾಗಿರಿಸುತ್ತದೆ, ಇದರಿಂದ "ನಾನು ಯೋಚಿಸುವಾಗ ಮೌನ" ಎಂಬ ಕಿರಿಕಿರಿ ಉಂಟುಮಾಡುವ ಕ್ಷಣವನ್ನು ತಪ್ಪಿಸಬಹುದು.
  2. WARP ಪ್ರೊಟೊಕಾಲ್ – ಸಾಂಪ್ರದಾಯಿಕ ವೆಬ್ ಕನೆಕ್ಷನ್‌ಗಳು ಆಡಿಯೊ ಹರಿಯುವ ಮೊದಲು ಹಲವಾರು ಹ್ಯಾಂಡ್‌ಶೇಕ್‌ಗಳನ್ನು (handshakes) ಬಯಸುತ್ತವೆ, ಇದು ಸಾಮಾನ್ಯವಾಗಿ ಆರು ರೌಂಡ್-ಟ್ರಿಪ್‌ಗಳಾಗಿರುತ್ತದೆ. OpenAI ನ ಕಸ್ಟಮ್ ಪ್ರೊಟೊಕಾಲ್ ಆ ಹಂತಗಳನ್ನು ಒಂದೇ ಟ್ರಿಪ್‌ಗೆ ಕುಗ್ಗಿಸುತ್ತದೆ, ಇದರಿಂದ ಸೆಷನ್ ಪ್ರಾರಂಭವು ತಕ್ಷಣವೇ ನಡೆಯುವಂತೆ ಭಾಸವಾಗುತ್ತದೆ.
  3. ಲ್ಯಾಟೆನ್ಸಿ ಸ್ಥಿರತೆಗಾಗಿ Python ಬದಲಿಗೆ Go ಬಳಸುವುದು – ವೇಗದ ಅಭಿವೃದ್ಧಿಗಾಗಿ ಪ್ರಸಿದ್ಧವಾಗಿರುವ Python ನಿಂದ ರಿಯಲ್-ಟೈಮ್ ಘಟಕಗಳನ್ನು ತಂಡವು Go ಗೆ ವರ್ಗಾಯಿಸಿದೆ, ಏಕೆಂದರೆ Go ಹೆಚ್ಚು ನಿಖರವಾದ ಎಕ್ಸಿಕ್ಯೂಷನ್ ಸಮಯವನ್ನು ನೀಡುತ್ತದೆ. ವಾಯ್ಸ್ AI ಯಲ್ಲಿ, ಸರಾಸರಿ ವೇಗಕ್ಕಿಂತ ಗರಿಷ್ಠ ವಿಳಂಬವು (worst-case delay) ಹೆಚ್ಚು ಮುಖ್ಯವಾಗಿರುತ್ತದೆ; ಒಂದು ಸಣ್ಣ ತಡವು ಸಂಭಾಷಣೆಯ ಅನುಭವವನ್ನು ಹಾಳುಮಾಡುತ್ತದೆ, ಆದ್ದರಿಂದ ಸ್ಥಿರವಾದ ಲ್ಯಾಟೆನ್ಸಿ (latency) ಮುಖ್ಯವಾಗುತ್ತದೆ.
  4. GPU ಮೀರಿ ಸ್ಕೇಲಿಂಗ್ ಮಾಡುವುದು – ಕೋಟ್ಯಂತರ ಬಳಕೆದಾರರೊಂದಿಗೆ, ಅಡಚಣೆಯು (bottleneck) ಮಾಡೆಲ್‌ನ ಕಂಪ್ಯೂಟ್ ಕೋರ್‌ಗಳಿಂದ ಪಕ್ಕದ ಮೂಲಸೌಕರ್ಯಗಳಿಗೆ ಬದಲಾಯಿತು. GPU ಗಳಿಗಿಂತ ಮೊದಲು CPU ಗಳು ಮತ್ತು ನೆಟ್‌ವರ್ಕ್ ಲಿಂಕ್‌ಗಳು ತುಂಬಿಹೋಗುತ್ತಿವೆ ಎಂದು OpenAI ಕಂಡುಕೊಂಡಿತು, ಆದ್ದರಿಂದ ಉಳಿದ ಸ್ಟ್ಯಾಕ್ ಮೇಲೆ ಒತ್ತಡ ಹೇರದೆ GPU ಗಳಿಗೆ ನಿರಂತರವಾಗಿ ಡೇಟಾ ಸಿಗುವಂತೆ ಮಾಡಲು ಅವರು ಸ್ಮಾರ್ಟ್ ರೂಟಿಂಗ್ ಮತ್ತು ಕನೆಕ್ಷನ್-ಮ್ಯಾನೇಜ್‌ಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿದರು.

ಇದು ಡೆವಲಪರ್‌ಗಳಿಗೆ ಏನನ್ನು ಸೂಚಿಸುತ್ತದೆ

  • ಆಡಿಯೋ ಹ್ಯಾಂಡ್ಲಿಂಗ್ ಅನ್ನು ಬಿಸಿನೆಸ್ ಲಾಜಿಕ್‌ನಿಂದ ಬೇರ್ಪಡಿಸಿ – ಮೈಕ್ರೊಫೋನ್ ಇನ್‌ಪುಟ್ ಮತ್ತು ಸ್ಪೀಕರ್ ಔಟ್‌ಪುಟ್ ಅನ್ನು ಪ್ರೊಸೆಸ್ ಮಾಡುವ ಲೈಟ್‌ವೇಯಿಟ್, ಯಾವಾಗಲೂ ಆನ್ ಆಗಿರುವ ಲೂಪ್ ಅನ್ನು ಇರಿಸಿ. ಡೇಟಾಬೇಸ್ ಕ್ವೇರಿಗಳು, ಎಕ್ಸ್‌ಟರ್ನಲ್ API ಕಾಲ್‌ಗಳಂತಹ ವಿಳಂಬ ಮಾಡಬಹುದಾದ ಯಾವುದೇ ಕೆಲಸಗಳನ್ನು ಪ್ರತ್ಯೇಕ ಥ್ರೆಡ್ ಅಥವಾ ಸರ್ವಿಸ್‌ಗೆ ವರ್ಗಾಯಿಸಿ.
  • ಲ್ಯಾಟೆನ್ಸಿ ಸ್ಥಿರತೆಗೆ ಆದ್ಯತೆ ನೀಡಿ – ಪ್ರತಿಕ್ರಿಯೆಯ ಸಮಯವನ್ನು ಅಳೆಯುವಾಗ, ಕೇವಲ ಸರಾಸರಿಯ ಮೇಲೆ ಗಮನ ಹರಿಸುವ ಬದಲು ಗರಿಷ್ಠ ವಿಳಂಬಗಳ ಮೇಲೆ ಗಮನ ಹರಿಸಿ. ಶೆಡ್ಯೂಲಿಂಗ್ ಮೇಲೆ ಹೆಚ್ಚಿನ ನಿಯಂತ್ರಣ ನೀಡುವ ಭಾಷೆಗಳು ಮತ್ತು ರನ್‌ಟೈಮ್‌ಗಳು (ಉದಾಹರಣೆಗೆ, Go, Rust) ಹೆಚ್ಚಿನ ಇಂಜಿನಿಯರಿಂಗ್ ಪ್ರಯತ್ನಕ್ಕೆ ಯೋಗ್ಯವಾಗಿರಬಹುದು.
  • ಕನೆಕ್ಷನ್ ಓವರ್‌ಹೆಡ್ ಅನ್ನು ಕಡಿಮೆ ಮಾಡಿ – ಪ್ರತಿಯೊಂದು ಹೆಚ್ಚುವರಿ ಹ್ಯಾಂಡ್‌ಶೇಕ್ ಮಿಲಿಸೆಕೆಂಡುಗಳನ್ನು ಸೇರಿಸುತ್ತದೆ, ಇದು ಒಟ್ಟಾರೆಯಾಗಿ ವಿಳಂಬಕ್ಕೆ ಕಾರಣವಾಗುತ್ತದೆ. ಅಥೆಂಟಿಕೇಶನ್, ಸ್ಟ್ರೀಮ್ ನೆಗೋಷಿಯೇಷನ್ ಮತ್ತು ಕೋಡೆಕ್ ಆಯ್ಕೆಯನ್ನು ಒಂದೇ ವಿನಿಮಯದಲ್ಲಿ ಸೇರಿಸಿ, ಆಗ ಬಳಕೆದಾರರು ವ್ಯತ್ಯಾಸವನ್ನು ಗಮನಿಸುತ್ತಾರೆ.

Trade-offs ಮತ್ತು ಮುಕ್ತ ಪ್ರಶ್ನೆಗಳು

ಫುಲ್-ಡ್ಯೂಪ್ಲೆಕ್ಸ್ ವಿನ್ಯಾಸವು ಸಂಕೀರ್ಣತೆಯನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ.

ಮುಂದೆ ಏನನ್ನು ಗಮನಿಸಬೇಕು