"இந்த மாடல் 128K கான்டெக்ஸ்ட்டை ஆதரிக்கிறது" என்று கேட்க நன்றாகத் தான் இருக்கிறது – அதை இயக்க முயன்று உங்கள் நினைவகம் எல்லாம் எங்கே போனது என்று யோசிக்கும் வரை. குற்றவாளி KV கேச்: கான்டெக்ஸ்ட்டின் ஒவ்வொரு டோக்கனிலும் வளரும் LLM இன் பகுதி, பெரிய கான்டெக்ஸ்ட் விண்டோ உண்மையான ஜிகாபைட்டுகள் செலவாகக் காரணம்.

இந்த வழிகாட்டி KV கேச் என்றால் என்ன, அது ஏன் அப்படி அளவிடப்படுகிறது, உங்கள் சொந்த வன்பொருளில் ஒரு கான்டெக்ஸ்ட் விண்டோவுக்கு எவ்வளவு நினைவகம் தேவை என்பதை எவ்வாறு சரியாகக் கணக்கிடுவது என்பதை விளக்குகிறது.

KV கேச் என்றால் என்ன

ஒரு LLM ஒரு டோக்கனைச் செயலாக்கும்போது, அது நிறைய கணக்கீடுகளைச் செய்கிறது – மேலும் முக்கியமாக, பிறகு வரும் டோக்கன்களைப் புரிந்துகொள்ள முந்தைய டோக்கன்களிலிருந்து முடிவுகள் தேவை. ஒவ்வொரு டோக்கனின் கடந்த காலத்திற்கான கவனம் (attention), ஒவ்வொரு அடுக்கிலும் இரண்டு விஷயங்களிலிருந்து கணக்கிடப்படுகிறது: ஒரு key (இந்த டோக்கன் என்ன வழங்குகிறது) மற்றும் ஒரு value (அது என்ன கொண்டுள்ளது).

ஒவ்வொரு புதிய டோக்கனிலும் முந்தைய ஒவ்வொரு டோக்கனுக்கும் அந்த keys மற்றும் values ஐ மீண்டும் கணக்கிடுவதற்குப் பதிலாக – இது உருவாக்கத்தை இருபடி அளவில் மெதுவாக்கும் – மாடல் அவற்றை சேமிக்கிறது. அந்த சேமிப்பகம் தான் KV கேச். கான்டெக்ஸ்ட்டில் உள்ள ஒவ்வொரு டோக்கனும், ஒவ்வொரு அடுக்கு மற்றும் ஒவ்வொரு attention head இல், அதில் ஒரு நிலையான தொகையைச் சேர்க்கிறது.

அது கான்டெக்ஸ்டுடன் ஏன் நேர்கோட்டில் நினைவகத்தைச் சாப்பிடுகிறது

இதோ முக்கிய உண்மை: KV கேச் டோக்கன்களின் எண்ணிக்கையுடன் வளர்கிறது, மாடலின் அளவுடன் அல்ல. அதிக கான்டெக்ஸ்ட் = அதிக சேமிக்கப்பட்ட keys மற்றும் values. கான்டெக்ஸ்ட்டை இரட்டிப்பாக்கினால் KV கேச்யை ஏறத்தாழ இரட்டிப்பாக்கும்.

ஒரு dense மாடலுக்கான தோராயமான அளவு:

KV cache ≈ layers × kv_heads × head_dim × 2 × bytes_per_value × context

சரியான எண்கள் மாடல் கட்டமைப்பைப் பொறுத்தது. நடைமுறைக் கருத்து: 7B அல்லது 13B போன்ற நடுத்தர அளவிலான மாடலுக்கு, பெரிய கான்டெக்ஸ்ட்டில் (சொல்லுங்கள் 32K அல்லது 128K) KV கேச், எடைகளின் அளவோடு எளிதில் பொருந்தலாம் அல்லது அதை மீறலாம்.

உண்மையான எண்கள்

இதை நடைமுறையில் பார்க்க, LLM VRAM கால்குலேட்டர் உங்கள் சரியான மாடல், குவாண்டைசேஷன், கான்டெக்ஸ்ட்டுக்கான எடைகள் + KV கேச்யைப் பிரிக்கிறது. இரண்டு வேலை செய்த எடுத்துக்காட்டுகள்:

அதனால்தான் "8K கான்டெக்ஸ்ட்டில் இயங்கும்" மற்றும் "128K கான்டெக்ஸ்ட்டில் இயங்கும்" என்பவை ஒரே மாடலுக்கு கூட முற்றிலும் வித்தியாசமான வன்பொருள் தேவைகள்.

அதை எவ்வாறு குறைப்பது

KV கேச் உங்கள் நினைவகத்தைச் சாப்பிட்டால், உங்களிடம் சில நெம்புகோல்கள் உள்ளன:

எங்கள் Qwen 27B லேப் சோதனையில் q8 KV விளைவைக் காணலாம், அங்கு q8 KV 16K இல் பகுதி ஆஃப்லோடுடன் 12 GB கார்டில் (அரிதாக) பொருந்தியது.

MoE vs dense (அவை ஏன் வேறுபடுகின்றன)

ஒரு dense மாடல் ஒவ்வொரு டோக்கனையும் அதன் அனைத்து அளவுருக்கள் வழியாகச் செயலாக்குகிறது. ஒரு MoE மாடல் ஒவ்வொரு டோக்கனையும் சில "எக்ஸ்பர்ட்" அடுக்குகள் வழியாக மட்டும் வழிநடத்துகிறது – ஆனால் KV கேச் வேறு கதை. எந்த எக்ஸ்பர்ட்கள் அவற்றைக் கையாண்டாலும் கவனம் டோக்கன்கள் முழுவதும் பகிரப்படுவதால், MoE மாடல்கள் சில கட்டமைப்புகளில் ஒவ்வொரு டோக்கனுக்கும் சிறிய KV கேச்யை வைத்திருக்க முடியும். 35B MoE, 35B dense மாடல் ஒருபோதும் முடியாத 262K கான்டெக்ஸ்ட்டில் இயங்க இது ஒரு காரணம். நேரடி ஒப்பீட்டிற்கு MoE vs Dense லேப் சோதனையைப் பார்க்கவும்.

இறுதி முடிவு

KV கேச் LLM களின் மறைக்கப்பட்ட நினைவகச் செலவு, அது கான்டெக்ஸ்ட்டின் ஒவ்வொரு டோக்கனிலும் வளர்கிறது. ஒரு மாடல் "128K ஆதரிக்கிறது" என்று சொன்னால், அது ஒரு மேல் வரம்பு, பரிந்துரை அல்ல. உங்களுக்கு உண்மையில் தேவையான கான்டெக்ஸ்ட்டைப் பயன்படுத்துங்கள், KV கேச்யை குவாண்டைஸ் செய்யுங்கள், மேலும் நீங்கள் ஈடுபடுவதற்கு முன் VRAM கால்குலேட்டரைச் சரிபார்க்கவும் – உங்கள் மாடல் நினைவகத்தின் ஒரு பகுதியில் இயங்கும்.