실무AI 기초 및 활용 3회 — 대화가 길어지면 왜 메모리가 늘까? — 토큰과 KV 캐시

실무AI 기초 및 활용 3회 — 대화가 길어지면 왜 메모리가 늘까? — 토큰과 KV 캐시

실무AI 기초 및 활용 · 3회 / 전체 12회
실무자도 놓치기 쉬운 AI 원리를 질문과 실험으로 확인합니다.

AI를 업무에 사용해본 분을 위한 강의입니다. 아래 실습은 독자 재현을 위한 절차이며 이 글에서 실행한 측정 결과를 뜻하지 않습니다.

모델 파일은 같은데 왜 메모리가 부족할까요?

짧은 질문은 잘 처리하던 로컬 모델이 긴 문서에서 멈추기도 합니다. 모델 파일만 계산해서 장비에 들어간다고 판단하면 실행 중 필요한 공간을 놓칩니다. 대화 길이와 생성 과정에서 추가되는 상태를 함께 봐야 합니다.

이번 강의의 범위

일반적인 자기회귀 Transformer의 토큰 처리와 KV 캐시를 다룹니다. 모든 모델이 같은 캐시 구조를 사용하는 것은 아닙니다. 모델별 설명을 확인하면서 가중치, 실행 중 상태, 외부 대화 저장소를 구분하는 것이 목표입니다.

크기가 다른 두 개의 청록빛 다각형 — 모델 파일은 같은데 왜 메모리가 부족할까요?의 원리를 설명하는 개념 삽화

토큰은 글자 수가 아닙니다

토크나이저는 입력을 모델이 다룰 조각으로 나눕니다. 한글, 영어, 숫자, 코드에서 토큰 수와 글자 수의 관계가 달라질 수 있습니다. 입력 예산은 대략적인 문서 페이지 수보다 실제 토크나이저 측정으로 확인하는 것이 정확합니다.

입력에는 질문 외의 내용도 있습니다

시스템 지침, 대화 기록, 검색 결과, 도구 설명도 모델이 처리할 입력이 될 수 있습니다. 화면에 보이는 마지막 질문만으로 비용과 길이를 계산하지 않습니다. 앱이 자동으로 덧붙이는 정보가 있는지도 살펴봅니다.

나란히 떠 있는 두 개의 청록빛 프리즘 — 토큰은 글자 수가 아닙니다의 원리를 설명하는 개념 삽화

컨텍스트 창의 의미

컨텍스트 창은 모델이 한 번의 처리에서 다룰 수 있는 범위와 관련됩니다. 입력과 출력의 한도 관계는 서비스별로 확인해야 합니다. 표시된 최대 길이까지 넣을 수 있다는 사실과 모든 부분을 정확히 활용한다는 것은 다른 주장입니다.

가중치는 대화마다 늘어나지 않습니다

일반적인 추론에서는 같은 모델의 가중치가 질문마다 새로 학습되는 것이 아닙니다. 장치 메모리가 늘어도 추가 학습이라고 볼 수 없습니다. 중간 계산과 캐시, 실행기의 메모리 확보 방식을 먼저 확인합니다.

한 줄로 나란히 선 청록빛 프리즘들 — 컨텍스트 창의 의미의 원리를 설명하는 개념 삽화

어텐션은 앞의 정보를 참조합니다

다음 토큰을 계산할 때 모델은 앞서 처리한 정보와의 관계를 이용합니다. 이를 매번 처음부터 모두 계산하면 중복 작업이 커집니다. 이 중 재사용할 수 있는 키와 밸류를 저장하는 것이 KV 캐시의 핵심 아이디어입니다.

키와 밸류는 무엇을 저장할까요?

키와 밸류는 모델 내부에서 계산한 표현입니다. 대화 문장을 그대로 보관한 텍스트 파일과 다릅니다. 다음 단계의 계산을 돕는 상태이며, 사용자가 열어 읽는 작업 메모나 벡터 데이터베이스와도 역할이 다릅니다.

