AI VIDEO BRIEFING
LLM 추론 비용의 구조 — 배치 크기와 KV 캐시, 메모리 대역폭이 AI 가격을 정하는 방식
칩 스타트업 MatX의 CEO가 칠판 강의로 프런티어 LLM의 학습과 추론 구조를 직접 계산해 보인다. 배치 크기와 KV 캐시, 메모리 대역폭이 응답 속도와 API 가격을 어떻게 결정하는지 수식으로 짚는다.

핵심 메시지
쉽게 이해하기
이 영상은 인터뷰 진행자 드워케시 파텔이 칩 스타트업 MatX의 CEO 라이너 포프를 초대해 진행한 칠판 강의다. 포프는 이전에 구글에서 TPU 아키텍처를 다뤘고, 이번에는 프런티어 대규모 언어 모델이 클러스터 위에서 어떻게 학습되고 서비스되는지를 수식으로 풀어 보인다. 진행자는 자신이 MatX의 엔젤 투자자임을 미리 밝혔다.
출발점은 일상적인 질문이다. 왜 어떤 서비스는 6배의 요금을 받고 2.5배 빠른 속도로 토큰을 흘려보낼 수 있을까. 포프의 답은 배치 크기다. 모델을 한 번 돌릴 때 GPU는 전체 가중치를 메모리에서 읽어와야 하는데, 이 비용은 동시에 처리하는 사용자 수로 나뉜다. 한 명만 처리하면 비용이 수백 배 나빠지고, 많이 묶을수록 토큰당 원가는 연산 시간이 정하는 하한선에 수렴한다.
강의의 뼈대는 이른바 루프라인 분석이다. 추론에 걸리는 시간은 '배치 크기 곱하기 활성 파라미터 수를 칩의 연산 성능으로 나눈 값'과 '전체 파라미터를 메모리 대역폭으로 나눈 값에 KV 캐시를 읽는 시간을 더한 값' 중 큰 쪽이다. 여기서 KV 캐시란 지금까지 등장한 토큰들에 대해 모델이 만들어 둔 내부 표현으로, 새 토큰이 과거를 참조하는 어텐션 과정에서 계속 읽어야 하는 데이터다.
이 두 항이 같아지는 지점을 풀면 최적 배치 크기가 나온다. GPU의 연산 성능을 메모리 대역폭으로 나눈 무차원 상수가 대체로 300 근처이고, 여기에 전체 전문가 중 몇 개를 쓰는지를 나타내는 희소성 비율을 곱하면 된다. 딥시크처럼 256개 전문가 중 32개를 활성화하는 모델이라면 대략 2,000개 남짓의 시퀀스를 한 배치로 묶는 셈이다. 포프는 이를 '20밀리초마다 출발하는 기차'에 비유했다. 준비된 요청은 타고, 늦으면 다음 편을 기다린다.
후반부에서는 공개된 API 가격표를 거꾸로 읽어 내부 구조를 추정한다. 특정 모델이 20만 토큰을 넘기면 요금이 50% 오르는 것은 그 지점에서 메모리 시간이 연산 시간을 앞지르기 때문이며, 입력보다 출력이 몇 배 비싼 것은 토큰을 한 개씩 만들어내는 디코드 단계가 메모리 대역폭에 심하게 묶여 있다는 신호로 읽힌다. 캐시 보관 옵션이 5분과 1시간으로 나뉘는 것 역시 어떤 저장 계층에 데이터를 두는지를 짐작하게 하는 단서로 다뤄진다.
주요 인사이트
- 동시 사용자를 많이 확보하는 것 자체가 원가 경쟁력이다. 배치를 채우지 못하면 같은 하드웨어로도 토큰당 비용이 수백 배 나빠질 수 있어, 규모가 곧 단가로 이어진다.
- 최적 배치 크기가 모델 규모가 아니라 희소성에만 좌우된다는 점은 의외의 결과다. 다만 이를 초당 토큰 수로 환산하면 약 12만 8천 토큰이 되는데, 강연에서 언급된 대형 서비스의 전 세계 트래픽이 초당 수억 토큰 수준이라는 점을 감안하면 경쟁권에 들어가려면 그 1,000분의 1 규모는 소화해야 한다는 뜻이 된다.
- 전문가 혼합(MoE) 구조는 토큰이 어느 GPU로든 갈 수 있는 전면 통신을 요구한다. 랙 안의 고속 연결은 랙 바깥 연결보다 대략 8배 빠르기 때문에, 한 랙의 크기가 사실상 전문가 레이어의 크기 상한이 된다.
- 랙을 더 키우지 못하는 이유가 케이블을 꽂을 물리적 공간, 무게, 전력, 냉각 같은 지극히 현실적인 제약이라는 대목은 소프트웨어 관점에서는 잘 보이지 않는 부분이다.
- 학습과 추론에 드는 비용이 비슷해지는 지점이 최적이라는 휴리스틱을 적용하면, 한 모델이 서비스 기간 동안 뱉어내는 토큰 총량이 사전 학습에 쓴 토큰 총량과 비슷한 규모가 된다는 계산이 나온다.
자주 묻는 질문
돈을 더 내면 왜 더 빨리 응답을 받을 수 있나요?
묶어서 처리하는 요청 수, 즉 배치 크기를 줄이면 개별 응답은 빨라지지만 모델 가중치를 읽어오는 비용을 나눌 대상이 줄어 토큰당 원가가 올라갑니다. 그 늘어난 원가를 요금으로 받는 구조입니다. 다만 지연 시간에는 하한이 있습니다. 전체 파라미터를 메모리에서 한 번 읽어오는 시간보다 빨라질 수는 없기 때문에, 돈을 100배 더 낸다고 무한정 빨라지지는 않습니다.
반대로 느리게 받는 대신 훨씬 싸게 쓰는 '저속 모드'는 왜 없나요?
비용 곡선에는 하한선이 있기 때문입니다. 배치를 키워 가중치 읽기 비용을 충분히 분산하고 나면 남는 것은 연산 시간인데, 이 부분은 요청마다 고유해서 더 나눌 수가 없습니다. 오래 기다린다고 해서 그 아래로 내려가지 않는다는 것이 강연의 설명입니다.
문맥 길이가 몇 년째 크게 늘지 않는 이유는 무엇인가요?
연산량이 아니라 메모리 대역폭과 용량이 걸림돌이기 때문입니다. 문맥이 길어질수록 매 토큰마다 읽어야 하는 KV 캐시가 선형으로 늘어나는데, 연산 쪽 증가분은 기울기가 훨씬 완만합니다. 희소 어텐션이 이 부담을 상당히 줄여 주지만, 너무 희소하게 만들면 품질이 떨어지기 때문에 무한한 해법은 아니라고 봤습니다.
모델 크기가 최근에야 크게 늘어난 이유는 무엇인가요?
한 덩어리로 묶여 고속 통신하는 GPU 집합, 즉 스케일업 도메인이 커진 것이 배경으로 지목됩니다. 이전 세대에서는 이 집합의 메모리가 수백 기가바이트 수준이었지만 최근 세대에서는 수십 테라바이트 규모가 되면서 훨씬 큰 모델과 KV 캐시를 함께 담을 수 있게 됐습니다. 강연에서는 용량보다도 여러 GPU가 동시에 가중치를 읽어 들이며 확보되는 메모리 대역폭이 더 중요한 이유로 꼽혔습니다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