llama.cpp 프로젝트는 시퀀스 위치 인덱싱과 n-gram 히스토리 조회를 개선하기 위해 키-밸류 셀 관리를 리팩토링한 빌드 b10750을 출시했습니다.
- `get_prev_tokens()` 함수가 재구축되어, 모든 ubatch마다 사용된 모든 셀을 순회하는 대신 직접 조회를 수행합니다.
- 내부 인덱스는 이제 `(pos, cell)` 쌍을 `std::set`에 저장하여, 새로운 `seq_pos_tok_le` 메서드를 통해 로그 시간 복잡도로 검색할 수 있습니다.
- 이 변경으로 기존 윈도우 조회 및 M-RoPE 간격 폴백 로직이 필요 없어졌습니다.
- 71k 컨텍스트에서 Qwen3.8-Flash-Next UD-Q4_K_XL에 대한 벤치마크 결과, 토큰 생성 속도가 69.3에서 72.7 t/s로 4.9% 증가했으며 프리필 성능은 변경되지 않았습니다.
이 최적화는 추론 중 계산 오버헤드를 줄여 긴 컨텍스트 시나리오에서 더 빠른 텍스트 생성을 가능하게 합니다.