GPU 추론 가속 — 캐시·어텐션·커널로 최적화하기

GPU 추론 가속

같은 perf_infer_gpu_one 페이지는 GPU 추론을 위한 구체적인 기법들을 코드로 보여줘요. 어텐션 백엔드·캐시 전략·커널을 조합해 메모리와 속도를 잡는 방법이에요.

어텐션 백엔드

대안 어텐션은 메모리 트래픽을 줄여요. 예를 들어 FlashAttention은 어텐션을 타일링해 큰 중간 텐서를 피해 메모리를 줄여요.

model = AutoModelForCausalLM.from_pretrained(
    "Qwen/Qwen3-0.6B", attn_implementation="flash_attention_2"
)

캐시 전략

캐싱은 매 토큰마다 과거 K/V를 재계산하는 대신 재사용해 생성을 빠르게 해요. 메모리 비용을 줄이기 위해 캐시를 CPU로 오프로드할 수도 있어요.

outputs = model.generate(**inputs, do_sample=False, max_new_tokens=50, cache_implementation="offloaded")

커널

커널은 연산을 퓨즈해 처리량을 올리고 메모리를 줄여요. Hub에서 최적화 커널을 설치 없이 로드할 수도 있어요.

model = AutoModelForCausalLM.from_pretrained(
    "Qwen/Qwen3-0.6B", attn_implementation="kernels-community/flash-attn2"
)

정리

목표(속도 vs 메모리)에 맞춰 기법을 조합하는 게 핵심이에요. 이 문서는 그 조합을 코드로 시험해 볼 수 있는 출발점이에요.

더 알아보기