ಒಂದು ದಿನದಲ್ಲಿ ನಮ್ಮ ಆರೋಗ್ಯ ಪರಿಶೀಲನೆ ಆರೋಗ್ಯವಾದ ಮಾದರಿ ಸರ್ವರ್ ಅನ್ನು ಎಂಟು ಬಾರಿ ಮರುಪ್ರಾರಂಭಿಸಿತು

ಆಪ್ಸ್

22 ಜುಲೈ ರಂದು ಒಂದು ವಾಚ್‌ಡಾಗ್ ನಮ್ಮ ಸ್ಥಳೀಯ ಮಾದರಿ ಸರ್ವರ್ ಅನ್ನು ಎಂಟು ಬಾರಿ ಮರುಪ್ರಾರಂಭಿಸಿತು. ಆ ಮರುಪ್ರಾರಂಭಗಳಲ್ಲಿ ಯಾವುದಕ್ಕೂ ಕ್ರ್ಯಾಶ್ ಹಿಂದೆ ಇರಲಿಲ್ಲ. ಮಾದರಿಯನ್ನು ಸಕ್ರಿಯವಾಗಿ ಇಡಲು ಉದ್ದೇಶಿಸಲಾಗಿದ್ದ ಪರಿಶೀಲನೆಯೇ ಅದನ್ನು ಕೆಳಗಿಳಿಸುವ ಕಾರಣವಾಯಿತು.

ಏನಾಯಿತು

ಮಾದರಿ ಸರ್ವರ್ ಒಂದು NVIDIA GB10 ಯಂತ್ರದಲ್ಲಿ vLLM ಅನ್ನು ನಡೆಸಿತು ಮತ್ತು ಒಂದೇ ವಿನಂತಿಗೆ ಸೆಕೆಂಡಿಗೆ ಸುಮಾರು 8 ಟೋಕನ್‌ಗಳನ್ನು ಉತ್ಪಾದಿಸಿತು. ಪ್ರತಿ ಐದು ನಿಮಿಷಗಳಿಗೊಮ್ಮೆ ಒಂದು ವಾಚ್‌ಡಾಗ್ ಅದಕ್ಕೆ ನಿಜವಾದ ಚಾಟ್ ವಿನಂತಿಯನ್ನು ಕಳುಹಿಸಿ, ಉತ್ತರಕ್ಕಾಗಿ 45 ಸೆಕೆಂಡುಗಳವರೆಗೆ ಕಾಯಿತು. ಸತತ ಐದು ಪರಿಶೀಲನೆಗಳು ವಿಫಲವಾದರೆ ಅದು ಸರ್ವರ್ ಸಿಲುಕಿಕೊಂಡಿದೆ ಎಂದರ್ಥ, ಮತ್ತು ವಾಚ್‌ಡಾಗ್ ಅದನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿತು. ಒಂದು ಮರುಪ್ರಾರಂಭವು ಸುಮಾರು 19 GB ತೂಕಗಳನ್ನು (weights) ಮತ್ತೆ ಲೋಡ್ ಮಾಡುವಾಗ ಕೆಲವು ನಿಮಿಷಗಳ ಕಾಲ ಮಾದರಿಯನ್ನು ತೆಗೆದುಹಾಕಿತು.

ಆ ದಿನ ಒಂದು ಬ್ಯಾಚ್ ಜಾಬ್ ಸರ್ವರ್‌ನಲ್ಲಿ ಎರಡರಿಂದ ನಾಲ್ಕು ವಿನಂತಿಗಳನ್ನು ನಿಮಿಷಗಳ ಕಾಲ ಬ್ಯುಸಿ ಆಗಿರಿಸಿತು. ವಾಚ್‌ಡಾಗ್‌ನ ವಿನಂತಿ ಅವುಗಳ ಹಿಂದೆ ಕ್ಯೂನಲ್ಲಿ ಕಾಯಿತು, ಸಮಯ ಮುಗಿಯಿತು ಮತ್ತು ವಿಫಲತೆಯಾಗಿ ಪರಿಗಣಿಸಲ್ಪಟ್ಟಿತು. ಇಂತಹ ಐದು ಪರಿಶೀಲನೆಗಳ ನಂತರ, ಆರೋಗ್ಯವಾದ ಸರ್ವರ್ ಅನ್ನು ಮರುಪ್ರಾರಂಭಿಸಲಾಯಿತು. ವಾಚ್‌ಡಾಗ್ ಗೌರವಿಸುವ "busy" ಫ್ಲ್ಯಾಗ್ ಫೈಲ್ ನಮ್ಮಲ್ಲಿತ್ತು, ಆದರೆ ಬ್ಯಾಚ್ ಜಾಬ್ ಅದನ್ನು ಎಂದಿಗೂ ಹೊಂದಿಸಲಿಲ್ಲ.

