ನಾನು MTP TPS ಬೆನ್ನಟ್ಟುವುದನ್ನು ನಿಲ್ಲಿಸಿದೆ ಮತ್ತು 24GB VRAM ನಲ್ಲಿ ಕೆಲಸ ಮಾಡುವ ಸ್ಥಳೀಯ 27B ಏಜೆಂಟ್ ಅನ್ನು ಪಡೆದಿದ್ದೇನೆ

ನನಗೆ ಸಿಂಗಲ್ ಪ್ರಾಂಪ್ಟ್ ಬೆಂಚ್‌ಮಾರ್ಕ್‌ಗಳ ಬಗ್ಗೆ ಕಾಳಜಿಯಿಲ್ಲ.

ನನಗೆ ಲೂಪ್ (loop) ಬಗ್ಗೆ ಕಾಳಜಿಯಿದೆ.

ಒಂದು ಕೋಡಿಂಗ್ ಏಜೆಂಟ್ ಗಂಟೆಗಟ್ಟಲೆ ಕೆಲಸ ಮಾಡಬೇಕಾಗುತ್ತದೆ. ಅದು ಎಡಿಟ್‌ಗಳು, ಟರ್ಮಿನಲ್ ಕರೆಗಳು, ಮರುಪ್ರಯತ್ನಗಳು (retries) ಮತ್ತು ಬೆಳೆಯುತ್ತಿರುವ ಸಂದರ್ಭವನ್ನು (context) ನಿರ್ವಹಿಸಬೇಕಾಗುತ್ತದೆ. ಒಂದು ವೇಳೆ ಮಾಡೆಲ್ ಹತ್ತು ಪ್ರಾಂಪ್ಟ್‌ಗಳ ನಂತರ ವಿಫಲವಾದರೆ, ಅದು ವ್ಯರ್ಥ.

ನಾನು 24GB GPU ಮೇಲೆ 27B ಮಾಡೆಲ್ ಅನ್ನು ಚಲಾಯಿಸಲು ಸಾಧ್ಯವೇ ಎಂದು ನೋಡಲು ಬಯಸಿದೆ. ನಾನು Qwopus3.6-27B-v2 ಅನ್ನು ಪರೀಕ್ಷಿಸಿದೆ ಮತ್ತು ಹೊಸ ಆವೃತ್ತಿಯನ್ನು ರಚಿಸಿದೆ: XReyRobert/Qwopus3.6-27B-v2-GPTQ-Pro-v1.

ಸ್ಥಿರವಾದ 24GB ಏಜೆಂಟ್ ಲೂಪ್‌ಗಾಗಿ ನನ್ನ ಸೆಟಪ್ ಇಲ್ಲಿದೆ:

  • ಮಾಡೆಲ್: Qwopus3.6-27B GPTQ-Pro 4-bit
  • ಇಂಜಿನ್: vLLM ಜೊತೆಗೆ GPTQ-Marlin
  • ಕಾಂಟೆಕ್ಸ್ಟ್: 131k ಟೋಕನ್‌ಗಳು
  • KV Cache: FP8 (fp8_e5m2)
  • ಸ್ಟ್ರಾಟಜಿ: Prefix caching ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ
  • ನಿರ್ಬಂಧ: max_num_seqs=1

ಯಾಕೆ max_num_seqs=1?

ಒಂದೇ 24GB ಕಾರ್ಡ್‌ನಲ್ಲಿ, ಪ್ಯಾರಲಲಿಸಂ (parallelism) ಉಚಿತವಾಗಿ ಸಿಗುವುದಿಲ್ಲ. ನೀವು ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ರಿಕ್ವೆಸ್ಟ್‌ಗಳನ್ನು ರನ್ ಮಾಡಿದರೆ, ಅವು ಮೆಮೊರಿಗಾಗಿ ಹೋರಾಡುತ್ತವೆ. ನಾನು ಒಂದು ರಿಕ್ವೆಸ್ಟ್ ಅನ್ನು ಸ್ವಚ್ಛವಾಗಿ ಪೂರ್ಣಗೊಳಿಸಬೇಕೆಂದು ಬಯಸುತ್ತೇನೆ. ಎರಡು ವಿಫಲವಾದ ಉತ್ತರಗಳಿಗಿಂತ ಒಂದು ಉಪಯುಕ್ತ ಉತ್ತರವೇ ನನಗೆ ಲಭ್ಯವಾಗಲಿ ಎಂದು ನಾನು ಬಯಸುತ್ತೇನೆ.

ನಾನು ಸ್ಪೆಕ್ಯುಲೇಟಿವ್ ಡಿಕೋಡಿಂಗ್ (speculative decoding - MTP) ಅನ್ನು ಕೂಡ ಕೈಬಿಟ್ಟೆ. ಒಂದೇ 3090 ಕಾರ್ಡ್‌ನಲ್ಲಿ, ದೀರ್ಘ ಕಾಂಟೆಕ್ಸ್ಟ್‌ಗಳಿಗಾಗಿ ಎಂಡ್-ಟು-ಎಂಡ್ ವೇಗವನ್ನು ಹೆಚ್ಚಿಸದೆ, MTP ಮೆಮೊರಿ ಒತ್ತಡ ಮತ್ತು ಸಂಕೀರ್ಣತೆಯನ್ನು ಹೆಚ್ಚಿಸಿತು.

ನಿಜವಾದ ಪ್ರಮುಖ ಮೆಟ್ರಿಕ್ಸ್‌ಗಳು:

  • Prefix cache hit ratio: ~83%
  • ಸರಾಸರಿ TTFT: 33k ಟೋಕನ್‌ಗಳಲ್ಲಿ ~5.7s
  • Prefill throughput: ~1917 tok/s
  • Decode speed: ~43 tok/s

ಪ್ರಿಫಿಕ್ಸ್ ಕ್ಯಾಶ್ (prefix cache) ಯಶಸ್ವಿಯಾದಾಗ, ನಿಮ್ಮ ವಿಳಂಬತೆ (latency) ಕಡಿಮೆಯಾಗುತ್ತದೆ. ನೀವು ಕಾರ್ಯಗಳನ್ನು ಬದಲಾಯಿಸಿದಾಗ, ಕ್ಯಾಶ್ 'ಕೋಲ್ಡ್' ಆಗುತ್ತದೆ ಮತ್ತು ವಿಳಂಬತೆ ಹೆಚ್ಚಾಗುತ್ತದೆ. ಇದು ಸಾಮಾನ್ಯ. ಕಾರ್ಯವು ಸ್ಥಿರವಾದ ನಂತರ ಹೆಚ್ಚಿನ ಕ್ಯಾಶ್ ಮರುಬಳಕೆಗೆ ಮರಳುವುದೇ ಗುರಿಯಾಗಿದೆ.

ನೀವು ಕೇವಲ ಒಂದು ಪ್ರಾಂಪ್ಟ್ ಅನ್ನು ಮಾತ್ರ ಪರೀಕ್ಷಿಸಿದರೆ, ನೀವು ತಪ್ಪು ವಿಷಯವನ್ನು ಪರೀಕ್ಷಿಸುತ್ತಿದ್ದೀರಿ ಎಂದರ್ಥ. ಕೋಡಿಂಗ್ ಏಜೆಂಟ್‌ಗಳಿಗಾಗಿ, ನೀವು ದೀರ್ಘಾವಧಿಯ ಸ್ಥಿರತೆಯನ್ನು ಪರೀಕ್ಷಿಸಬೇಕು.

ನೀವು ಒಂದೇ GPU ಮೇಲೆ ಏಜೆಂಟ್ ಲೂಪ್‌ಗಳನ್ನು ರನ್ ಮಾಡುತ್ತಿದ್ದೀರಾ? KV cache ಅಥವಾ prefix caching ಗಾಗಿ ನೀವು ಯಾವ ತಂತ್ರಗಳನ್ನು ಬಳಸುತ್ತೀರಿ?

ಮೂಲ: https://dev.to/xreyrobertibm/i-stopped-chasing-mtp-tps-and-got-a-local-27b-agent-that-actually-stayed-usable-on-24gb-vram-5897

ಐಚ್ಛಿಕ ಕಲಿಕಾ ಸಮುದಾಯ: https://t.me/GyaanSetuAi