ಒಂದು AI-ಸೃಷ್ಟಿತ ವಿವರಣಾ ವೈಶಿಷ್ಟ್ಯದಲ್ಲಿ (AI-generated explanation feature), ಕೇವಲ ಒಂದು safety-gate মেট্রಿಕ್ನಿಂದ ಇಡೀ ದಿನದ ಅವಧಿಯ ಅಡಚಣೆಯನ್ನು ನಾನು ಕಂಡುಕೊಂಡೆ. "gate rejection" ಮತ್ತು "model load failure" ಎರಡನ್ನೂ ಒಂದೇ ಎಂದು ಪರಿಗಣಿಸಿದ್ದರಿಂದ, ಆ মেট্রಿಕ್ ವ್ಯವಸ್ಥೆಯು ಸುಸ್ಥಿತಿಯಲ್ಲಿದೆ ಎಂಬ ತಪ್ಪು ಕಲ್ಪನೆಯನ್ನು ನೀಡಿತು. ಅದು ನಾಲ್ಕು ತಿರಸ್ಕಾರಗಳನ್ನು (rejections) ಮತ್ತು ಶೂನ್ಯ ಯಶಸ್ಸನ್ನು ದಾಖಲಿಸಿತು, ಆದರೆ ಆ ಅವಧಿಯಲ್ಲಿ ಮಾಡೆಲ್ ಎಂದಿಗೂ ಕಾರ್ಯನಿರ್ವಹಿಸಲಿಲ್ಲ—ಈ ತಪ್ಪಿನಿಂದಾಗಿ ಆಪರೇಟರ್ಗಳು (operators) ವ್ಯವಸ್ಥೆಯ ದೋಷವನ್ನು ಗುರುತಿಸಲು ಸಾಧ್ಯವಾಗದೆ ಕುರುಡಾಗಬಹುದಿತ್ತು.
ಗೊಂದಲವು ಹೇಗೆ ಸಂಭವಿಸಿತು
ಈ ವೈಶಿಷ್ಟ್ಯವು ಮಷಿನ್ ಲಾಜಿಕ್ ಅನ್ನು ಮನುಷ್ಯರಿಗೆ ಅರ್ಥವಾಗುವ ವಾಕ್ಯಗಳಾಗಿ ಪರಿವರ್ತಿಸಲು ಸ್ಥಳೀಯ ಭಾಷಾ ಮಾಡೆಲ್ ಅನ್ನು ಬಳಸುತ್ತದೆ. ಡೌನ್ಸ್ಟ್ರೀಮ್ನಲ್ಲಿರುವ (downstream) ಒಂದು safety gate, ಮೊದಲೇ ನಿಗದಿಪಡಿಸಿದ ನಿಯಮಗಳನ್ನು ಉಲ್ಲಂಘಿಸುವ ಯಾವುದೇ ಔಟ್ಪುಟ್ ಅನ್ನು ತಡೆಯುತ್ತದೆ. ಪ್ರೊಡಕ್ಷನ್ನಲ್ಲಿ, ಸೇಟೆಂಟ್ ಅನ್ನು ಗೇಟ್ ತಿರಸ್ಕರಿಸಿದಾಗಲೆಲ್ಲಾ ಹೆಚ್ಚಾಗುವ ಒಂದು ಸಿಂಗಲ್ ಕೌಂಟರ್ ಅನ್ನು ನಾನು ಬಳಸಿದ್ದೆ. ಡ್ರೋನ್ ನಾಲ್ಕು AI ವಿವರಣೆಗಳನ್ನು ದಾಖಲಿಸಿದಾಗ, ಕೌಂಟರ್ ನಾಲ್ಕು ತಿರಸ್ಕಾರಗಳನ್ನು ಮತ್ತು ಯಾವುದೇ ಯಶಸ್ವಿ ಔಟ್ಪುಟ್ಗಳಿಲ್ಲ ಎಂದು ವರದಿ ಮಾಡಿತು. ನಾನು ಅದನ್ನು ಗೇಟ್ ತನ್ನ ಕೆಲಸವನ್ನು ಸರಿಯಾಗಿ ಮಾಡುತ್ತಿದೆ ಎಂದು ಭಾವಿಸಿದೆ ಹೊರತು, ವೈಶಿಷ್ಟ್ಯವು ಸ್ಥಗಿತಗೊಂಡಿದೆ ಎಂದು ಭಾವಿಸಲಿಲ್ಲ.
ಆ ಕೌಂಟರ್ ಮರೆಮಾಚಿದ್ದೆಂದರೆ ಎರಡು ಹಂತದ ವೈಫಲ್ಯ:
- Model not running – ಮಾಡೆಲ್ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿಲ್ಲ – ಮಾಡೆಲ್ ಉಳಿದ ಸಿಸ್ಟಮ್ನೊಂದಿಗೆ ಒಂದೇ ಮೆಷಿನ್ ಅನ್ನು ಹಂಚಿಕೊಳ್ಳುತ್ತದೆ. ಮೆಮೊರಿಯನ್ನು ಉಳಿಸಲು, ಅಸಕ್ರಿಯತೆಯ ನಂತರ ಹೋಸ್ಟ್ ಅದನ್ನು ಅನ್ಲೋಡ್ ಮಾಡುತ್ತದೆ.
- Timeout on reload – ರೀಲೋಡ್ ಮಾಡುವಾಗ ಟೈಮ್ಔಟ್ – ಹೊಸ ಬೆದರಿಕೆ ಕಾಣಿಸಿಕೊಂಡಾಗ, ಸಿಸ್ಟಮ್ ಸುಮಾರು ಎರಡು ಗಿಗಾಬೈಟ್ ಮಾಡೆಲ್ ಡೇಟಾವನ್ನು ರೀಲೋಡ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿತು. ರೀಲೋಡ್ ಪ್ರಕ್ರಿಯೆಯು ಮೂವತ್ತು ಸೆಕೆಂಡ್ಗಳ ರೆಸ್ಪಾನ್ಸ್ ಟೈಮ್ಔಟ್ ಅನ್ನು ಮೀರಿದ್ದರಿಂದ, ರಿಕ್ವೆಸ್ಟ್ ಟೈಮ್ಔಟ್ ಆಗಿ ಖಾಲಿ ಉತ್ತರವನ್ನು ನೀಡಿತು.
ಕೌಂಟರ್ ಗೇಟ್ನಿಂದ ತಿರಸ್ಕರಿಸಲ್ಪಟ್ಟಿದ್ದನ್ನು ಮತ್ತು ಟೈಮ್ಔಟ್ನಿಂದ ಉಂಟಾದ ಖಾಲಿ ಉತ್ತರವನ್ನು ಒಂದೇ ಘಟನೆಯೆಂದು ಪರಿಗಣಿಸಿದ್ದರಿಂದ, AI ವೈಶಿಷ್ಟ್ಯವು ಸಂಪೂರ್ಣವಾಗಿ ಸ್ಥಗಿತಗೊಂಡಿದ್ದರೂ ಡ್ಯಾಶ್ಬೋರ್ಡ್ "ಕೆಲಸ ಮಾಡುತ್ತಿರುವ safety gate" ಎಂದು ತೋರಿಸುತ್ತಿತ್ತು.
ಇದು ಏಕೆ ಮುಖ್ಯ
AI-ಚಾಲಿತ ಉತ್ಪನ್ನಗಳಲ್ಲಿ, safety gates ಹಾನಿಕಾರಕ ಅಥವಾ ಅರ್ಥಹೀನ ಔಟ್ಪುಟ್ಗಳನ್ನು ತಡೆಯುತ್ತವೆ. ಆಪರೇಟರ್ಗಳು ಸಿಸ್ಟಮ್ನ ಆರೋಗ್ಯದ ಸಂಕೇತವಾಗಿ ಗೇಟ್ನ ಫೈರ್ ರೇಟ್ ಅನ್ನು ಗಮನಿಸುತ್ತಾರೆ. ಆ ಸಂಕೇತವು ಸಂಬಂಧವಿಲ್ಲದ ವೈಫಲ್ಯದ ವಿಧಾನಗಳೊಂದಿಗೆ (failure modes) ವಿಲೀನಗೊಂಡಾಗ, ಆ মেট্রಿಕ್ ಒಂದು ಮೌನ ಸುಳ್ಳಾಗುತ್ತದೆ: ಸೇವೆ ಲಭ್ಯವಿಲ್ಲದಿದ್ದರೂ ಅದು ಭರವಸೆ ನೀಡುತ್ತದೆ.
ದೃಶ್ಯತೆಯನ್ನು (visibility) ಮರುಸ್ಥಾಪಿಸಿದ ಪರಿಹಾರ
ನಾನು ಮೂರು ಪ್ರಾಯೋಗಿಕ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಿದೆ:
- Keep the model resident – ಮಾಡೆಲ್ ಅನ್ನು ಮೆಮೊರಿಯಲ್ಲಿ ಇರಿಸಲು ಹೋಸ್ಟ್ ಅನ್ನು ಹೊಂದಾಣಿಕೆ ಮಾಡಿದೆ, ಇದರಿಂದ ರೀಲೋಡ್ ವಿಳಂಬವು ತಪ್ಪಿತು.
- Extend the timeout – ಸಾಂದರ್ಭಿಕವಾಗಿ ನಿಧಾನವಾಗಿ ಲೋಡ್ ಆಗುವ ಸಂದರ್ಭಗಳನ್ನು ನಿಭಾಯಿಸಲು ರೆಸ್ಪಾನ್ಸ್ ವಿಂಡೋವನ್ನು ಹೆಚ್ಚಿಸಿದೆ.
- Split the counter – ಒಂದೇ "rejected by gate" মেট্রಿಕ್ ಬದಲಿಗೆ ನಾಲ್ಕು ವಿಭಿನ್ನ ಕೌಂಟರ್ಗಳನ್ನು ಬಳಸಿದೆ: accepted, rejected, empty response, ಮತ್ತು no answer.
ಮೂರನೇ ಹಂತವು ನಿರ್ಣಾಯಕವಾಗಿ ಸಾಬೀತಾಯಿತು. ಯಾವುದೇ ರೀತಿಯಲ್ಲಿ ಓದಬಹುದಾದ ಒಂದೇ ಸಂಖ್ಯೆಯ ಬದಲಿಗೆ, ಈ ನಾಲ್ಕು ಭಾಗಗಳ ವಿಭಜನೆಯು safety gate ಸಕ್ರಿಯವಾಗಿದೆಯೇ, ಮಾಡೆಲ್ ಉತ್ತರಿಸುತ್ತಿದೆಯೇ ಅಥವಾ ರಿಕ್ವೆಸ್ಟ್ ಮಾಡೆಲ್ಗೆ ತಲುಪಿಯೇ ಇಲ್ಲವೇ ಎಂಬುದನ್ನು ತೋರಿಸುತ್ತದೆ.
ಟ್ರೇಡ್-ಆಫ್ಗಳು ಮತ್ತು ಪ್ರತಿವಾದಗಳು
ಮುಂದೆ ಗಮನಿಸಬೇಕಾದವುಗಳು
AI ಘಟಕಗಳನ್ನು (components) ಬಿಡುಗಡೆ ಮಾಡುವ ಡೆವಲಪರ್ಗಳು, ಸೇಫ್ಟಿ ಚೆಕ್ಗಳನ್ನು ಸಿಸ್ಟಮ್-ಮಟ್ಟದ ವೈಫಲ್ಯಗಳೊಂದಿಗೆ ಬೆರೆಸುವ ಯಾವುದೇ ಅಗ್ಲಿಗೇಟೆಡ್ (aggregated) ಕೌಂಟರ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಬೇಕು. ಪ್ರತಿಯೊಂದು ರಿಕ್ವೆಸ್ಟ್ನ ಹಾದಿಯನ್ನು—ಮಾಡೆಲ್ ಲೋಡ್ ಪ್ರಾರಂಭ, ಗೇಟ್ ಇವ್ಯಾಲ್ಯೂಯೇಶನ್, ಅಂತಿಮ ಫಲಿತಾಂಶ—ದಾಖಲಿಸುವ ವಿವರವಾದ ಹಿಸ್ಟರಿ ಲಾಗ್ ಅನ್ನು ನಿರ್ಮಿಸುವುದು, ಅಡ