ಒಂದು ತಪ್ಪು ಮರುಪ್ರಾರಂಭವು ಮುಂದಿನದಕ್ಕೆ ಹೇಗೆ ಕಾರಣವಾಯಿತು

ಪ್ರತಿ ಮರುಪ್ರಾರಂಭವು ಪ್ರಗತಿಯಲ್ಲಿರುವ ವಿನಂತಿಗಳನ್ನು 500 ದೋಷದೊಂದಿಗೆ ("cannot schedule new futures after shutdown") ವಿಫಲಗೊಳಿಸಿತು. ಎರಡನೇ ವಾಚ್‌ಡಾಗ್ 500 ದೋಷಗಳನ್ನು ಎಣಿಸಿತು ಮತ್ತು ತುಂಬಾ ಹೆಚ್ಚು ಇದ್ದಾಗ ಸರ್ವರ್ ಅನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿತು, ಅದು ಎಷ್ಟು ಹೆಚ್ಚು ದೋಷಗಳನ್ನು ಕಂಡಿತೋ ಅಷ್ಟು ಬೇಗ ಅದು ಕ್ರಮ ಕೈಗೊಂಡಿತು. ಆದ್ದರಿಂದ ಪ್ರತಿ ತಪ್ಪು ಮರುಪ್ರಾರಂಭವು ಮುಂದಿನದನ್ನು ಬೇಗ ತರಿಸಿತು. ಒಟ್ಟಾರೆಯಾಗಿ, ನಾಲ್ಕು ಪ್ರತ್ಯೇಕ ವಾಚ್‌ಡಾಗ್‌ಗಳು ಆ ಸರ್ವರ್ ಅನ್ನು 5, 10, 15 ಮತ್ತು 30 ನಿಮಿಷಗಳ ಟೈಮರ್‌ಗಳ ಮೇಲೆ ಮರುಪ್ರಾರಂಭಿಸಬಹುದಾಗಿತ್ತು.

ನಾವು ಅದರಿಂದ ಪಡೆದ ನಿಯಮ

ಒಂದು ಆರೋಗ್ಯ ಪರಿಶೀಲನೆಯು ಅದು ಕಾಪಾಡುವ ಸಂಪನ್ಮೂಲವನ್ನು ಬಳಸಬಾರದು. ಮಾದರಿ ಸರ್ವರ್‌ನ ಅಪರೂಪದ ಸಂಪನ್ಮೂಲ ಎಂದರೆ ಪ್ರಗತಿಯಲ್ಲಿರುವ ವಿನಂತಿಗಳ ಸ್ಲಾಟ್‌ಗಳು. ಆ ಸ್ಲಾಟ್‌ಗಳಲ್ಲಿ ಒಂದನ್ನು ತೆಗೆದುಕೊಳ್ಳುವ ಅಥವಾ ಒಂದಕ್ಕಾಗಿ ಕಾಯುವ ಪರಿಶೀಲನೆಯು, ಅದು ತೀರ್ಪು ನೀಡಬೇಕಾದ ಲೋಡ್‌ನ ಭಾಗವಾಗುತ್ತದೆ. ಕಡಿಮೆ ವೆಚ್ಚದಲ್ಲಿ ಪರಿಶೀಲಿಸಿ, ಮತ್ತು ಸರ್ವರ್ ಸಿಲುಕಿಕೊಂಡಿದೆ ಎಂದು ನೀವು ತೋರಿಸಬಲ್ಲಾಗ ಮಾತ್ರ ಮರುಪ್ರಾರಂಭಿಸಿ.

