KV 캐싱
KV Caching
트랜스포머 모델이 앞서 계산한 값을 저장해 두었다가 재사용하는 기법이에요.
어떤 개념인가요
작동 원리
모델은 입력 토큰 각각에 대해 어텐션에 쓰이는 키와 값을 계산해요. 생성 단계에서는 이 값들을 캐시라는 저장 공간에 차곡차곡 쌓아 두고, 새 토큰이 들어오면 자신의 질의(Query)만 계산해 기존 값과 비교해요.
캐시 덕분에 한 단계당 계산량은 크게 줄지만, 문맥 길이에 비례해 저장 공간이 늘어나요. 그래서 긴 요청일수록 GPU 메모리를 많이 차지하고, 이를 줄이기 위한 압축 기법들도 함께 연구되고 있어요.
어디에 쓰이나요
한계와 오해
KV 캐싱은 모델의 답을 더 똑똑하게 만드는 기술이 아니에요. 같은 입력에 대한 결과는 그대로이고, 계산을 재사용해 속도와 비용을 개선하는 최적화라고 이해하는 것이 정확해요.
캐시는 긴 문맥에서 GPU 메모리를 크게 차지해 동시에 처리할 수 있는 요청 수를 제한해요. 캐시가 커지면 오히려 지연이 생길 수 있어서, 무조건 빠르다고 생각하면 오해예요.
예를 들면
시험 문제를 풀 때 앞에서 푼 풀이 메모를 책상에 펼쳐 두고, 다음 문제에서 그 메모를 바로 참고하는 것과 비슷해요.
왜 알아둘 만한가요
반복 계산을 줄이는 원리를 알면 AI 서비스가 긴 문맥에서 메모리를 많이 쓰는 이유와 응답 속도가 결정되는 방식을 이해하는 데 도움이 돼요.
출처와 더 읽기
이렇게도 불러요KV 캐시, 키-값 캐시