여러 높이에 놓인 청록빛 프리즘들 — 어텐션은 앞의 정보를 참조합니다의 원리를 설명하는 개념 삽화

프리필 단계

입력 토큰을 처리하면서 이후 생성을 위한 상태를 준비하는 구간을 프리필이라고 부릅니다. 긴 입력은 이 단계의 지연을 늘릴 수 있습니다. 첫 답이 나오기까지의 시간과 답이 나오기 시작한 뒤의 속도를 분리해 관찰합니다.

디코드 단계

출력 토큰을 하나씩 생성하는 단계에서는 새 토큰의 상태가 추가됩니다. 캐시는 앞선 계산을 재사용하는 데 도움이 됩니다. 생성 길이도 자원 사용에 영향을 주므로 입력 길이만 맞춘 비교는 충분하지 않을 수 있습니다.

서로 맞물린 두 개의 투명 프리즘 — 프리필 단계의 원리를 설명하는 개념 삽화

길이와 캐시 크기의 관계

일반적인 전체 어텐션 캐시는 저장하는 토큰 수가 늘수록 커집니다. 층 수, KV 헤드 수, 헤드 차원, 자료형, 배치 크기도 관련됩니다. 정확한 메모리는 모델 구조와 실행기의 캐시 전략에 따라 달라집니다.

슬라이딩 윈도 등의 예외

일부 구조는 제한된 범위의 캐시를 유지하거나 다른 형태의 상태를 사용합니다. 따라서 모든 모델의 캐시가 최대 길이까지 똑같이 증가한다고 일반화하면 안 됩니다. 실행 프로그램이 제공하는 모델별 문서를 확인합니다.

공간에 흩어진 여러 청록빛 프리즘 — 길이와 캐시 크기의 관계의 원리를 설명하는 개념 삽화

동시 요청도 메모리를 사용합니다

한 대화가 짧더라도 여러 요청을 동시에 처리하면 각 요청의 상태가 자원을 차지할 수 있습니다. 배치와 캐시 공유, 메모리 배치 방식은 서버마다 다릅니다. 단일 사용자 실험 결과를 동시 서비스 용량으로 그대로 옮기지 않습니다.

캐시를 CPU로 넘기는 선택

일부 실행기는 캐시를 다른 메모리로 옮기거나 더 낮은 정밀도로 저장할 수 있습니다. 메모리를 절약하는 대신 전송과 변환 비용이 생길 수 있습니다. 지원 여부와 효과를 확인한 뒤 사용하는 선택지입니다.

청록빛 투명 판 조각의 배열 — 동시 요청도 메모리를 사용합니다의 원리를 설명하는 개념 삽화

모델 캐시와 프롬프트 캐싱

제품의 프롬프트 캐싱 기능은 반복 입력 처리의 비용과 지연을 줄이는 서비스 기능일 수 있습니다. 로컬의 KV 캐시와 연결되는 구현도 있지만 동일한 이름과 수명으로 가정하지 않습니다. 재사용 조건과 만료 조건은 제품 문서를 확인합니다.

실무 예시: 커진 위키를 통째로 넣기

매번 전체 위키를 넣는 앱은 자료가 늘면서 지연과 비용이 커질 수 있습니다. 문서 길이를 줄이면 사실이 누락될 수도 있습니다. 필요한 근거를 검색하는 방식과 전체 입력 방식을 같은 질문으로 비교하는 것이 다음 단계입니다.

공간에 흩어진 청록빛 결정 조각 — 모델 캐시와 프롬프트 캐싱의 원리를 설명하는 개념 삽화

실습 준비: 길이 단계 만들기

아래는 독자 실습이며 실제 측정 결과가 아닙니다. 민감정보 없는 문서로 짧음·중간·긴 입력을 만듭니다. 모델과 설정은 고정하고 각 입력의 실제 토큰 수를 기록합니다. 출력 요구도 가능한 한 동일하게 유지합니다.