ಅದರ ಬದಲಿಗೆ ಬಂದ ಪರಿಶೀಲನೆ

vLLM ತನ್ನದೇ ಆದ ಕೌಂಟರ್‌ಗಳನ್ನು /metrics ನಲ್ಲಿ ಪ್ರಕಟಿಸುತ್ತದೆ. ಹೊಸ ಪರಿಶೀಲನೆಯು ಮೊದಲು ಅವುಗಳನ್ನು ಓದುತ್ತದೆ:

ಮೊದಲ ಆವೃತ್ತಿಯು ಉತ್ಪಾದಿಸಲಾದ ಟೋಕನ್‌ಗಳನ್ನು ಪ್ರಗತಿಯಾಗಿ ಎಣಿಸಿತು. ಅದು ಎಂಟು ಪರೀಕ್ಷೆಗಳನ್ನು ಉತ್ತೀರ್ಣವಾಯಿತು, ಮತ್ತು ಅದರ ಮೊದಲ ನೇರ ರನ್‌ನಲ್ಲಿ ಅದು ಸರ್ವರ್ ಬ್ಯುಸಿ ಮತ್ತು ಆರೋಗ್ಯವಾಗಿದೆ ಎಂದು ಕಂಡುಹಿಡಿಯಿತು: 2 ವಿನಂತಿಗಳು ನಡೆಯುತ್ತಿವೆ, ಎರಡು ಓದುವಿಕೆಗಳ ನಡುವೆ 107 ಹೊಸ ಟೋಕನ್‌ಗಳು.

ನಾವು ಆದ್ದರಿಂದ ಏನನ್ನು ಬದಲಾಯಿಸಿದ್ದೇವೆ

ವ್ಯತ್ಯಾಸವನ್ನು ಸುಲಭವಾಗಿ ನೋಡಬಹುದು. ಈ ಟಿಪ್ಪಣಿಯನ್ನು ಬರೆಯುತ್ತಿರುವಾಗ, ನಮ್ಮ ಎರಡೂ ಮಾದರಿ ಸರ್ವರ್‌ಗಳು ತಲಾ 12 ವಿನಂತಿಗಳನ್ನು (ಅವುಗಳ ಮಿತಿ) ನಡೆಸುತ್ತಿದ್ದವು. ಒಂದು ಪರೀಕ್ಷಾ ವಿನಂತಿಯು ಕ್ಯೂನಲ್ಲಿ ಕಾಯಬೇಕಾಗಿತ್ತು. ಒಂದನ್ನೂ ಕಳುಹಿಸದೆ, ಹೊಸ ಪರಿಶೀಲನೆಯು ಎರಡನ್ನೂ ಬ್ಯೂಸಿ ಮತ್ತು ಹೆಲ್ಥಿ ಎಂದು 126 ಮತ್ತು 101 ಟೋಕನ್‌ಗಳು ಪ್ರತಿ ಸೆಕೆಂಡಿಗೆ ಎಂದು ವರದಿ ಮಾಡಿತು.

Factory Floor 1.0.2 ಈ ಪರಿಶೀಲನೆಯನ್ನು models/llm-health.py ಆಗಿ ಒಳಗೊಂಡು ಬರುತ್ತದೆ, ಇದರಲ್ಲಿ ನಿಷ್ಕ್ರಿಯ, ಬ್ಯೂಸಿ, ಸಿಕ್ಕಿಹಾಕಿಕೊಂಡ ಮತ್ತು ಪುನಾರಂಭಿಸಿದ ಸರ್ವರ್‌ಗಳು, ಮೆಟ್ರಿಕ್ಸ್ ಇಲ್ಲದ ಸರ್ವರ್, ಒಂದು ಪ್ರಾಕ್ಸಿ ಮತ್ತು ಸತ್ತ ಬ್ಯಾಕೆಂಡ್‌ಗಳಿಗಾಗಿ ಪರೀಕ್ಷೆಗಳಿವೆ.

ನವೀಕರಿಸಲಾಗಿದೆ: