மாடல்கள் மற்றும் குவாண்டைசேஷன்களின் எந்த சேர்க்கையையும் தேர்ந்தெடுக்கவும், ஒரு GPUவை தேர்வு செய்யவும், இந்த வழிகாட்டி ஒரு பக்க-சார்பு-ஒப்பீட்டை உருவாக்குகிறது: எடை அளவு, பல்வேறு கான்டெக்ஸ்ட் நீளங்களில் KV கேச், தேவையான மொத்த VRAM, எதிர்பார்க்கப்படும் டிகோட் வேகம், மற்றும் நேரடியான பொருந்தும் / இறுக்கமான / பொருந்தாது முடிவு. முற்றிலும் உங்கள் உலாவியில் இயங்குகிறது – எதுவும் பதிவேற்றப்படவில்லை.

இது எவ்வாறு இயங்குகிறது – அனுமானங்கள் மற்றும் சூத்திரங்கள்

இது ஒரு மதிப்பீடு, ஆய்வக அளவீடு அல்ல. கீழே உள்ள எண்கள் நேரடி கால்குலேட்டர் தர்க்கத்துடன் பொருந்துகின்றன.

1. மாடல் எடை அளவு

weights = parameters × bytes_per_weight / GiB

ஒரு எடைக்கான பைட்டுகள் ஒரு குவாண்டைசேஷனுக்கு: Q2_K 0.35, Q3_K_M 0.45, Q4_K_M 0.61, Q5_K_M 0.66, Q6_K 0.8125, Q8_0 1.0625, FP16 2.0. உதாரணம்: Q4_K_M இல் 8B பாராம்கள் ≈ 8e9 × 0.61 / 1.07e9 ≈ 4.5 GB.

2. KV கேச்

kv_per_token = 2 × layers × kv_heads × head_dim × 2 bytes
kv_cache = kv_per_token × context / GiB

×2 K மற்றும் V ஐ உள்ளடக்குகிறது; இறுதி ×2 bytes FP16 KV ஐ கருதுகிறது (பெரும்பாலான என்ஜின்களுக்கான இயல்புநிலை). அட்டவணை 8K, 16K, 32K, 64K, 128K மற்றும் 262K கான்டெக்ஸ்ட்களில் KV ஐ காட்டுகிறது, இதனால் நீண்ட கான்டெக்ஸ்ட் நினைவகத்தை எவ்வாறு ஆதிக்கம் செலுத்துகிறது என்பதை நீங்கள் பார்க்கலாம்.

3. மொத்த VRAM

total = weights + kv_cache + (weights + kv_cache) × 0.06 + 0.25 GB

6% CUDA கான்டெக்ஸ்ட் / என்ஜின் பஃபர்களை உள்ளடக்குகிறது, மேலும் ஒரு நிலையான 0.25 GB தளம்.

4. இது பொருந்துமா?

total ≤ vram × 0.95பொருந்தும்; vram × 1.05 வரை → இறுக்கமான (குறைக்கப்பட்ட KV உடன் இயக்கவும், அல்லது OOM ஐ கவனிக்கவும்); இல்லையெனில் பொருந்தாது.

5. டிகோட் tok/s

tok/s ≈ memory_bandwidth × 0.85 / (active_params × bytes_per_weight)

டிகோடிங் மெமரி-பவுண்ட் ஆகும்: ஒவ்வொரு டோக்கனும் செயலில் உள்ள எடைகளை ஒருமுறை படிக்கிறது. MoE மாடல்கள் செயலில் பாராம்களைப் பயன்படுத்துகின்றன (ரூட் செய்யப்பட்ட நிபுணர்கள் மட்டுமே), அதனால்தான் 30B-மொத்த / 3B-செயலில் MoE மிகவும் சிறிய மாடலைப் போல டிகோட் செய்கிறது. டென்ஸ் மாடல்கள் முழு பாராம்களைப் பயன்படுத்துகின்றன. ~85% பயன்பாடு ஓவர்ஹெட் காரணமாகும்.

தொடர்புடைய வழிகாட்டிகள்