장문 서빙 1.35–2.2× 가속, FLOPs 50–70% 절감
RedKnot은 헤드 분류 기반 KV 재사용과 SegPagedAttention으로 장문 컨텍스트 추론의 FLOPs를 50–70% 줄이고 TTFT를 1.35×–2.2× 개선한다.
TL;DR
RedKnot은 SGLang 기반의 장문 컨텍스트 LLM 서빙 가속 라이브러리로, 헤드 단위 분류를 통해 각 헤드에 대해 서로 다른 KV 가시 창과 재사용 전략을 적용하여 불필요한 prefill 연산을 줄이는 설계이다. 오프라인 세그먼트 KV 캐시와 RoPE 재배치를 결합하여 저장된 KV를 수치적으로 정렬한 뒤 필요한 토큰만 선택적으로 재계산하고, 토큰 중요도 기반의 Elastic Sparsity로 FFN 연산을 스킵하여 전체 FLOPs를 약 50–70% 절감한다. README에 제시된 벤치마크는 TTFT 1.35×–2.2×의 속도 향상과 일부 시나리오에서 베이스라인과 동등하거나 더 나은 F1 정확도를 보고했으며, transformers 5.x가 필요한 모델군은 별도 가상환경을 통해 실행해야 한다. 이러한 설계는 긴 문맥에서의 추론 비용과 응답 지연을 낮추는 데 기여하나, 일부 MoE 설정에서는 정확도 저하가 발생할 수 있고 대규모 재현에는 고성능 GPU 자원이 요구된다. arXiv 논문과 통합된 벤치마크 스크립트가 있어 실험 재현과 비교 평가가 가능한 구현을 제공한다.
주요 기능
- 헤드별 KV 저장 정책을 적용하여 각 (layer, kv_head)에 대해 global, local, retrieval, dense 네 가지 클래스 중 하나를 할당하고 해당 클래스에 맞는 KV 조회·재사용 경로를 운영한다. 이 설계는 전체 KV를 모든 헤드에 복제하지 않고 필요한 데이터만 로드하여 메모리와 계산을 절감한다. 클래스 구성은 JSON 설정과 프로파일링 결과를 바탕으로 동작한다.
- 오프라인 세그먼트 단위 KV 캐시를 유지하고 서빙 시점에는 필요한 토큰만 선택적으로 재계산하며 RoPE 재배치를 통해 저장된 KV와 현재 맥락의 위치 표현을 수치적으로 정렬한다. 이 방식은 긴 prefill 단계의 반복 계산을 회피하여 FLOPs를 감소시키는 핵심 수단으로 작동한다. RoPE 재배치는 저장된 세그먼트가 다른 위치에 붙여져도 수치적 일관성을 유지하게 한다.
- 토큰 중요도 기반의 Elastic Sparsity(희소 FFN)를 적용하여 기여도가 낮은 토큰에 대해 FFN 연산을 스킵함으로써 불필요한 연산을 줄인다. 중요도 판단 로직은 어텐션 기여도를 활용하여 토큰별로 연산을 선택하거나 생략하도록 설계되어 있다. 이를 통해 전체 전방향 연산량이 크게 감소하고 긴 컨텍스트에서 효율성이 상승한다.
- 헤드 단위 페이지 테이블과 분할된 KV 저장소를 제공하는 SegPagedAttention 런타임을 통해 서로 다른 헤드 클래스가 서로 다른 가시 창을 가지도록 구성하고 필요한 페이지를 동적으로 접근한다. 이 런타임은 FlashAttention-2/FA-3와의 통합으로 고성능 어텐션 연산과 결합되어 동작한다. 페이지 테이블 기반 접근은 컨텍스트 길이가 길어질수록 상대적 성능 이득을 증대시킨다.
어떻게 동작하는가
RedKnot은 각 어텐션 헤드를 클래스별로 분류하여 헤드별로 다른 KV 가시성과 저장·재사용 정책을 적용함으로써 불필요한 prefill 계산을 줄인다. 재사용 가능한 세그먼트의 KV는 오프라인에 저장되고 서빙 시 RoPE 재배치를 거쳐 수치적 정렬을 확보한 뒤 필요한 토큰만 재계산하거나 재로딩하여 전체 FLOPs를 크게 낮춘다. 추가로 토큰 중요도에 기반한 Elastic Sparsity로 FFN 연산을 선택적으로 건너뛰어 긴 컨텍스트에서의 전체 연산 비용과 응답 시간(TTFT)을 개선한다.
해결 문제
긴 컨텍스트를 다루는 LLM 서빙에서 전체 프리필과 KV 유지로 인한 계산량 및 메모리 병목 문제를 완화한다. RedKnot은 헤드별 KV 재사용, 오프라인 KV 캐시, RoPE 재배치, 그리고 토큰 선택적 FFN으로 중복 연산을 줄여서 긴 입력에 대한 FLOPs와 prefill 시간을 줄인다. 이러한 최적화는 긴 컨텍스트에서의 추론 비용을 낮추면서도 대부분의 시나리오에서 베이스라인과 동등하거나 더 나은 정확도를 유지하게 한다.
지금 주목받는 이유
리포지토리는 arXiv에 논문을 동반하고 있으며(링크가 README에 명시되어 있다) 긴 컨텍스트 서빙에 대한 실무적 요구와 연구적 관심이 높은 분야이다. README에 제시된 벤치마크는 FLOPs 절감(약 50–70%)과 TTFT 가속(1.35×–2.2×)을 명시적으로 보고하여 실전 적용 가능성을 강조했다. 또한 SGLang 위에서 동작하며 vLLM 등 생태계와의 연계가 가능하다는 점이 채택 이유를 높였다.
차별점
- 헤드 분류를 통해 헤드별로 서로 다른 KV 가시 창과 재사용 전략을 적용하는 점이 기존의 모든 헤드에 동일한 전체 KV를 제공하는 접근과 다르다. 이로 인해 불필요한 KV 로딩과 전체 prefill 계산이 회피되어 메모리 사용과 FLOPs가 감소한다. 분류 결과를 JSON으로 설정·로딩할 수 있게 하여 운영 환경에서 유연한 튜닝이 가능하다.
- 세그먼트 단위의 오프라인 KV 캐시와 RoPE 재배치를 결합하여 저장된 KV를 수치적으로 정렬한 뒤 선택적 재계산만 수행하는 점이 핵심적 차별화 요소이다. 이 구조는 긴 문서 반복 조회 시 전체 프리필을 매번 다시 수행하지 않아도 되는 운영적 이점을 제공한다. 저장된 KV의 형식 일관성 유지로 정확도 손실을 최소화했다는 점이 강조된다.
- 토큰 기여도 기반의 Elastic Sparsity로 FFN 계산을 건너뛰는 기법은 토큰 단위로 연산을 줄여 전체 연산량을 더 낮추는 추가 경로를 제공한다. 이 기법은 특히 긴 컨텍스트에서 효과가 커서 SegPagedAttention과 결합 시 상호보완적인 이득을 제공한다. 결과적으로 FLOPs 절감과 TTFT 가속이 함께 달성되도록 설계되었다.
사용 사례
- 장문 문서 검색·응답(RAG) 워크로드에서 긴 문맥의 사전 채움(prefill) 비용을 낮추고 응답 초기 지연(TTFT)을 단축하는 데 사용된다. RedKnot은 오프라인 세그먼트 재사용과 헤드별 가시성으로 반복적 세그먼트 조회 비용을 줄이므로 대형 문서베이스를 자주 참조하는 RAG 파이프라인에서 효과적이다. 벤치마크는 HotpotQA 및 LongBench 기반 시나리오에서 실질적 속도·연산 이득을 보였다.
- 대형 멀티턴 대화 시스템에서 긴 대화 이력을 효율적으로 유지하면서 초기 답변 지연을 낮추는 용도로 활용된다. 필요한 과거 토큰의 KV만 재사용하고 중요도가 낮은 토큰의 FFN을 스킵함으로써 실시간 응답성 개선에 기여한다. 특히 컨텍스트 길이가 증가할수록 상대적 이득이 커지는 특성이 있다.
- MoE 또는 대형 모델군(Qwen3.5-MoE, DeepSeek-V4 등)에서 메모리·연산 비용을 제어하며 추론 인프라의 단가를 낮추려는 클러스터 운영 환경에 적용된다. README에 제시된 예시는 일부 MoE 설정에서 손실이 발생할 수 있음을 보여주나, 전반적으로 compute 절감과 속도 향상이 예상된다. 운영 환경에서는 모델별로 transformers 버전 요구사항과 가상환경 구성을 병행해야 한다.
시작하기
RedKnot은 SGLang의 설치 흐름을 따르므로 먼저 리포지토리의 python 패키지를 개발 모드로 설치하는 것이 권장된다. 예시 명령은 pip install -e "python[all]"이며 이 설치는 레포지토리 내부의 확장 모듈을 바로 사용 가능하게 만든다. 벤치마크는 test/srt/redknot 디렉토리의 스크립트로 재현할 수 있으며 일부 모델군은 transformers 5.x가 필요하므로 README에 포함된 .venv_tf5 가상환경을 사용하는 절차를 따라야 한다.
요구사항
- SGLang 기반 환경이 필요하며 RedKnot은 SGLang의 attention 확장으로 통합되어 동작한다. SGLang 관련 설치 지침은 README와 SGLang 문서를 참조해야 한다. 일부 통합 기능은 SGLang의 고성능 스케줄러 및 RadixAttention 등의 기반 기능에 의존한다.
- transformers 5.x가 Qwen3.5-MoE 및 DeepSeek-V4 같은 특정 모델을 로드하는 데 필요하며, 리포지토리는 .venv_tf5로 transformers 5.12.0을 포함해 배포하고 있다. 시스템의 기본 transformers 4.57은 해당 모델들을 로드하지 못하므로 버전 불일치에 유의해야 한다. MoE 모델 실행 시에는 별도의 가상환경을 활성화해 실행해야 한다.
- GPU 가속 환경과 CUDA 설정이 필요하며 벤치마크는 고성능 GPU 클러스터에서 실행된 결과를 포함한다. README에 제시된 벤치마크 하드웨어는 NVIDIA L20Y ×8로 표기되어 있어 대규모 실험 복제에는 대형 GPU 자원이 요구된다. 단일-또는 소수 GPU로도 최소 재현은 가능하나 모델과 배치 설정에 따라 메모리 요구사항이 크게 달라진다.
벤치마크
| 벤치마크 | 지표 | 값 | 비교 |
|---|---|---|---|
| Qwen3-32B HotpotQA 16K | TTFT speedup / FLOPs saved | 1.39x / 69.2% | vs dense FlashAttention-2 baseline |
| Qwen3-32B HotpotQA 32K | TTFT speedup / FLOPs saved | 1.93x / 72.2% | vs dense FlashAttention-2 baseline |
| Qwen3.5-35B-A3B LongBench 16K | TTFT speedup / compute saved | 1.87x / 46.4% | vs honest dense baseline |
| Mistral-7B-Instruct HotpotQA 16K | TTFT speedup / FLOPs saved | 1.35x / 51.5% | vs dense baseline |
659
Stars
211
Forks
+249
Trending
1
조회수
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.