ಮೂರು ಓಪನ್-ಸೋರ್ಸ್ ಪ್ರಾಜೆಕ್ಟ್ಗಳು ಲಾರ್ಜ್-ಲ್ಯಾಂಗ್ವೇಜ್-ಮಾಡೆಲ್ (LLM) ಅಭಿವೃದ್ಧಿಯನ್ನು ಕನಿಷ್ಠ ಊಹಾಪೋಹ ಮತ್ತು ಹೆಚ್ಚು ಮುನ್ಸೂಚನೆಗೆ ಒಳಪಡುವಂತೆ ಮಾಡುವ ಗುರಿಯನ್ನು ಹೊಂದಿವೆ. PyTorch-ಅಧಾರಿತ ಪ್ರೊಫೈಲಿಂಗ್ ಮಾರ್ಗದರ್ಶಿಯು ಅಟೆನ್ಷನ್ ಲೇಯರ್ಗಳು ಎಲ್ಲಿ ಮೆಮೊರಿಯನ್ನು ಬಳಸುತ್ತವೆ ಎಂಬುದನ್ನು ತೋರಿಸುತ್ತದೆ, ಕಮಾಂಡ್-ಲೈನ್ ಯುಟಿಲಿಟಿಯು ಒಂದು ಕೋಡ್ಬೇಸ್ ಮಾಡೆಲ್ನ ಟೋಕನ್ ವಿಂಡೋ ಒಳಗೆ ಹೊಂದುತ್ತದೆಯೇ ಎಂದು ತಿಳಿಸುತ್ತದೆ, ಮತ್ತು Alibaba ನ ಹೊಸ ಕೋಡ್-ರಿವ್ಯೂ ಟೂಲ್ ಲೈನ್-ಬೈ-ಲೈನ್ ಫೀಡ್ಬ್ಯಾಕ್ ನೀಡಲು ಸ್ಟ್ಯಾಟಿಕ್ ಅನಾಲಿಸಿಸ್ ಅನ್ನು LLM ಏಜೆಂಟ್ನೊಂದಿಗೆ ಸಂಯೋಜಿಸುತ್ತದೆ. ಇವು ಒಟ್ಟಾಗಿ ಲೋಕಲ್ ಇನ್ಫರೆನ್ಸ್, ಪ್ರಾಂಪ್ಟ್ ಇಂಜಿನಿಯರಿಂಗ್ ಮತ್ತು ಕ್ವಾಲಿಟಿ-ಕಂಟ್ರೋಲ್ ಪೈಪ್ಲೈನ್ಗಳನ್ನು ನಿಧಾನಗೊಳಿಸಿದ ಮೂರು ಸಮಸ್ಯೆಗಳನ್ನು ಎದುರಿಸುತ್ತವೆ.
ಅಟೆನ್ಷನ್ನಲ್ಲಿ ಮೆಮೊರಿ ಬಳಸುವ ಪ್ರಮುಖ ಅಂಶಗಳನ್ನು ಪತ್ತೆಹಚ್ಚುವುದು
Hugging Face ಬ್ಲಾಗ್ ಪೋಸ್ಟ್ ಅಟೆನ್ಷನ್ ಸಬ್-ಗ್ರಾಫ್ನಲ್ಲಿನ 병목ಗಳನ್ನು (bottlenecks) ಪತ್ತೆಹಚ್ಚಲು ಡೆವಲಪರ್ಗಳಿಗೆ PyTorch ಪ್ರೊಫೈಲರ್ ಮೂಲಕ ಮಾರ್ಗದರ್ಶನ ನೀಡುತ್ತದೆ. ಕರ್ನಲ್ ಎಕ್ಸಿಕ್ಯೂಷನ್ ಸಮಯ ಮತ್ತು GPU ಮೆಮೊರಿ ಫುಟ್ಪ್ರಿಂಟ್ಗಳನ್ನು ಲಾಗ್ ಮಾಡುವ ಮೂಲಕ, ಈ ಮಾರ್ಗದರ್ಶಿಯು ಇನ್ಫರೆನ್ಸ್ ವೆಚ್ಚವನ್ನು ಹೆಚ್ಚಿಸುವ ಸ್ಲೋ ಆಪರೇಷನ್ಗಳನ್ನು—softmax, matrix-multiply ಮತ್ತು ಇತರಗಳನ್ನು—ಹೊಸಬರಾಗಿಸುತ್ತದೆ. ಆ ಡೇಟಾದೊಂದಿಗೆ, ಇಂಜಿನಿಯರ್ಗಳು ಮೆಮೊರಿ ಟ್ರಾಫಿಕ್ ಅನ್ನು ಕಡಿಮೆ ಮಾಡುವ ಕರ್ನಲ್ ಆದ FlashAttention ಗೆ ಬದಲಾಯಿಸಬೇಕೆ ಅಥವಾ ಉತ್ತಮ ಲೋಕಾಲಿಟಿಗಾಗಿ ಮಾಡೆಲ್ ಲೇಯರ್ಗಳನ್ನು ಮರುರಚಿಸಬೇಕೆ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸಬಹುದು.
ನೀವು ಯಾವಾಗ ಕಾಂಟೆಕ್ಸ್ಟ್ ಸೀಲಿಂಗ್ ತಲುಪುತ್ತೀರಿ ಎಂದು ತಿಳಿಯುವುದು
ಮಾಡೆಲ್ನ ಕಾಂಟೆಕ್ಸ್ಟ್ ವಿಂಡೋ ಮೀರಿದಾಗ ಪ್ರಾಂಪ್ಟ್ ಓವರ್ಫ್ಲೋ ಎರರ್ಗಳು ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತವೆ. ಡೆವಲಪರ್ ಸಿದ್ಧಪಡಿಸಿದ CLI ಒಂದು ಪ್ರಾಜೆಕ್ಟ್ನ ಫೈಲ್ಗಳನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡುತ್ತದೆ, ಪ್ರತಿಯೊಂದೂ ಎಷ್ಟು ಟೋಕನ್ಗಳನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ ಎಂದು ಎಣಿಸುತ್ತದೆ ಮತ್ತು ಒಟ್ಟು ಟೋಕನ್ಗಳನ್ನು Llama 3 ಅಥವಾ Mistral ನಂತಹ ಮಾಡೆಲ್ಗಳ ಮಿತಿಯೊಂದಿಗೆ ಹೋಲಿಸುತ್ತದೆ. ಬಳಕೆದಾರರು ಅನಗತ್ಯ ಫೈಲ್ಗಳನ್ನು ಹೊರಗಿಡಬಹುದು, ಇದರಿಂದ ಕೋಡ್ ಅನ್ನು ಮ್ಯಾನುಯಲ್ ಆಗಿ ಕತ್ತರಿಸದೆ ಮಿತಿಯೊಳಗೆ ಇರಬಹುದು.
ಗೌಪ್ಯತೆಯನ್ನು ಕಾಪಾಡುವ ಸ್ವಯಂಚಾಲಿತ ಕೋಡ್ ರಿವ್ಯೂಗಳು
Alibaba ನ ಓಪನ್-ಸೋರ್ಸ್ ಕೋಡ್-ರಿವ್ಯೂ ಸಿಸ್ಟಮ್ ಸಾಂಪ್ರದಾಯಿಕ ಸ್ಟ್ಯಾಟಿಕ್ ಅನಾಲಿಸಿಸ್ ಅನ್ನು ಲೈನ್ ಮಟ್ಟದಲ್ಲಿ ನ್ಯಾಚುರಲ್-ಲ್ಯಾಂಗ್ವೇಜ್ ಕಾಮೆಂಟ್ಗಳನ್ನು ಬರೆಯುವ LLM "ಏಜೆಂಟ್" ನೊಂದಿಗೆ ಬೆರೆಸುತ್ತದೆ. ಈ ಹೈಬ್ರಿಡ್ ವಿಧಾನವು ತಂಡಗಳಿಗೆ ಥ್ರೆಡ್-ಸೇಫ್ಟಿ ಚೆಕ್ಗಳಂತಹ ಸೂಕ್ಷ್ಮ ನಿಯಮಗಳನ್ನು ಜಾರಿಗೆ ತರಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ ಮತ್ತು ಅದೇ ಸಮಯದಲ್ಲಿ LLM ನ ವ್ಯಾಪಕ ತಿಳುವಳಿಕೆಯಿಂದ ಪ್ರಯೋಜನ ಪಡೆಯಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಈ ಸಾಫ್ಟ್ವೇರ್ ಅನ್ನು ಸೆಲ್ಫ್-ಹೋಸ್ಟ್ ಮಾಡಬಹುದಾದ ಕಾರಣ, ಕಂಪನಿಗಳು ತಮ್ಮ ಸ್ವಂತ ಫೈರ್ವಾಲ್ಗಳ ಒಳಗೆ ಪ್ರೊಪ್ರೈಟರಿ ಕೋಡ್ ಅನ್ನು ಇರಿಸಿಕೊಳ್ಳಬಹುದು. Mistral ನಂತಹ ಓಪನ್-ವೇಟ್ ಮಾಡೆಲ್ಗಳಿಗಾಗಿ ಇರುವ ಇಂಟಿಗ್ರೇಷನ್ ಪಾಯಿಂಟ್ಗಳು ವಾಣಿಜ್ಯ API ಗಳಿಲ್ಲದೆ ಸಿಸ್ಟಮ್ ಚಲಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತವೆ.
ಈ ಟೂಲ್ಗಳು ಈಗ ಏಕೆ ಮುಖ್ಯವಾಗಿವೆ
ಅಟೆನ್ಷನ್ ಪ್ರೊಫೈಲಿಂಗ್ ಮಾಡುವುದು GPU ಬಿಲ್ಗಳನ್ನು ನಿಯಂತ್ರಣದಲ್ಲಿಡುತ್ತದೆ; ಕಾಂಟೆಕ್ಸ್ಟ್-ಸೈಜ್ ಅರಿವು ದುಬಾರಿ ರಿಕ್ವೆಸ್ಟ್ ವೈಫಲ್ಯಗಳನ್ನು ತಡೆಯುತ್ತದೆ; ಮತ್ತು ಸ್ವಯಂಚಾಲಿತ ರಿವ್ಯೂಗಳು ಬೌದ್ಧಿಕ ಆಸ್ತಿಯನ್ನು ಬಹಿರಂಗಪಡಿಸದೆ ಕೋಡ್ ಗುಣಮಟ್ಟವನ್ನು ಹೆಚ್ಚಿಸುತ್ತವೆ. ಪ್ರತಿಯೊಂದು ಪ್ರಾಜೆಕ್ಟ್ ಸಣ್ಣ ತಂಡಗಳು ದೊಡ್ಡ ಮಟ್ಟದಲ್ಲಿ ಪ್ರಯೋಗ ಮಾಡದಂತೆ ತಡೆದ ಅಡೆತಡೆಗಳನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ.
ಎಚ್ಚರಿಕೆಗಳು ಮತ್ತು ಮುಂದಿನ ಹಾದಿ
ಕಾಂಟೆಕ್ಸ್ಟ್-ಸೈಜ್ CLI ಕೇವಲ ಟೋಕನ್ ಸಂಖ್ಯೆಯನ್ನು ಮಾತ್ರ ವರದಿ ಮಾಡುತ್ತದೆ.
Takeaway: ಮೆಮೊರಿ ಹಾಟ್-ಸ್ಪಾಟ್ಗಳನ್ನು ಬಹಿರಂಗಪಡಿಸುವ ಮೂಲಕ, ಪ್ರಾಂಪ್ಟ್ ಮಿತಿಗಳನ್ನು ಅಳೆಯುವ ಮೂಲಕ ಮತ್ತು ರಿವ್ಯೂ ಫೀಡ್ಬ್ಯಾಕ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸುವ ಮೂಲಕ, ಈ ಮೂರು ಟೂಲ್ಗಳು ಗೌಪ್ಯತೆ ಅಥವಾ ವೆಚ್ಚವನ್ನು ಬಲಿ ಕೊಡದೆ LLM ವರ್ಕ್ಲೋಡ್ಗಳನ್ನು ನಿಯಂತ್ರಿಸಲು ಡೆವಲಪರ್ಗಳಿಗೆ ನಿರ್ದಿಷ್ಟ ಸಾಧನಗಳನ್ನು ನೀಡುತ್ತವೆ. ಈ ಎಕೋಸಿಸ್ಟಮ್ ಬೆಳೆದಂತೆ, ಒಂದೇ ರೀತಿಯ ಸಮಸ್ಯೆಗಳೊಂದಿಗೆ ಹೋರಾಡುತ್ತಿರುವ ಅನೇಕ ತಂಡಗಳಿಗೆ ಇವುಗಳನ್ನು ಬಳಸಲು ಸುಲಭವಾಗಿದೆಯೇ ಎಂಬುದು ನಿಜವಾದ ಪರೀಕ್ಷೆಯಾಗಲಿದೆ.