기저 메모리 측정

다른 AI 작업의 점유를 확인하고 모델 로드 전후 상태를 남깁니다. 데스크톱 화면 자체도 GPU 메모리를 사용할 수 있습니다. 장치 총사용량을 모두 모델 탓으로 돌리지 말고, 동일 환경의 변화량과 피크를 함께 봅니다.

실험 기록 양식

조건입력·설정판정·측정값
변경 전 기준선실행 전 기록실행 후 기록
한 조건 변경바꾼 항목만 기록실행 후 기록
반복·확인 문제버전과 반복 횟수 기록실패 사례까지 기록

이 표는 빈 양식이며 측정값이나 성능 개선을 보고하는 자료가 아닙니다.

고리 위에 떠 있는 작은 청록빛 구체 — 실습 준비: 길이 단계 만들기의 원리를 설명하는 개념 삽화

입력 길이만 바꾸기

각 길이에서 같은 질문을 실행하고 첫 토큰 지연과 전체 지연을 남깁니다. 출력이 길어지면 생성 토큰 수를 함께 적습니다. 입력 내용 자체가 어려워진 효과를 줄이려면 확인할 핵심 문장은 동일하게 유지합니다.

생성 길이만 바꾸기

두 번째 실험에서는 입력을 고정하고 최대 출력 길이를 바꿉니다. 실제 생성량과 메모리 변화를 확인합니다. 제한 값이 높아도 모델이 일찍 멈출 수 있으므로 설정값과 실제 사용량을 혼동하지 않습니다.

고리 모양으로 이어진 투명한 사슬 — 입력 길이만 바꾸기의 원리를 설명하는 개념 삽화

기록 양식

모델·실행기 버전, 입력 토큰, 출력 토큰, 캐시 설정, 첫 토큰 지연, 완료 시간, 메모리 피크를 한 행에 기록합니다. 실패도 삭제하지 않습니다. 메모리 부족과 연결 오류는 원인이 다르므로 따로 분류합니다.

메모리 해제 확인

작업이 끝나도 실행기가 재사용하려고 공간을 잡아둘 수 있습니다. 사용자에게 보이는 메모리 점유만으로 누수라고 단정하지 않습니다. 해당 실행기의 정상 해제 기능과 실제 활성 요청 수를 확인하고, 다른 사람의 작업은 종료하지 않습니다.

고리 주변에 배치된 작은 기하 조각 — 기록 양식의 원리를 설명하는 개념 삽화

길이보다 필요한 정보

큰 컨텍스트를 쓸 수 있어도 질문에 필요한 근거가 빠지거나 묻히면 답이 틀릴 수 있습니다. 캐시 최적화는 정보 선택 문제를 대신 해결하지 않습니다. 용량 문제와 답변 품질 문제를 별도의 지표로 관리합니다.

핵심 정리

대화 중 늘어나는 메모리는 가중치 학습의 증거가 아닙니다. 일반적인 Transformer에서는 토큰별 KV 캐시와 실행 상태가 중요한 부분입니다. 다음 회차에서는 무엇을 남기고 무엇을 다시 찾아올지 설계합니다.

겹친 투명 판 사이에서 나오는 빛 — 길이보다 필요한 정보의 원리를 설명하는 개념 삽화

전체 강의 목차 · 이전 2회 · 다음 4회

출처

공식 문서·원 논문을 참고한 원리 설명입니다. 제품별 지원 범위는 실행 시점의 문서로 재확인하며, 실습 설계와 가상 사례는 이 강의의 예시입니다.


AI 도구의 도움으로 작성하고 공식 자료와 발행 규격을 확인했습니다. 삽화는 SVIL 로컬 AI 워크스테이션에서 생성한 신규·기존 개념 자산을 사용했습니다.


협업문의 : kuroicode@gmail.com
블로그 : https://blog.svil.dev/
홈페이지 : https://svil.dev/