ಊಹೆಯ ಮೂಲಕ Sonar ಅನ್ನು ವೇಗಗೊಳಿಸುವುದು
ಊಹೆಯ ಮಾದರಿ ಪರಿಶೀಲನೆ ಮೂಲಕ ಊಹೆಯ ಡಿಕೋಡಿಂಗ್ Sonar LLM ಗಳನ್ನು ವೇಗಗೊಳಿಸುತ್ತದೆ
ಊಹೆಯ ಡಿಕೋಡಿಂಗ್ ದೊಡ್ಡ ಭಾಷಾ ಮಾದರಿಗಳ (LLMs) ಉತ್ಪಾದನಾ ವೇಗವನ್ನು ತ್ವರಿತಗೊಳಿಸುತ್ತದೆ, ವೇಗವಾದ ಮತ್ತು ಸಣ್ಣ ಡ್ರಾಫ್ಟ್ ಮಾದರಿಯನ್ನು ಬಳಸಿಕೊಂಡು ಪೂರ್ಣಗೊಳಿಸುವಿಕೆ ಅಭ್ಯರ್ಥಿಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ, ಇದನ್ನು ದೊಡ್ಡ ಗುರಿ ಮಾದರಿಯಿಂದ ಪರಿಶೀಲಿಸಲಾಗುತ್ತದೆ. ಈ ಯೋಜನೆಯಡಿಯಲ್ಲಿ, ದುಬಾರಿ ಗುರಿಯ ಏಕ ಟೋಕನ್ ಅನ್ನು ಉತ್ಪಾದಿಸುವ ಬದಲು, ಒಂದೇ ಹಂತದಲ್ಲಿ ಅನೇಕ ಟೋಕನ್ಗಳನ್ನು ಹೊರಸೂಸಲಾಗುತ್ತದೆ. ಇಲ್ಲಿ ನಾವು Sonar ಮಾದರಿಗಳಲ್ಲಿ ಟೋಕನ್ಗಳ ನಡುವಿನ ಸುಪ್ತತೆಯನ್ನು ಕಡಿಮೆ ಮಾಡಲು Perplexity ನಲ್ಲಿ ಅನ್ವಯಿಸಲಾದ ವಿವಿಧ ರೀತಿಯ ಊಹೆಯ ಡಿಕೋಡಿಂಗ್ನ ಅನುಷ್ಠಾನದ ವಿವರಗಳನ್ನು ಪ್ರಸ್ತುತಪಡಿಸುತ್ತೇವೆ.
ಊಹೆಯ ಡಿಕೋಡಿಂಗ್
ಊಹೆಯ ಡಿಕೋಡಿಂಗ್ ನೈಸರ್ಗಿಕ ಭಾಷೆಗಳ ರಚನೆಯನ್ನು ಮತ್ತು ಟೋಕನ್ ಉತ್ಪಾದನೆಯನ್ನು ವೇಗಗೊಳಿಸಲು ಟ್ರಾನ್ಸ್ಫರ್ಮರ್ಗಳ ಸ್ವಯಂ-ಹಿಮ್ಮೆಟ್ಟಿಸುವ ಸ್ವಭಾವವನ್ನು ಬಳಸಿಕೊಳ್ಳುತ್ತದೆ. Llama-70B ನಂತಹ ದೊಡ್ಡ ಮಾದರಿಗಳು Llama-1B ನಂತಹ ಸಣ್ಣ ಮಾದರಿಗಳಿಗಿಂತ ಹೆಚ್ಚಿನ ಜ್ಞಾನವನ್ನು ಹೊಂದಿದ್ದರೂ, ಕೆಲವು ಸರಳ ಕಾರ್ಯಗಳಲ್ಲಿ ಅವು ಒಂದೇ ರೀತಿಯಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ. ಈ ಅತಿಕ್ರಮಣವು ಕೆಲವು ಅನುಕ್ರಮಗಳನ್ನು ಕಡಿಮೆ ವೆಚ್ಚದ ಮಾದರಿಗಳಿಂದ ಉತ್ತಮವಾಗಿ ಉತ್ಪಾದಿಸಲಾಗುತ್ತದೆ ಎಂದು ಸೂಚಿಸುತ್ತದೆ, ಸಂಕೀರ್ಣ ಸಮಸ್ಯೆಗಳನ್ನು ದೊಡ್ಡ ಮಾದರಿಗಳಿಗೆ ಬಿಡುತ್ತದೆ. ಯಾವ ಪೂರ್ಣಗೊಳಿಸುವಿಕೆಗಳು ಉತ್ತಮವಾಗಿವೆ ಮತ್ತು ಸಣ್ಣ ಮಾದರಿಯ ಉತ್ಪಾದನೆಯು ದೊಡ್ಡ ಮಾದರಿಯ ಗುಣಮಟ್ಟದ್ದಾಗಿದೆಯೇ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುವುದರಲ್ಲಿ ಸವಾಲು ಇದೆ.
ಅದೃಷ್ಟವಶಾತ್, LLMs ಸ್ವಯಂ-ಹಿಮ್ಮೆಟ್ಟಿಸುವ ಟ್ರಾನ್ಸ್ಫರ್ಮರ್ಗಳಾಗಿವೆ: ಟೋಕನ್ಗಳ ಅನುಕ್ರಮವನ್ನು ನೀಡಿದಾಗ, ಅವು ಮುಂದಿನ ಟೋಕನ್ನ ಸಂಭವನೀಯತೆಯ ವಿತರಣೆಯನ್ನು ಔಟ್ಪುಟ್ ಮಾಡುತ್ತವೆ. ಹೆಚ್ಚುವರಿಯಾಗಿ, ಇನ್ಪುಟ್ ಅನುಕ್ರಮದಲ್ಲಿನ ಟೋಕನ್ಗಳೊಂದಿಗೆ ಸಂಬಂಧಿಸಿದ ಮಧ್ಯಂತರ ವೈಶಿಷ್ಟ್ಯಗಳಿಂದ ಪಡೆಯಲಾದ ಲಾಗಿಟ್ಗಳು, ಆ ನಿಖರವಾದ ಟೋಕನ್ಗಳನ್ನು ನೀಡಲು ಮಾದರಿಗೆ ಎಷ್ಟು ಸಂಭವನೀಯತೆಯಿದೆ ಎಂಬುದನ್ನು ಸೂಚಿಸುತ್ತವೆ. ಈ ಗುಣಲಕ್ಷಣವು ಊಹೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ: ಇನ್ಪುಟ್ ಪ್ರಿಫಿಕ್ಸ್ʼನಿಂದ ಪ್ರಾರಂಭಿಸಿ ಸಣ್ಣ ಮಾದರಿಯಿಂದ ಟೋಕನ್ಗಳ ಅನುಕ್ರಮವನ್ನು ಉತ್ಪಾದಿಸಿದರೆ, ಗುರಿ ಮಾದರಿಯೊಂದಿಗೆ ಅದು ಎಷ್ಟು ಚೆನ್ನಾಗಿ ಹೊಂದಾಣಿಕೆಯಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸಲು ಅದನ್ನು ದೊಡ್ಡ ಮಾದರಿಯ ಮೂಲಕ ಚಲಾಯಿಸಬಹುದು. ಅಭ್ಯರ್ಥಿಗಳ ಪ್ರತಿಯೊಂದು ಪ್ರಿಫಿಕ್ಸ್ʼಗೆ ಸಂಭವನೀಯತೆಯೊಂದಿಗೆ ಅಂಕ ನೀಡಲಾಗುತ್ತದೆ ಮತ್ತು ಸ್ವೀಕಾರ ಮಿತಿಗಿಂತ ಮೇಲಿರುವ ಅತ್ಯಂತ ಉದ್ದವಾದದನ್ನು ಆಯ್ಕೆ ಮಾಡಲಾಗುತ್ತದೆ. ಬೋನಸ್ ಆಗಿ, ಗುರಿ ಮಾದರಿಯು ನಂತರದ ಟೋಕನ್ ಅನ್ನು ಉಚಿತವಾಗಿ ಒದಗಿಸುತ್ತದೆ: ಡ್ರಾಫ್ಟ್ ಮಾದರಿಯು n ಟೋಕನ್ಗಳನ್ನು ಉತ್ಪಾದಿಸಿದರೆ, ಒಂದು ಹಂತದಲ್ಲಿ n + 1 ವರೆಗೆ ಹೊರಸೂಸಬಹುದು.
ಅನುಮಾನದ ಸಮಯದಲ್ಲಿ, ಊಹೆಯ ಮಾದರಿ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಸರಿಸುಮಾರು 4 ಹಂತಗಳಾಗಿ ವಿಂಗಡಿಸಬಹುದು:
ಪ್ರಿಫಿಲ್: KV ಕ್ಯಾಶ್ ನಮೂದುಗಳನ್ನು ಜನಪ್ರಿಯಗೊಳಿಸಲು ಗುರಿ ಮತ್ತು ಡ್ರಾಫ್ಟ್ ಮಾದರಿಗಳೆರಡನ್ನೂ ಇನ್ಪುಟ್ ಅನುಕ್ರಮದಲ್ಲಿ ಚಲಾಯಿಸಬೇಕು. ಮೆಡುಸಾದಂತಹ ಕೆಲವು ಯೋಜನೆಗಳು ಮುನ್ಸೂಚನೆಗಾಗಿ ಸರಳ ದಟ್ಟವಾದ ಪದರಗಳನ್ನು ಬಳಸಿದರೆ, ಈ ಪೋಸ್ಟ್ನಲ್ಲಿ ನಾವು ತಮ್ಮದೇ ಆದ KV ಕ್ಯಾಶ್ಗಳ ಅಗತ್ಯವಿರುವ ಟ್ರಾನ್ಸ್ಫರ್-ಆಧಾರಿತ ಡ್ರಾಫ್ಟ್ಗಳ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸುತ್ತೇವೆ.
ಡ್ರಾಫ್ಟ್ ಉತ್ಪಾದನೆ: ಡ್ರಾಫ್ಟ್ ಮಾದರಿಯು ನಿಗದಿತ ಸಂಖ್ಯೆಯ ಟೋಕನ್ಗಳನ್ನು ಉತ್ಪಾದಿಸಲು ಪುನರಾವರ್ತನೆಯಾಗುತ್ತದೆ. ಡ್ರಾಫ್ಟ್ ಅನುಕ್ರಮವು ರೇಖಾತ್ಮಕವಾಗಿರಬಹುದು ಅಥವಾ ಮಾದರಿಯು ನಿರ್ದಿಷ್ಟ ಆಳದವರೆಗೆ ಮರದಂತಹ ರಚನೆಯನ್ನು ಅನ್ವೇಷಿಸಬಹುದು (EAGLE, Medusa). ಇಲ್ಲಿ, ನಾವು ರೇಖಾತ್ಮಕ ಅನುಕ್ರಮಗಳ ಮೇಲೆ ಗಮನಹರಿಸುತ್ತೇವೆ.
ಸ್ವೀಕಾರ: ಗುರಿ ಮಾದರಿಯು ಡ್ರಾಫ್ಟ್ ಅನುಕ್ರಮದಲ್ಲಿ ಚಲಿಸುತ್ತದೆ, ಪ್ರತಿ ಡ್ರಾಫ್ಟ್ ಟೋಕನ್ಗೆ ಅನುಗುಣವಾದ ಲಾಗಿಟ್ಗಳನ್ನು ನಿರ್ಮಿಸುತ್ತದೆ. ಸ್ವೀಕಾರಾರ್ಹವಾದ ಅತ್ಯಂತ ಉದ್ದವಾದ ಅನುಕ್ರಮದ ಉದ್ದವನ್ನು ನಿರ್ಧರಿಸಲಾಗುತ್ತದೆ.
ಗುರಿ ಉತ್ಪಾದನೆ: ಗುರಿಯು ಲಾಗಿಟ್ಗಳನ್ನು ಉತ್ಪಾದಿಸಿರುವುದರಿಂದ, ಹೊಂದಾಣಿಕೆಯಾಗದ ಸ್ಥಾನದಲ್ಲಿ ಅಥವಾ ಅನುಕ್ರಮದ ಬಾಲದ ತುದಿಯಲ್ಲಿ ಲಾಗಿಟ್ಗಳು ನಂತರದ ಟೋಕನ್ಗೆ ಅನುಗುಣವಾಗಿರುತ್ತವೆ. ಅನುಕ್ರಮವನ್ನು ಮುಕ್ತಾಯಗೊಳಿಸಲು ಗುರಿಯಿಂದ ದೃಢವಾದ ಟೋಕನ್ ಅನ್ನು ಒದಗಿಸಲು ಈ ಲಾಗಿಟ್ಗಳನ್ನು ಮಾದರಿ ಮಾಡಬಹುದು.
Speculative decoding ಅನ್ನು ಅನುಷ್ಠಾನಗೊಳಿಸಲು ವಿವಿಧ ವಿಧಾನಗಳಿವೆ. ಈ ಪೋಸ್ಟ್ನಲ್ಲಿ, ನಾವು ಮನೆಯಲ್ಲೇ ನಿರ್ಮಿಸಿದ 1B ಮಾದರಿಯನ್ನು ಬಳಸಿ Sonar ಮಾದರಿಗಳನ್ನು ವೇಗಗೊಳಿಸಲು ನಾವು ಬಳಸಿದ ಯೋಜನೆಗಳ ಮೇಲೆ, ಹಾಗೆಯೇ DeepSeek ಪ್ರಮಾಣದಲ್ಲಿ ಮಾದರಿಗಳನ್ನು ಇನ್ನೂ ವೇಗಗೊಳಿಸಲು ನಾವು ಅಭಿವೃದ್ಧಿಪಡಿಸುತ್ತಿರುವ ಭವಿಷ್ಯವಾಣಿ ಯಾಂತ್ರಿಕೆಗಳ ಮೇಲೆ ಗಮನಹರಿಸುತ್ತೇವೆ.
ಟಾರ್ಗೆಟ್-ಡ್ರಾಫ್ಟ್
ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಸಣ್ಣ LLM ಅನ್ನು ಡ್ರಾಫ್ಟ್ ಮಾದರಿಯಾಗಿ ಗುರಿ ಮಾದರಿಯೊಂದಿಗೆ ಜೋಡಿಸುವ ಮೂಲಕ ಅಭ್ಯರ್ಥಿ ಅನುಕ್ರಮಗಳನ್ನು ಉತ್ಪಾದಿಸಲು ಊಹೆಯ ಡಿಕೋಡಿಂಗ್ ಅನ್ನು ಸಾಧಿಸಬಹುದು. ಉತ್ಪಾದನೆಯಲ್ಲಿ, ಗುರಿಯ ಅದೇ ಡೇಟಾಸೆಟ್ನಲ್ಲಿ ಫೈನ್-ಟ್ಯೂನ್ ಮಾಡಲಾದ Llama-1B ಮಾದರಿಯನ್ನು ಬಳಸಿ ನಾವು Sonar ಅನ್ನು ವೇಗಗೊಳಿಸಿದ್ದೇವೆ. ಈ ವಿಧಾನಕ್ಕೆ ಮೊದಲಿನಿಂದ ಡ್ರಾಫ್ಟ್ ಅನ್ನು ತರಬೇತಿ ಮಾಡುವ ಅಗತ್ಯವಿಲ್ಲದಿದ್ದರೂ, ಸಣ್ಣ ಮಾದರಿಯು ಇನ್ನೂ ಗಮನಾರ್ಹವಾದ KV ಕ್ಯಾಶ್ ಸಾಮರ್ಥ್ಯವನ್ನು ಬಳಸುತ್ತದೆ ಮತ್ತು ಸ್ವಲ್ಪ ಪ್ರಿಫಿಲ್ ಓವರ್ಹೆಡ್ ಅನ್ನು ಪರಿಚಯಿಸುತ್ತದೆ, ಇದು TTFT ಅನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ.
ಈ ಯೋಜನೆಯಡಿಯಲ್ಲಿ, ಡಿಕೋಡರ್ ಡಿಕೋಡ್-ಮಾತ್ರ ಬ್ಯಾಚ್ಗಳಲ್ಲಿ ಮಾತ್ರ ಊಹಿಸುತ್ತದೆ, ಪ್ರಿಫಿಲ್ ಸಮಯದಲ್ಲಿ ಅಥವಾ ಮಿಶ್ರ ಪ್ರಿಫಿಲ್-ಡಿಕೋಡ್ ಬ್ಯಾಚ್ಗಳಲ್ಲಿ ಪ್ರಮಾಣಿತ ಮಾದರಿಯ ಮೂಲಕ ಟೋಕನ್ಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ. ಪ್ರಿಫಿಲ್ ಹಂತದಲ್ಲಿ, ಡ್ರಾಫ್ಟ್ನ KV ಕ್ಯಾಶ್ನಲ್ಲಿ ಹೊಸದಾಗಿ ಉತ್ಪತ್ತಿಯಾದ ಟೋಕನ್ ಅನ್ನು ಪ್ರಿಫಿಲ್ ಮಾಡಲು ಗುರಿ ಲಾಗಿಟ್ಗಳನ್ನು ತಕ್ಷಣವೇ ಮಾದರಿ ಮಾಡಲಾಗುತ್ತದೆ. ಡ್ರಾಫ್ಟ್ ಅನ್ನು ಇನ್ನೂ ಮಾದರಿ ಮಾಡಲಾಗಿಲ್ಲ, ಆದರೆ ಅದು ಉತ್ಪಾದಿಸುವ ಲಾಗಿಟ್ಗಳನ್ನು ಡಿಕೋಡ್ ಹಂತಕ್ಕೆ ಕೊಂಡೊಯ್ಯಲಾಗುತ್ತದೆ.
ಡಿಕೋಡ್ನಲ್ಲಿ, ಡ್ರಾಫ್ಟ್ ಮಾದರಿಯು ಮುಂದುವರಿಯುತ್ತದೆ, ಪ್ರತಿ ಹಂತದಲ್ಲಿ ಉನ್ನತ ಟೋಕನ್ ಅನ್ನು ಮಾದರಿ ಮಾಡುತ್ತದೆ. ಬಯಸಿದ ಡ್ರಾಫ್ಟ್ ಉದ್ದವನ್ನು ತಲುಪಿದ ನಂತರ, ಮಾದರಿಯು ಸ್ವೀಕರಿಸಿದ ಅನುಕ್ರಮದ ಉದ್ದವನ್ನು ಗುರುತಿಸುವ ಲಾಗಿಟ್ಗಳನ್ನು ಉತ್ಪಾದಿಸಲು ಗುರಿ ಮಾದರಿಯ ಮೂಲಕ ಟೋಕನ್ಗಳನ್ನು ಚಲಾಯಿಸಲಾಗುತ್ತದೆ. ಡ್ರಾಫ್ಟ್ ಮತ್ತು ಗುರಿಯಿಂದ ಸಂಪೂರ್ಣ ಸಂಭವನೀಯತೆಯ ವಿತರಣೆಗಳನ್ನು ಹೋಲಿಸುವ ಮೂಲಕ ಸ್ವೀಕಾರವನ್ನು ನಿರ್ಧರಿಸಲಾಗುತ್ತದೆ. ಗುರಿಯು ಯಾವಾಗಲೂ ಸ್ವೀಕರಿಸಿದ ಡ್ರಾಫ್ಟ್ ಅನುಕ್ರಮವನ್ನು ಅನುಸರಿಸುವ ಒಂದು ಸೆಟ್ ಲಾಗಿಟ್ಗಳನ್ನು ಔಟ್ಪುಟ್ ಮಾಡುವುದರಿಂದ, ಹೆಚ್ಚುವರಿ ಔಟ್ಪುಟ್ ಅನ್ನು ಉತ್ಪಾದಿಸಲು ಅದನ್ನು ಮಾದರಿ ಮಾಡಲಾಗುತ್ತದೆ. ಡ್ರಾಫ್ಟ್ ಮಾದರಿಯು ಆ ಸ್ವೀಕರಿಸಿದ ಟೋಕನ್ ಅನ್ನು ಇನ್ನೂ ನೋಡಿಲ್ಲದಿರುವುದರಿಂದ, ಮುಂದಿನ ಡಿಕೋಡ್ ಹಂತಕ್ಕೆ ತಯಾರಿ ನಡೆಸಲು ಅದರ ಅನುಗುಣವಾದ KV ಕ್ಯಾಶ್ ನಮೂದುಗಳನ್ನು ಜನಪ್ರಿಯಗೊಳಿಸಲು ಅದನ್ನು ಮರು-ಚಲಾಯಿಸಲಾಗುತ್ತದೆ, ಲಾಗಿಟ್ಗಳನ್ನು ಮತ್ತೆ ಕೊಂಡೊಯ್ಯಲಾಗುತ್ತದೆ.
EAGLE
EAGLE ಎನ್ನುವುದು ಊಹೆಯ ಡಿಕೋಡಿಂಗ್ ಯೋಜನೆಯಾಗಿದ್ದು ಅದು ಸಂಭವನೀಯ ಡ್ರಾಫ್ಟ್ ಟೋಕನ್ಗಳ ಮರದಂತಹ ಟ್ರಾವರ್ಸಲ್ ಮೂಲಕ ಉತ್ಪತ್ತಿಯಾಗುವ ಬಹು ಡ್ರಾಫ್ಟ್ ಅನುಕ್ರಮಗಳನ್ನು ಅನ್ವೇಷಿಸುತ್ತದೆ. ರೇಖಾತ್ಮಕ ಅನುಕ್ರಮದಲ್ಲಿ ಅತ್ಯಧಿಕ ಅಂಕ ಗಳಿಸಿದ ಟೋಕನ್ ಅನ್ನು ಅನುಸರಿಸುವ ಬದಲು ಪ್ರತಿ düğüm (node) ನಲ್ಲಿ Top-K ಅಭ್ಯರ್ಥಿಗಳನ್ನು ಪರಿಗಣಿಸಿ, ಸತತವಾಗಿ ಡ್ರಾಫ್ಟ್ ಟೋಕನ್ಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಮೂಲಕ ಸ್ಥಿರ (EAGLE) ಅಥವಾ ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ಆಕಾರಗೊಂಡ (EAGLE-2) ಮರವನ್ನು ಅನ್ವೇಷಿಸಲಾಗುತ್ತದೆ. ನಂತರ ಅನುಕ್ರಮಗಳಿಗೆ ಅಂಕ ನೀಡಲಾಗುತ್ತದೆ ಮತ್ತು ಗುರಿಯಿಂದ ಹೆಚ್ಚುವರಿ ಟೋಕನ್ ಅನ್ನು ಸೇರಿಸುವ ಮೂಲಕ ಮುಂದುವರಿಯಲು ಸೂಕ್ತವಾದ ಅತ್ಯಂತ ಉದ್ದವಾದದನ್ನು ಆಯ್ಕೆ ಮಾಡಲಾಗುತ್ತದೆ.
უფ ಹೆಚ್ಚು ನಿಖರವಾದ ಮುನ್ಸೂಚನೆಯನ್ನು ಸಾಧಿಸಲು, EAGLE ಡ್ರಾಫ್ಟ್ ಮಾದರಿಯು ಟೋಕನ್ಗಳ ಆಧಾರದ ಮೇಲೆ ಮಾತ್ರವಲ್ಲದೆ ಗುರಿ ಮಾದರಿಯ ಗುರಿ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು (ಕೊನೆಯ ಲೇಯರ್ ಹಿಡನ್ ಸ್ಟೇಟ್ಸ್) ಬಳಸಿ ಮುನ್ಸೂಚನೆ ನೀಡುತ್ತದೆ. ಕಡಿಮೆ ಸುಪ್ತತೆಯ ಬಜೆಟ್ನಲ್ಲಿ ಸೂಕ್ತವಾದ ಅಭ್ಯರ್ಥಿಗಳನ್ನು ಉತ್ಪಾದಿಸಲು ಸಾಕಷ್ಟು ನಿಖರವಾಗಿರುವ ಕಸ್ಟಮ್, ಸಣ್ಣ ಡ್ರಾಫ್ಟ್ ಮಾದರಿಗಳಿಗೆ ತರಬೇತಿ ನೀಡುವ ಅಗತ್ಯವಿರುವುದು EAGLE ನ ಅನನುಕೂಲತೆಯಾಗಿದೆ. ಸಾಮಾನ್ಯವಾಗಿ, ಡ್ರಾಫ್ಟ್ ಮಾದರಿಯು ಮೂಲ ಮಾದರಿಯ ಡಿಕೋಡರ್ ಲೇಯರ್ಗೆ ಹೋಲುವ ಏಕೈಕ ಟ್ರಾನ್ಸ್ಫರ್ಮರ್ ಲೇಯರ್ ಆಗಿದೆ, ಇದು ಅದರ ಎಂಬೆಡಿಂಗ್ಗಳು ಮತ್ತು lm_head ಪ್ರೊಜೆಕ್ಷನ್ಗಳಿಗೆ ಬಂಧಿಸುವ ಮೂಲಕ ಗುರಿಯೊಂದಿಗೆ ಬಿಗಿಯಾಗಿ ಜೋಡಿಸಲ್ಪಟ್ಟಿರುತ್ತದೆ. ಇದು ಕಡಿಮೆ KV ಕ್ಯಾಶ್ ಸಾಮರ್ಥ್ಯದ ಅಗತ್ಯವಿರುವುದರಿಂದ, EAGLE ಕಡಿಮೆ ಮೆಮೊರಿ ಹೆಜ್ಜೆಗುರುತನ್ನು ಹೊಂದಿದೆ.
ಗುರಿ ಮಾದರಿಯಲ್ಲಿ ಮರದಂತಹ ಅನುಕ್ರಮಗಳನ್ನು ಪರಿಶೀಲಿಸಲು, ಕಸ್ಟಮ್ ಅಟೆನ್ಷನ್ ಮಾಸ್ಕ್ಗಳನ್ನು ಬಳಸಬೇಕು. ದುರದೃಷ್ಟವಶಾತ್, ಸಂಪೂರ್ಣ ಅನುಕ್ರಮಕ್ಕಾಗಿ ಕಸ್ಟಮ್ ಅಟೆನ್ಷನ್ ಮಾಸ್ಕ್ ಅನ್ನು ಬಳಸುವುದರಿಂದ ವಾಸ್ತವಿಕ ಇನ್ಪುಟ್ ಉದ್ದಗಳಿಗೆ (ಶೇಕಡಾ 50 ರಷ್ಟು) ಅಟೆನ್ಷನ್ ಗಮನಾರ್ಹವಾಗಿ ನಿಧಾನಗೊಳಿಸುತ್ತದೆ, ಊಹೆಯ ಮೂಲಕ ಸಾಧಿಸಬಹುದಾದ ಕೆಲವು ವೇಗವರ್ಧನೆಯನ್ನು ರದ್ದುಗೊಳಿಸುತ್ತದೆ. ಈ ಕಾರಣದಿಂದಾಗಿ ನಾವು ಪೂರ್ಣ ಮರದ ಅನ್ವೇಷಣೆಯನ್ನು ಇನ್ನೂ ಉತ್ಪಾದನೆಗೆ ನಿಯೋಜಿಸಿಲ್ಲ, ಬದಲಿಗೆ DeepSeek-V3 ತಾಂತ್ರಿಕ ವರದಿಯಲ್ಲಿ ಪ್ರಸ್ತುತಪಡಿಸಲಾದ MTP ತ G ಯೋಜನೆಗಳ ಮೂಲಕ ಏಕ-ಟೋಕನ್ ಮುನ್ಸೂಚನೆಯ ವಿಶೇಷ ಪ್ರಕರಣದ ಮೇಲೆ ಗಮನಹರಿಸುತ್ತಿದ್ದೇವೆ.
MTP
ಈ ಯೋಜನೆಯು ಡ್ರಾಫ್ಟ್-ಟಾರ್ಗೆಟ್ ಡಿಕೋಡಿಂಗ್ ಅನ್ನು ಹೋಲುತ್ತದೆ, ಮುನ್ಸೂಚನೆಗಾಗಿ ಟೋಕನ್ಗಳ ಜೊತೆಗೆ ಹಿಡನ್ ಸ್ಟೇಟ್ಸ್ ಅನ್ನು ಬಳಸುವುದನ್ನು ಹೊರತುಪಡಿಸಿ. ಸಾಮಾನ್ಯ ಡ್ರಾಫ್ಟ್-ಟಾರ್ಗೆಟ್ ಊಹೆಗೆ ಹೋಲಿಸಿದರೆ ಪ್ರಿಫಿಲ್ ಮತ್ತು ಡಿಕೋಡ್ ಎರಡೂ ಹಂತಗಳಲ್ಲಿ ಸ್ವಲ್ಪ ಹೆಚ್ಚು ಕೆಲಸವನ್ನು ಮಾಡಬೇಕು. ಡ್ರಾಫ್ಟ್ ಮಾದರಿಯು ಟೋಕನ್ಗಳು ಮತ್ತು ಹಿಡನ್ ಸ್ಟೇಟ್ಸ್ ಎರಡನ್ನೂ ಬಳಸುತ್ತದೆ: ಟೋಕನ್ t_i ಗೆ ಅನುಗುಣವಾದ ಲಾಗಿಟ್ಗಳು L_i ನಿಂದ ಟೋಕನ್ t_{i+1} ಅನ್ನು ಮಾದರಿ ಮಾಡಲಾಗುತ್ತದೆ, ಇವುಗಳನ್ನು ಹಿಡನ್ ಸ್ಟೇಟ್ಸ್ H_i ನಿಂದ ಪಡೆಯಲಾಗುತ್ತದೆ. ಪರಿಣಾಮವಾಗಿ, ಗುರಿಯು ಔಟ್ಪುಟ್ ಮಾಡಿದ ಹಿಡನ್ ಸ್ಟೇಟ್ ವೆಕ್ಟರ್ಗಳಿಗೆ ಸಂಬಂಧಿಸಿದಂತೆ ಇನ್ಪುಟ್ ಟೋಕನ್ ಬಫರ್ಗಳನ್ನು ಒಂದು ಹಂತಕ್ಕೆ ಎತ್ಕಕೆ (left) ವರ್ಗಾಯಿಸಬೇಕು. ಕೆಳಗಿನ ಚಿತ್ರವು ತರಬೇತಿಗಾಗಿ ಬಳಸಲಾದ ಪತ್ರವ್ಯವಹಾರಗಳನ್ನು ಹಾಗೂ ಅನುಮಾನದ ಸಮಯದಲ್ಲಿ ವರ್ಗಾವಣೆಯನ್ನು ಗುರುತಿಸುತ್ತದೆ.
ಡಿಕೋಡಿಂಗ್ ಹರಿವು ಡ್ರಾಫ್ಟ್-ಟಾರ್ಗೆಟ್ ಡಿಕೋಡಿಂಗ್ ಅನ್ನು ಹೋಲುತ್ತದೆ, ಹಿಡನ್ ಸ್ಟೇಟ್ಸ್ ಮತ್ತು ಲಾಗಿಟ್ಗಳು ಎರಡನ್ನೂ ಕೊಂಡೊಯ್ಯುವುದನ್ನು ಹೊರತುಪಡಿಸಿ. ನಮ್ಮ ಅನುಷ್ಠಾನವು ಸಂಬಂಧಿತ ಎಲ್ಲಾ ಮಾದರಿ ಮತ್ತು ಲಾಗಿಟ್ ಪ್ರೊಸೆಸಿಂಗ್ ಲಾಗಿಟ್ಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳುತ್ತದೆ, ಮಾದರಿ ಫಾರ್ವರ್ಡ್ ಆಹ್ವಾನಗಳನ್ನು ಮಾತ್ರ ವಿಶೇಷಗೊಳಿಸುತ್ತದೆ. ಅನೇಕ ಟೋಕನ್ಗಳನ್ನು ಊಹಿಸಿದಾಗ, ಡ್ರಾಫ್ಟ್ ಮಾದರಿಯು ಮುನ್ಸೂಚನೆಗಾಗಿ ಡ್ರಾಫ್ಟ್ ಹಿಡನ್ ಸ್ಟೇಟ್ಸ್ ಅನ್ನು ಬಳಸುತ್ತದೆ, ಜೊತೆಗೆ ತನ್ನದೇ ಆದ ವೈಶಿಷ್ಟ್ಯಗಳ ಆಧಾರದ ಮೇಲೆ KV ಕ್ಯಾಶ್ ನಮೂದುಗಳನ್ನು ಜನಪ್ರಿಯಗೊಳಿಸುತ್ತದೆ. ದೀರ್ಘಾವಧಿಯಲ್ಲಿ, ಇದು ನಿಖರತೆಯನ್ನು ಕಡಿಮೆ ಮಾಡಬಹುದು. ತರುವಾಯ, ಗುರಿ ಮುನ್ಸೂಚನೆಗಾಗಿ KV ಕ್ಯಾಶ್ ನಮೂದನ್ನು ಜನಪ್ರಿಯಗೊಳಿಸಲು ಡ್ರಾಫ್ಟ್ ಮಾದರಿಯನ್ನು ಚಲಾಯಿಸುವಾಗ, ನಾವು ಹೆಚ್ಚು ನಿಖರವಾದ ಗುರಿ ಹಿಡನ್ ಸ್ಟೇಟ್ಸ್ ಅನ್ನು ಇನ್ಪುಟ್ಗಳಾಗಿ ತೆಗೆದುಕೊಂಡು ಸಂಪೂರ್ಣ ಅನುಕ್ರಮದಲ್ಲಿ ಅದನ್ನು ಚಲಾಯಿಸುತ್ತೇವೆ. ಈ ಡ್ರಾಫ್ಟ್ ಮಾದರಿಗಳು ಚಿಕ್ಕದಾಗಿರುವುದರಿಂದ, ಹೆಚ್ಚುವರಿ ಟೋಕನ್ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವ ಹೆಚ್ಚುವರಿ ವೆಚ್ಚವು ಅತ್ಯಲ್ಪವಾಗಿದೆ.
MTP ಹೆಡ್ಗಳಿಗೆ ತರಬೇತಿ ನೀಡಲಾಗುತ್ತಿದೆ
MTP ಯಿಂದ ಪ್ರಯೋಜನ ಪಡೆಯಲು, 8xH100 ಸಾಧನಗಳನ್ನು ಹೊಂದಿರುವ ಒಂದು ನೋಡ್ನಲ್ಲಿ ಚಲಿಸುವ, Perplexity ನ ಡೇಟಾಸೆಟ್ಗಳಲ್ಲಿ ನಮ್ಮ ಫೈನ್-ಟ್ಯೂನ್ ಮಾಡಿದ ಮಾದರಿಗಳಿಗೆ ಲಗತ್ತಿಸಲಾದ MTP ಹೆಡ್ಗಳಿಗೆ ತರಬೇತಿ ನೀಡಲು ಅಗತ್ಯವಿರುವ ಮೂಲಸೌಕರ್ಯವನ್ನು ನಾವು ನಿರ್ಮಿಸಿದ್ದೇವೆ. ಸುಮಾರು ಒಂದು ದಿನದಲ್ಲಿ, ನಾವು Llama-1B ನಿಂದ Llama-70B ಮತ್ತು DeepSeek V2-Lite ವರೆಗಿನ ಮಾದರಿಗಳಿಗೆ ಹೆಡ್ಗಳನ್ನು ನಿರ್ಮಿಸಬಹುದು. ದೊಡ್ಡ ಮಾದರಿಗಳಿಗಾಗಿ, ಫೈನ್-ಟ್ಯೂನಿಂಗ್ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ನಿರ್ಮಿಸಲಾದ MTP ಹೆಡ್ಗಳನ್ನು ನಾವು ಅವಲಂಬಿಸುತ್ತೇವೆ.
MTP ತರಬೇತಿಯ ಗುರಿಯು ಡ್ರಾಫ್ಟ್ ಹಿಡನ್ ಸ್ಟೇಟ್ಸ್ ಅನ್ನು ಹೊಂದಿಸುವುದು ಮತ್ತು ಗುರಿ ಹಿಡನ್ ಸ್ಟೇಟ್ಸ್ನಿಂದ ಹೊರತೆಗೆಯಲಾದ ಲಾಗಿಟ್ಗಳನ್ನು ಮುಂದಿನ ಟೋಕನ್ ಲಾಗಿಟ್ಗಳಿಗೆ ಮತ್ತು ಗುರಿಯ ಹಿಡನ್ ಸ್ಟೇಟ್ಸ್ನೊಂದಿಗೆ ಹೊಂದಿಸುವುದು. ಹಿಡನ್ ಸ್ಟೇಟ್ಸ್ಗಾಗಿ ಅನುಮಾನವು ದುಬಾರಿಯಾಗಿರುವುದರಿಂದ, ತರಬೇತಿಯ ಸಮಯದಲ್ಲಿ ಬಳಸಲು ಗುರಿ ಮಾದರಿಯ ನಮ್ಮ ಅನುಮಾನ-ಆಪ್ಟಿಮೈಸ್ಡ್ ಅನುಷ್ಠಾನವನ್ನು ಬಳಸಿ ನಾವು ಅವುಗಳನ್ನು ಮೊದಲೇ ಕಂಪ್ಯೂಟ್ ಮಾಡುತ್ತೇವೆ. ಆದಾಗ್ಯೂ, ಅನುಮಾನ MTP ಅನುಷ್ಠಾನವನ್ನು ಮೌಲ್ಯೀಕರಿಸಲು ಮತ್ತು ಕ್ವಾಂಟೈಸೇಶನ್ ಅಥವಾ ಆಪ್ಟಿಮೈಸೇಶನ್ಗಳಿಂದಾಗಿ ಸಂಖ್ಯಾಸಂಖ್ಯೆಯ ವ್ಯತ್ಯಾಸಗಳು ಫಲಿತಾಂಶಗಳಿಗೆ ಅಡ್ಡಿಯಾಗುವುದಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು, ಮೌಲ್ಯೀಕರಣ ನಷ್ಟ ಮತ್ತು ನಿಖರತೆಯ ಅಂದಾಜುಗಾಗಿ ನಾವು ಗುರಿ ಮತ್ತು ಡ್ರಾಫ್ಟ್ ಮಾದರಿಗಳೆರಡರ ಅನುಮಾನ ಅನುಷ್ಠಾನವನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಮರುಬಳಕೆ ಮಾಡುತ್ತೇವೆ.
ಮೂಲ ಪೇಪರ್ನಲ್ಲಿ ಬಳಸಲಾದ ShareGPT ಡೇಟಾಸೆಟ್ನಿಂದ ದೊಡ್ಡ ಮಾದರಿಗಳಿಗೆ ಅಳತೆ ಮಾಡುವಾಗ, EAGLE ಪೇಪರ್ನಲ್ಲಿ ವಿವರಿಸಲಾದ ಮತ್ತು ಕಾರ್ಯಗತಗೊಳಿಸಲಾದ MTP ಹೆಡ್ ಆರ್ಕಿಟೆಕ್ಚರ್ 70B ಗಾತ್ರದ ಮಾದರಿಗಳಿಗೆ ತರಬೇತಿ ನೀಡಲು ವಿಫಲವಾಗಿದೆ ಎಂದು ನಾವು ಗಮನಿಸಿದ್ದೇವೆ. ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ಕಡಿಮೆ ಅನುಕ್ರಮಗಳನ್ನು ಹೊಂದಿದ್ದ ShareGPT ಗಿಂತ ಭಿನ್ನವಾಗಿ, ನಾವು ಸ್ವಲ್ಪ ಕಡಿಮೆ ಸಂಖ್ಯೆಯ ಗಮನಾರ್ಹವಾಗಿ ದೀರ್ಘವಾದ ಪ್ರಾಂಪ್ಟ್ಗಳ ಮೇಲೆ ತರಬೇತಿ ನೀಡುತ್ತೇವೆ. ಮೂಲ EAGLE ಹೆಡ್ಗಳು ವಿಶಿಷ್ಟವಾದ ಟ್ರಾನ್ಸ್ಫರ್ಮರ್ನಿಂದ ರಚನೆಯಲ್ಲಿ ಸ್ವಲ್ಪ ವಿಚಲನೆಗೊಂಡಿದ್ದರಿಂದ, ತೆಗೆದುಹಾಕಲಾಗಿದ್ದ ಕೆಲವು RMS Normalization ಲೇಯರ್ಗಳನ್ನು ನಾವು ಮರುಪರಿಚಯಿಸಿದ್ದೇವೆ. ಇದು ತರಬೇತಿಯು ಒಮ್ಮುಖವಾಗಲು ಅನುವು ಮಾಡಿಕೊಟ್ಟಿತು ಮಾತ್ರವಲ್ಲದೆ, ಹೆಡ್ಗಳ ನಿಖರತೆಯನ್ನು ಕೆಲವು ಶೇಕಡಾವಾರು ಅಂಕಗಳಿಂದ ಹೆಚ್ಚಿಸಿತು ಎಂದು ನಾವು ಕಂಡುಕೊಂಡಿದ್ದೇವೆ.
ಲೇಯರ್ ನಾರ್ಮ್ಗಳು ತರಬೇತಿಯನ್ನು ಸುಗಮಗೊಳಿಸುವುದಷ್ಟೇ ಅಲ್ಲ, ನಾರ್ಮ್ಗಳನ್ನು ಪುನಃ ಸೇರಿಸುವುದು ಗಣಿತಾತ್ಮಕವಾಗಿ ಸಹ ಸಹಜವಾಗಿದೆ. MTP ಹೆಡ್ಗಳು ಗುರಿ ಮಾದರಿಯ ಎಂಬೆಡಿಂಗ್ಗಳು ಮತ್ತು ಲಾಜಿಟ್ ಪ್ರೊಜೆಕ್ಷನ್ಗಳನ್ನು ಪುನಃ ಬಳಸುತ್ತವೆ, ಏಕೆಂದರೆ ಅವು ಗಾತ್ರದಲ್ಲಿ ಬಹಳ ದೊಡ್ಡದಾಗಿರಬಹುದು (Llama 70B ಗಾಗಿ ಸುಮಾರು 2 GB). ತರಬೇತಿಯ ಸಮಯದಲ್ಲಿ, ಇವುಗಳನ್ನು ಫ್ರೀಸ್ ಮಾಡಲಾಗುತ್ತದೆ ಮತ್ತು MTP ಲೇಯರ್ ಮುನ್ಸೂಚನೆಗಳನ್ನು ಮೂಲ ಮಾದರಿಯ ಪ್ರೊಜೆಕ್ಷನ್ ಲೇಯರ್ ತರಬೇತಿಯ ವೇಳೆ ಕಲಿತ ಅದೇ ವೆಕ್ಟರ್ ಸ್ಪೇಸ್ಗೆ ಎಂಬೆಡ್ ಮಾಡಲು ಕಲಿಯುತ್ತದೆ ಎಂಬ ನಿರೀಕ್ಷೆಯಿರುತ್ತದೆ. ನಾರ್ಮ್ಗಳನ್ನು ತೆಗೆದುಹಾಕುವುದರಿಂದ, ಒಬ್ಬೇ MLP, MLP ಮತ್ತು ನಂತರ ನಾರ್ಮ್ ಇರುವಂತೆಯೇ ಅದೇ ಕಾರ್ಯವನ್ನು ಕಲಿಯಬೇಕಾಗುತ್ತದೆ; ಇದರಿಂದ ಡ್ರಾಫ್ಟ್ ಮತ್ತು ಗುರಿ ಮಾದರಿಗಳ ಹಿಡ್ನ್ ಸ್ಟೇಟ್ಗಳ ನಡುವಿನ ಹೊಂದಾಣಿಕೆ ಕಷ್ಟವಾಗುತ್ತದೆ.
ಊಹೆಯ ಡಿಕೋಡಿಂಗ್ನೊಂದಿಗೆ ಅನುಮಾನ
ಇನ್ಫರೆನ್ಸ್ ಎಂಜಿನ್ನಲ್ಲಿ, ಇನ್ಪುಟ್ ಕ್ರಮಗಳಿಗಾಗಿ ಟೋಕನ್ಗಳನ್ನು ಉತ್ಪಾದಿಸಲು, ಅವುಗಳನ್ನು ಮೊದಲು ಯುಕ್ತವಾದ ಗಾತ್ರದ ಬ್ಯಾಚ್ಗಳಾಗಿ ಗುಂಪು ಮಾಡಬೇಕು, ನಂತರ ಮುಂದಿನ ಟೋಕನ್ಗಳಿಗಾಗಿ KV ಕ್ಯಾಶ್ನಲ್ಲಿ ಪುಟಗಳನ್ನು ಹಂಚಿಕೆ ಮಾಡಬೇಕು. ನಂತರ ಇನ್ಪುಟ್ ಟೋಕನ್ಗಳು ಮತ್ತು KV ಪುಟದ ಮಾಹಿತಿಯನ್ನು ಮಾದರಿಯನ್ನು ನಡೆಸುತ್ತಿರುವ ಎಲ್ಲ ಸಮಾಂತರ ರ್ಯಾಂಕ್ಗಳಿಗೆ ಪ್ರಸಾರವಾಗುವ ಬಫರ್ಗೆ ಪ್ಯಾಕ್ ಮಾಡಲಾಗುತ್ತದೆ. ಕೊನೆಗೆ, ಮೆಟಾಡೇಟಾವನ್ನು GPU ಮೆಮೊರಿಯಲ್ಲಿ ನಕಲಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಮುಂದಿನ ಟೋಕನ್ ಅನ್ನು ಸ್ಯಾಂಪಲ್ ಮಾಡುವ ಲಾಜಿಟ್ಗಳನ್ನು ಉತ್ಪಾದಿಸಲು ಮಾದರಿಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ.
ಅವುಗಳ ನಡುವಿನ ವಿನಂತಿಗಳನ್ನು ಆರ್ಕೆಸ್ಟ್ರೇಟ್ ಮಾಡುವ ರಾಪರ್ ಮೂಲಕ ಡ್ರಾಫ್ಟ್ ಮತ್ತು ಗುರಿ ಅನುಮಾನ ಸರ್ವರ್ ಅನ್ನು ಸಡಿಲವಾಗಿ ಜೋಡಿಸುವ ಕೆಲವು ಅನುಷ್ಠಾನಗಳಿಗಿಂತ ಭಿನ್ನವಾಗಿ, ನಮ್ಮ ಡ್ರಾಫ್ಟ್-ಟಾರ್ಗೆಟ್ ಜೋಡಿಗಳು ಬಿಗಿಯಾಗಿ ಜೋಡಿಸಲ್ಪಟ್ಟಿರುತ್ತವೆ ಮತ್ತು ಒಟ್ಟಿಗೆ ಉತ್ಪಾದನೆಯ ಮೂಲಕ ಹಂತ ಹಂತವಾಗಿ ಸಾಗುತ್ತವೆ. ಎಲ್ಲಾ ರೀತಿಯ ಊಹೆಯ ಡಿಕೋಡಿಂಗ್ಗಾಗಿ ಬ್ಯಾಚ್ ವೇಳಾಪಟ್ಟಿ ಮತ್ತು KV ಪುಟ ಹಂಚಿಕೆಯನ್ನು ಮಾದರಿಗಳ ನಡುವೆ ಹಂಚಿಕೊಳ್ಳಲಾಗುತ್ತದೆ: ಇದು ಮಾದರಿಯನ್ನು ಒಟ್ಟಾರೆ ಅನುಮಾನ ಸರ್ವರ್ನೊಂದಿಗೆ ಸೇರಿಸುವ ತರ್ಕವನ್ನು ಏಕೀಕರಿಸುತ್ತದೆ, ಏಕೆಂದರೆ ಅವೆಲ್ಲವೂ ಒಂದೇ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಬಹಿರಂಗಪಡಿಸುತ್ತವೆ.
Perplexity ನಲ್ಲಿನ ಅನುಮಾನ ರನ್-ಟೈಮ್ FlashInfer ಸುತ್ತಲೂ ರೂಪುಗೊಂಡಿದೆ, ಇದು ಅಟೆನ್ಷನ್ ಕರ್ನಲ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ಮತ್ತು ವೇಳಾಪಟ್ಟಿ ಮಾಡಲು ನಿರ್ಮಿಸಬೇಕಾದ ಮೆಟಾಡಾಟಾವನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ. ಬ್ಯಾಚ್ ಅನ್ನು ರೂಪಿಸುವ ಕೆಲವು ಇನ್ಪುಟ್ ಅನುಕ್ರಮಗಳನ್ನು ನೀಡಿದರೆ, ಪ್ರಿಫಿಲ್, ಡಿಕೋಡ್ ಅಥವಾ ಪರಿಶೀಲನೆಗಾಗಿ, ಮಧ್ಯಂತರ ಬಫರ್ಗಳನ್ನು ಹಂಚಿಕೆ ಮಾಡಲು ಮತ್ತು ಅಟೆನ್ಷನ್ನಲ್ಲಿ ಬಳಸುವ ಕೆಲವು ಸ್ಥಿರ ಬಫರ್ಗಳನ್ನು ಜನಪ್ರಿಯಗೊಳಿಸಲು CPU-ಸೈಡ್ ಕೆಲಸವನ್ನು ಮಾಡಬೇಕು. ಈ ಕೆಲಸವು ಬ್ಯಾಚ್ ವೇಳಾಪಟ್ಟಿ ಮತ್ತು KV ಪುಟ ಹಂಚಿಕೆಯ ವೆಚ್ಚದ ಜೊತೆಗೆ ಇರುತ್ತದೆ, ಇದು GPU ಬಳಕೆಯನ್ನು ಗರಿಷ್ಠಗೊಳಿಸಲು ಮರೆಮಾಡಬೇಕಾದ ಸುಪ್ತತೆಗಳನ್ನು ಉಂಟುಮಾಡುತ್ತದೆ.
ಊಹೆಯಿಲ್ಲದೆ ಅನುಮಾನಕ್ಕಾಗಿ ನಾವು CPU-ಸೈಡ್ ಮತ್ತು GPU-side ಕೆಲಸವನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಸಮಾನಾಂತರಗೊಳಿಸಿದ್ದರೂ, ಊಹೆಯ ಡಿಕೋಡಿಂಗ್ಗಾಗಿ CPU-GPU ಸಮತೋಲನವು ಹೆಚ್ಚು ಸಂಕೀರ್ಣವಾಗಿದೆ ಎಂದು ನಾವು ಕಂಡುಕೊಂಡಿದ್ದೇವೆ. ಸ್ವೀಕರಿಸಿದ ಟೋಕನ್ಗಳ ಸಂಖ್ಯೆಯು ನಂತರದ ರನ್ಗಾಗಿ ಅನುಕ್ರಮದ ಉದ್ದವನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ ಎಂಬ ಅಂಶದಿಂದ ಮುಖ್ಯ ಸವಾಲು ಉದ್ಭವಿಸುತ್ತದೆ, ಇದು ತಪ್ಪಿಸಲು ಕಷ್ಟಕರವಾದ GPU-to-CPU ಸಿಂಕ್ರೊನೈಸೇಶನ್ ಬಿಂದುವನ್ನು ಪರಿಚಯಿಸುತ್ತದೆ. CPU ಕೆಲಸದ ಸುಪ್ತತೆಯನ್ನು ಉತ್ತಮವಾಗಿ ಮರೆಮಾಡಲು ನಾವು ವಿವಿಧ ವೇಳಾಪಟ್ಟಿ ಯೋಜನೆಗಳೊಂದಿಗೆ ಪ್ರಯೋಗಿಸಿದ್ದೇವೆ.
ಡ್ರಾಫ್ಟ್-ಟಾರ್ಗೆಟ್ ವೇಳಾಪಟ್ಟಿ
ಗುರಿ ಮಾದರಿಗಿಂತ ಚಿಕ್ಕದಾಗಿದ್ದರೂ, ಸಂಪೂರ್ಣ LLM ಅನ್ನು ಡ್ರಾಫ್ಟ್ ಆಗಿ ಬಳಸಿದಾಗ, ಇದು ಇನ್ನೂ GPU ನಲ್ಲಿ ಗಣನೀಯ ಸುಪ್ತತೆಯನ್ನು ಪರಿಚಯಿಸುತ್ತದೆ, ದುಬಾರಿ CPU ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಮರೆಮಾಡಲು ಸ್ವಲ್ಪ ಹೆಡ್ರೂಮ್ ಅನ್ನು ಒದಗಿಸುತ್ತದೆ. ಸಣ್ಣ ಮಾದರಿಗಳು ಟೆನ್ಸರ್ ಸಮಾನಾಂತರತೆಯಿಂದ ಪ್ರಯೋಜನ ಪಡೆಯುವುದಿಲ್ಲವಾದ್ದರಿಂದ, ಗುರಿ ಮತ್ತು ಡ್ರಾಫ್ಟ್ ಅನ್ನು ವಿಭಜಿಸಲಾದ ಶ್ರೇಣಿಗಳ ಸಂಖ್ಯೆಯ ನಡುವೆ ಹೊಂದಾಣಿಕೆಯಿಲ್ಲ. ನಮ್ಮ ಅನುಷ್ಠಾನದಲ್ಲಿ, ಡ್ರಾಫ್ಟ್ ಮಾದರಿಯು TP ಗುಂಪಿನ ಲೀಡರ್ ಶ್ರೇಣಿಯಲ್ಲಿ ಮಾತ್ರ ಚಲಿಸುತ್ತದೆ.
ಹಿಂದೆ ಸೂಚಿಸಿದಂತೆ, ಒಂದು ಡಿಕೋಡ್ ಹಂತವು ಲಾಜಿಟ್ಗಳನ್ನು ಮುಂದಿನ ರನ್ಗೆ ಸಾಗಿಸುತ್ತದೆ. ಇದರಿಂದ ಡ್ರಾಫ್ಟ್ ಮಾದರಿಯ ಒಂದು ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು CPU-ಪಕ್ಷದ ಬ್ಯಾಚ್ ವೇಳಾಪನಾ ಕೆಲಸದೊಂದಿಗೆ ಒಟ್ಟುಗೂಡಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ. ಬ್ಯಾಚ್ ಅನ್ನು ಒಟ್ಟುಗೂಡಿಸಿದ ನಂತರ, ಸ್ಯಾಂಪ್ಲರ್ ಮತ್ತು ಡ್ರಾಫ್ಟ್ಗೆ ಪುನರಾವರ್ತಿತ ಕರೆಯುಗಳು ಡ್ರಾಫ್ಟ್ ಟೋಕನ್ಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತವೆ. ಸಮಾಂತರವಾಗಿ, ಪರಿಶೀಲನೆಗಾಗಿ ಬ್ಯಾಚ್ ಅನ್ನು ಗುರಿ ಮಾದರಿಗಾಗಿ ಒಟ್ಟುಗೂಡಿಸಿ ಸಮಾಂತರ ಕಾರ್ಯಕರ್ತರೊಂದಿಗೆ ಸಮಕಾಲೀಕರಿಸಲಾಗುತ್ತದೆ. ಗುರಿ ಲಾಜಿಟ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ ಮತ್ತು ಸ್ಯಾಂಪಲ್ ಮಾಡಿ ಸ್ವೀಕರಿಸಲಾದ ಕ್ರಮದ ಉದ್ದಗಳನ್ನು ನಿರ್ಧರಿಸಲಾಗುತ್ತದೆ. ಈ ಹಂತದಲ್ಲಿ, ಮುಂದಿನ ಕ್ರಮದ ಉದ್ದಗಳನ್ನು ನಿರ್ಧರಿಸಲು GPU-ದಿಂದ CPU-ಗೆ ಸಮಕಾಲೀಕರಣ ಅಗತ್ಯವಿರುತ್ತದೆ. ಡ್ರಾಫ್ಟ್ ಮಾದರಿಯನ್ನು ಲೀಡರ್ ನೋಡ್ನಲ್ಲಿ ಮಾತ್ರ ನಡೆಸಲಾಗುವುದರಿಂದ, ಅದರ ಬ್ಯಾಚ್ ಅನ್ನು ಕ್ರಮಬದ್ಧವಾಗಿ ಸಜ್ಜುಗೊಳಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಗುರಿ ಉತ್ಪಾದಿಸಿದ ಹೆಚ್ಚುವರಿ ಟೋಕನ್ನೊಂದಿಗೆ ಅದರ KV ಕ್ಯಾಶ್ ನಮೂದುಗಳನ್ನು ಪೂರೈಸಲು ಅದರ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆ ಆರಂಭಿಸಲಾಗುತ್ತದೆ. ಪ್ರಸ್ತುತ ರನ್ನಲ್ಲಿ ಈ ಡ್ರಾಫ್ಟ್ ರನ್ ಉತ್ಪಾದಿಸಿದ ಲಾಜಿಟ್ಗಳನ್ನು ಮುಂದಿನ ರನ್ನಲ್ಲಿ ಮೊದಲ ಡ್ರಾಫ್ಟ್ ಟೋಕನ್ ಅನ್ನು ಸ್ಯಾಂಪಲ್ ಮಾಡಲು ಬಳಸಲಾಗುತ್ತದೆ. ಅತ್ಯಂತ ಮುಖ್ಯವಾಗಿ, ಡ್ರಾಫ್ಟ್ ನಡೆಯುತ್ತಿರುವಾಗಲೇ ಮುಂದಿನ ಬ್ಯಾಚ್ ಅನ್ನು ವೇಳಾಪಟ್ಟಿಗೊಳಿಸಬಹುದು.
Single Token ಗಾಗಿ MTP ವೇಳಾಪಟ್ಟಿ
ರನ್-ಟೈಮ್ ಇನ್ನೂ ಈಗಲ್ ಶೈಲಿಯ ಡ್ರಾಫ್ಟ್ ಮರ ಅನ್ವೇಷಣೆಯನ್ನು ಒದಗಿಸದಿದ್ದರೂ, ನಾವು ಈ ಯೋಜನೆಯ ವಿಶೇಷ ಪ್ರಕರಣವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿದ್ದೇವೆ, ಏಕೈಕ ಟ್ರಾನ್ಸ್ಫರ್ಮರ್ ಡಿಕೋಡರ್ ಲೇಯರ್ನ ಗಾತ್ರದ ಮಾದರಿಯಿಂದ ಉತ್ಪತ್ತಿಯಾಗುವ ಡ್ರಾಫ್ಟ್ ಟೋಕನ್ಗಳ ರೇಖಾತ್ಮಕ ಅನುಕ್ರಮವನ್ನು ಪರಿಗಣಿಸುತ್ತೇವೆ. DeepSeek R1 ನ ಓಪನ್ ಸೋರ್ ತೂಕವನ್ನು ಬಳಸಿಕೊಂಡು ಡ್ರಾಫ್ಟ್ ಮುನ್ಸೂಚನೆಗಾಗಿ ಈ ಯೋಜನೆಯನ್ನು ಬಳಸಬಹುದು. ಒಂದೇ ಟೋಕನ್ ಅನ್ನು ಊಹಿಸುವ ಉಪ-ಕರೆ ಆಸಕ್ತಿದಾಯಕವಾಗಿದೆ, ಏಕೆಂದರೆ ದೊಡ್ಡ MTP ಲೇಯರ್ಗಳು ತಮ್ಮ ಓವರ್ಹೆಡ್ ಅನ್ನು ಸಮರ್ಥಿಸಲು ಸಾಕಷ್ಟು ಹೆಚ್ಚಿನ ಸ್ವೀಕಾರ ದರಗಳನ್ನು ಸಾಧಿಸುತ್ತವೆ.
ಡ್ರಾಫ್ಟ್ ಮಾದರಿಯು ಹೆಚ್ಚು ವೇಗವಾಗಿರುವುದರಿಂದ, ಕಡಿಮೆ CPU-ಸೈಡ್ ಸುಪ್ತತೆಯನ್ನು ಮರೆಮಾಡುವುದರಿಂದ MTP ವೇಳಾಪಟ್ಟಿಯು ಸ್ವಲ್ಪ ಹೆಚ್ಚು ಸಂಕೀರ್ಣವಾಗಿದೆ. ಹೆಚ್ಚುವರಿಯಾಗಿ, ಡ್ರಾಫ್ಟ್ ಅನ್ನು ಗುರಿ ಮಾದರಿಯೊಂದಿಗೆ ಶಾರ್ಡ್ ಮಾಡಲಾಗುತ್ತದೆ, ಬ್ಯಾಚ್ ಮಾಹಿತಿಗಾಗಿ ಹಂಚಿದ ಮೆಮೊರಿ ವರ್ಗಾವಣೆಗಳ ಅಗತ್ಯವಿರುತ್ತದೆ. ಹಿಂದಿನ ಯೋಜನೆಯಂತೆ, ಬ್ಯಾಚ್ ಮಾಹಿತಿಯನ್ನು ವರ್ಗಾಯಿಸುವ ಮೂಲಕ ಮತ್ತು ಕ್ಯಾರಿ-ಓವರ್ ಲಾಗಿಟ್ಗಳಿಂದ ಮೊದಲ ಟೋಕನ್ ಅನ್ನು ಮಾದರಿ ಮಾಡುವ ಮೂಲಕ ರನ್ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ. ಮುಂದೆ, ಟೋಕನ್ಗಳನ್ನು ಮೌಲ್ಯೀಕರಿಸಲು ಗುರಿಯನ್ನು ಚಲಾಯಿಸಲಾಗುತ್ತದೆ, 2 * D ಟೋಕನ್ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗುತ್ತದೆ, ಇಲ್ಲಿ D ಎಂಬುದು ಡಿಕೋಡ್ ಬ್ಯಾಚ್ ಗಾತ್ರವಾಗಿದೆ. ಇನ್ಫಿನಿಬ್ಯಾಂಡ್ನಂತಹ ನಿಧಾನವಾದ ಇಂಟರ್ಕನೆಕ್ಟ್ಗಳ ಮೇಲೆ ಮಿಕ್ಚರ್-ಆಫ್-ಎಕ್ಸ್ಪರ್ಟ್ಸ್ (MoE) ಮಾದರಿಗಳಲ್ಲಿ ಮೈಕ್ರೋ-ಬ್ಯಾಚಿಂಗ್ಗೆ ಇದು ಸೂಕ್ತವಾಗಿದೆ, ಏಕೆಂದರೆ ಬ್ಯಾಚ್ ಸಮವಾಗಿ ಎರಡು ಅರ್ಧಗಳಾಗಿ ವಿಂಗಡಿಸುತ್ತದೆ. ಗುರಿಯ ಹಿಡನ್ ಸ್ಟೇಟ್ಸ್ ಮುಂದಿನ ಡ್ರಾಫ್ಟ್ ರನ್ಗೆ ಕೊಂಡೊಯ್ಯುತ್ತವೆ, ಆದರೆ ಪರಿಶೀಲನೆಗಾಗಿ ಲಾಗಿಟ್ಗಳನ್ನು ಮಾದರಿಗೆ ರವಾನಿಸಲಾಗುತ್ತದೆ.
GPU ನಲ್ಲಿ ಸೀಮಿತ ಪ್ರಮಾಣದ ಹೆಚ್ಚುವರಿ ಕೆಲಸವನ್ನು ನಿರ್ವಹಿಸುವ ಮೂಲಕ, ಡ್ರಾಫ್ಟ್ ಅನುಕ್ರಮ ಸ್ವೀಕಾರದ ನಂತರ CPU-to-CPU ಸಿಂಕ್ರೊನೈಸೇಶನ್ ಅನ್ನು ನಾವು ತಪ್ಪಿಸುತ್ತೇವೆ. ಗುರಿಗಳ ಇನ್ಪುಟ್ ಟೋಕನ್ಗಳನ್ನು ವರ್ಗಾಯಿಸಿದ ನಂತರ, ಕರ್ನಲ್ ಮುಂದಿನ ಗುರಿ ಟೋಕನ್ಗಳನ್ನು ಅವುಗಳ ಅನುಗುಣವಾದ ಸ್ಥಳಗಳಲ್ಲಿ ಪ್ಲಗ್ ಮಾಡುತ್ತದೆ. ನಂತರ ಗುರಿಯ ಅದೇ ಬ್ಯಾಚ್ ಮಾಹಿತಿಯೊಂದಿಗೆ ಡ್ರಾಫ್ಟ್ ಅನ್ನು ಮರು-ಚಲಾಯಿಸಲಾಗುತ್ತದೆ, KV ಕ್ಯಾಶ್ ನಮೂದುಗಳನ್ನು ಜನಪ್ರಿಯಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ಮುಂದಿನ ರನ್ಗಾಗಿ ಲಾಗಿಟ್ಗಳು ಮತ್ತು ಹಿಡನ್ ಸ್ಟೇಟ್ಸ್ ಅನ್ನು ನಿರ್ಮಿಸುತ್ತದೆ, ಸ್ವೀಕರಿಸದ ಟೋಕನ್ಗಳ ಮೇಲೆ ಕೆಲವು ಅನಗತ್ಯ ಕೆಲಸ ಮಾಡುತ್ತದೆ. ಈ ಸಂದರ್ಭಗಳಲ್ಲಿ, ಡ್ರಾಫ್ಟ್ ಮಾದರಿಯ ಸಣ್ಣ ಗಾತ್ರದಿಂದಾಗಿ ಬಳಸದ ಕೆಲಸದ ಸುಪ್ತತೆಯು ಕಷ್ಟಪಟ್ಟು ಗಮನಿಸಬಹುದಾಗಿದೆ. ಡ್ರಾಫ್ಟ್ ರನ್ಗೆ ಸಮಾನಾಂತರವಾಗಿ, CPU ನಲ್ಲಿ ಅನುಕ್ರಮದ ಉದ್ದವನ್ನು ನಿರ್ಧರಿಸಲಾಗುತ್ತದೆ ಮತ್ತು GPU ಕೆಲಸವು ಕೊನೆಗೊಳ್ಳಲು ಕಾಯದೆ ಮುಂದಿನ ಬ್ಯಾಚ್ನ ವೇಳಾಪಟ್ಟಿಯನ್ನು ಕಿಕ್ಆಫ್ ಮಾಡಲಾಗುತ್ತದೆ.
ಅಟೆನ್ಷನ್ನಲ್ಲಿ ಡ್ರಾಫ್ಟ್ ಲೇಯರ್ನಲ್ಲಿ ಹೆಚ್ಚುವರಿ ಕೆಲಸದ ಓವರ್ಹೆಡ್ ಗಮನಾರ್ಹವಾಗಿಲ್ಲ, ಆದಾಗ್ಯೂ MLP ಲೇಯರ್ಗಳು ಹೆಚ್ಚು ಸಮಸ್ಯಾತ್ಮಕವಾಗಿವೆ. ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಗುಣಾಕಾರ ಸೂಚನೆಗಳು ಟೋಕನ್ಗಳ ಸಂಖ್ಯೆಯ ಆಯಾಮದ ಉದ್ದಕ್ಕೂ 64 ರ ಗಡಿಗೆ ಪ್ಯಾಡ್ ಆಗುವುದರಿಂದ, ದ್ವಿಗುಣಗೊಳಿಸುವಿಕೆಗೆ ಗಮನಾರ್ಹವಾಗಿ ಹೆಚ್ಚಿನ ಬ್ಲಾಕ್ಗಳ ಅಗತ್ಯವಿಲ್ಲದಿದ್ದರೆ, ಓವರ್ಹೆಡ್ ಅನ್ನು ಮರೆಮಾಡಲಾಗುತ್ತದೆ. ದೀರ್ಘ ಡ್ರಾಫ್ಟ್ ಅನುಕ್ರಮಗಳಿಗೆ ಓವರ್ಹೆಡ್ ಹೆಚ್ಚು ದುಬಾರಿಯಾಗಿದೆ ಮತ್ತು ಸಾಮಾನ್ಯ ಡ್ರಾಫ್ಟ್-ಟಾರ್ಗೆಟ್ ಮಾದರಿಗಳಿಗೆ ಬಳಸುವ ಯೋಜನೆಯು ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.
ಉಲ್ಲೇಖಗಳು
ಊಹೆಯ ಡಿಕೋಡಿಂಗ್ ಮೂಲಕ ಟ್ರಾನ್ಸ್ಫರ್ಮರ್ಗಳಿಂದ ವೇಗದ ಅನುಮಾನ
EAGLE: ಊಹೆಯ ಮಾದರಿಯು ವೈಶಿಷ್ಟ್ಯದ ಅನಿಶ್ಚಿತತೆಯನ್ನು ಮರುಯೋಚಿಸುವ ಅಗತ್ಯವಿದೆ
EAGLE-2: ಡೈನಾಮಿಕ್ ಡ್ರಾಫ್ಟ್ ಮರಗಳೊಂದಿಗೆ ಭಾಷಾ ಮಾದರಿಗಳ ವೇಗವಾದ ಅನುಮಾನ
EAGLE-3: ತರಬೇತಿ-ಸಮಯದ ಪರೀಕ್ಷೆಯ ಮೂಲಕ ದೊಡ್ಡ ಭಾಷಾ ಮಾದರಿಗಳ ಅನುಮಾನ ವೇಗವರ್ಧನೆಯನ್ನು ಅಳೆಯುವುದು
Medusa: ಬಹು ಡಿಕೋಡಿಂಗ್ ಹೆಡ್ಗಳೊಂದಿಗೆ ಸರಳ LLM ಅನುಮಾನ ವೇಗವರ್ಧನೆ ಫ್ರೇಮ್ವರ್ಕ್
FlashInfer: LLM ಅನುಮಾನ ಸೇವೆಗಾಗಿ ಸಮರ್ಥ ಮತ್ತು ಗ್ರಾಹಕೀಯಗೊಳಿಸಬಹುದಾದ ಅಟೆನ್ಷನ್ ಎಂಜಿನ್
ಉಲ್ಲೇಖ
@online{perplexity2025AcceleratingSonarThroughSpeculation,
author = {{Perplexity} and Nandor Licker and Erin McKnight},
title = {{Accelerating Sonar through speculation}},
date = {2025-06-10},
url = {https://perplexity.coolkeypoint.com/hub/blog/accelerating-sonar-through-speculation}
}