Hugging Face의 `generate()` 함수에는 외부에서 구축된 `DynamicCache`가 사용될 때 잘못된 출력을 유발하는 버그가 있습니다. 이 문제는 프리필 데이터에서 캐시를 재구성하는 SnapKV, H2O, KIVI 등의 KV 캐시 압축 방법에 영향을 미칩니다. 근본 원인은 위치 컨텍스트 전파 실패로, Qwen3-VL-8B에서 정확도 10.7pp 손실을 초래합니다.

  • 적절한 내부 상태로 캐시를 안전하게 재구성하기 위해 `DynamicCache.from_kv_tensors()` 클래스 메서드 추가.
  • 기본 품질 복원을 위해 생성 중 명시적인 `attention_mask` 및 `position_ids` 요구.
  • 새로운 메서드는 하위 호환성을 위해 선택적 `num_hidden_layers` 매개변수를 통해 내부 목록을 사전 할당합니다.

이 수정은 시퀀스 길이와 어텐션 마스크를 올바르게 처리하여 KV 압축 워크플로우가 신뢰할 수 있는 출력을 생성하도록 보장합니다.