Hugging Face की `generate()` फ़ंक्शन में एक बग है जो तब गलत आउटपुट का कारण बनता है जब `past_key_values` एक बाहरी रूप से बनाया गया `DynamicCache` होता है। यह समस्या SnapKV, H2O और KIVI जैसे KV कैश संपीड़न विधियों को प्रभावित करती है जो prefill डेटा से कैश पुनर्निर्मित करते हैं। मूल कारण स्थानीय संदर्भ (positional context) के प्रसार में विफलता है, जिससे Qwen3-VL-8B पर सटीकता में 10.7pp की हानि होती है।
- उचित आंतरिक अवस्था के साथ कैश को सुरक्षित रूप से पुनर्निर्मित करने के लिए `DynamicCache.from_kv_tensors()` क्लासमेथड जोड़ें।
- बेसलाइन गुणवत्ता को पुनर्स्थापित करने के लिए जनरेशन के दौरान स्पष्ट `attention_mask` और `position_ids` की आवश्यकता है।
- पीछे की संगतता (backward compatibility) के लिए नई विधि वैकल्पिक `num_hidden_layers` पैरामीटर के माध्यम से आंतरिक सूचियों को पूर्व-आवंटित करती है।
यह ठीक करना सुनिश्चित करता है कि KV संपीड़न कार्यप्रवाह अनुक्रम लंबाई और ध्यान मास्कों (attention masks) को सही ढंग से संभालकर विश्वसनीय आउटपुट उत्पन्न करते हैं।