2026년 8월 30일 일요일

친칠라 법칙 ⑨ — 형상도 스케일링 변수다: 깊이·너비·KV 캐시

스케일링 법칙은 오랫동안 형상(shape)에 무관하다고 여겨졌다. 파라미터 수만 같으면 층을 깊게 쌓든 넓게 펴든 손실이 비슷하다는 것이다. 손실만 보면 대체로 맞는 말이다. 그런데 청구서는 형상에 따라 몇 배씩 달라진다. 같은 파라미터 수여도 아키텍처에 따라 추론 레이턴시가 최대 3.5배 차이 난다.

깊이냐 너비냐 — 목적함수가 답을 바꾼다

이 논쟁이 오래 헷갈렸던 이유는 사람들이 서로 다른 목적함수를 최적화하면서 같은 질문을 한다고 믿었기 때문이다. 정리하면 이렇다.

  • 손실이 목적이면 깊이. 최적 깊이는 총 파라미터에 대해 로그로 증가한다. 이 기준으로 보면 GPT-3는 오히려 "크기에 비해 너무 깊었다"는 평가가 나오고, 1조 파라미터 모델의 최적 너비는 약 30K로 예측된다.
  • 레이턴시가 목적이면 너비. 층이 깊으면 토큰 하나를 만들 때 순차적으로 통과해야 하는 단계가 많아진다. 넓고 얕게 설계한 Morph-1B가 레이턴시를 1.8배 개선했다.
  • 온디바이스 품질이 목적이면 다시 깊이. 파라미터가 극도로 제한된 구간에서는 깊고 얇은 쪽이 유리하다는 게 MobileLLM 계열의 결론이다.

"깊이 vs 너비"에 보편적 정답은 없고, 무엇을 최소화하는지에 따라 답이 갈린다. 국내 모델의 실제 선택을 보면 대체로 층수를 보수적으로 잡는다 — EXAONE 4.0 32B가 64층 / hidden 5,120, K-EXAONE 236B가 48층, Solar-Open2가 48층이다.

긴 컨텍스트는 6ND를 깨고, 아키텍처가 되돌린다

③편에서 128K 컨텍스트에서는 어텐션 항이 파라미터 항의 133%까지 부풀어 6ND가 무너진다고 했다. 2026년의 대응은 모든 층에 완전한 어텐션을 두지 않는 것이다.

  • EXAONE 4.0 32B: 슬라이딩 윈도우(4K) : 글로벌 = 3:1. 네 층 중 하나만 전체를 본다.
  • K-EXAONE 236B: 12 × (SWA 3 + Global 1)로 같은 패턴을 48층에 반복.
  • Solar-Open2: [Softmax, Linear×3] × 1248층 중 12층만 KV 캐시를 유지하고, 위치 인코딩을 빼고(NoPE) 컨텍스트 1M을 지원한다.
  • Mamba-2 하이브리드(8B/3.5T, Mamba 43% + 어텐션 7% + MLP 50%): 12개 태스크 평균 +2.65점, 추론 생성 최대 8배. 다만 순수 SSM은 복사·문맥학습에서 열세라 어텐션을 조금 섞는 게 정답이었다.

KV 캐시가 곧 서빙 원가다

왜 이런 설계가 나오는지는 KV 캐시 크기를 직접 계산해 보면 즉시 이해된다. 공식은 이렇다.

KV 바이트 = 2 × 층수 × KV헤드 × head_dim × 정밀도 × 시퀀스 길이

EXAONE 4.0 32B 형상(64층, head_dim 128, KV 헤드 8, BF16)에 대입해 128K 세션 하나의 KV 캐시를 계산하면:

설정128K 세션 1개절감
GQA 없이 전 층 글로벌(MHA)171.8 GB기준
GQA 적용, 전 층 글로벌34.4 GB5.00배
EXAONE 4.0 실제(GQA + 3:1 하이브리드)9.4 GB18.3배

(필자 계산. EXAONE 4.0은 이미 LLLG 패턴, 즉 64층 중 글로벌 16 + 슬라이딩 윈도우 48로 구성돼 있다. 슬라이딩 층은 윈도우 크기만큼만 유지하므로 128K 구간에서는 기여가 작다.)

숫자가 말해 주는 게 명확하다. 아무 대책 없이 128K를 지원하면 세션 하나가 H100 두 장을 통째로 먹는다. GQA로 5배, 하이브리드 어텐션으로 다시 3.7배, 합쳐서 18배를 줄여야 겨우 실용 영역에 들어온다.

그래도 여유롭지는 않다. 80GB H100 한 장에 32B 모델을 올리고 남는 공간으로 128K 세션을 몇 개나 돌릴 수 있는지 계산하면:

  • 가중치를 BF16으로 올리면 세션 1개(가중치만 64GB)
  • 가중치를 FP8로 내리면 4개
  • 가중치와 KV를 모두 FP8로 하면 9개

④편에서 배치를 키워야 디코딩 MFU가 산다고 했는데, 롱컨텍스트 서비스에서는 배치를 9까지밖에 못 키운다는 뜻이다. 이게 롱컨텍스트 서빙 단가가 비싼 진짜 이유다. Solar-Open2가 48층 중 12층만 KV를 유지하는 설계(정확히 4.00배 절감)로 1M 컨텍스트를 여는 것도 같은 계산의 산물인데, 그마저 1M 세션 하나가 51.5GB라 모델 카드가 H200 4장을 요구한다.

④편에서 디코딩이 메모리 대역폭 바운드라고 했는데, 그 병목을 완화하는 유일한 방법이 배치를 키우는 것이고, 배치 크기의 상한을 정하는 게 바로 이 KV 캐시다. 즉 형상 설계 = 배치 상한 설계 = 서빙 단가 설계다. 아키텍처 결정이 곧 원가 결정인 셈이다.

롱컨텍스트는 마지막 10%에 붙인다

학습 쪽 대응은 더 단순하다. 긴 컨텍스트로 처음부터 학습하지 않는다.

  • 네이버 HyperCLOVA X는 학습의 90%를 4,096으로 하고 마지막 10%만 32,768로 돌렸다.
  • DeepSeek-V3의 컨텍스트 확장 단계는 119K GPU-시간, 약 $238K으로 전체 학습비의 4.3%에 불과하다.
  • K-EXAONE도 8K → 32K → 256K의 2단계 확장을 쓴다.

즉 롱컨텍스트는 사전학습 예산의 문제가 아니라 미세조정 단계의 문제로 취급하는 것이 업계 표준이 됐다. 견적을 짤 때 컨텍스트 길이 때문에 겁먹을 필요는 없다는 뜻이다 — 진짜 비용은 학습이 아니라 서빙 쪽 KV 캐시에서 발생한다.

MTP — 데이터가 부족한 D축을 접는 트릭

마지막으로 국산 모델의 기본 사양이 된 장치 하나. MTP(Multi-Token Prediction)는 다음 토큰 하나가 아니라 여러 개를 동시에 예측하도록 학습하는 방식이다. 두 가지 효과가 있다.

  • 학습 신호가 조밀해진다 — 같은 토큰에서 더 많은 학습 신호를 뽑아낸다. 데이터가 부족한 언어에 유리한 성질이다.
  • 추론에서 speculative decoding으로 재활용된다 — DeepSeek-V3 기준 두 번째 토큰의 수용률이 85~90%다. 사실상 디코딩 속도가 1.8배 가까이 빨라진다.

K-EXAONE 750B와 236B가 둘 다 MTP 1층을 채택했다. 한국어처럼 D축이 막힌 상황에서 아키텍처로 데이터 부족을 일부 상쇄하는 선택이고, 동시에 서빙 속도까지 얻는다. ⑦편의 토크나이저와 함께, 한국 팀이 구조적으로 취해야 할 두 번째 무료 점심에 가깝다.

정리

  • 형상은 손실에는 둔감하고 원가에는 민감하다. 파라미터 수가 같아도 레이턴시가 최대 3.5배 차이 난다.
  • 목적함수를 먼저 적어라. 손실이면 깊이, 레이턴시면 너비, 온디바이스 품질이면 다시 깊이.
  • KV 캐시를 설계 단계에서 계산하라. GQA와 하이브리드 어텐션 없이는 128K가 세션당 164GB다. 이게 배치 상한을, 배치 상한이 서빙 단가를 정한다.
  • 롱컨텍스트는 학습 마지막 10%에. 사전학습 예산 문제가 아니다.
  • MTP는 D가 부족한 팀에게 특히 남는 장사다.

여기까지가 설계다. 이제 청구서를 볼 차례다. 우리가 정한 N, D, 형상이 정확히 얼마짜리인가.

— 친칠라 법칙 시리즈 ⑨ / 다음 글: 6ND에서 청구서까지 — FLOPs를 원화로 바꾸는 산수

댓글 없음:

댓글 쓰기

국정원의 댓글 공작을 지탄합니다.

독파모 평가 해부 ⑫ (완결) — 청구서: 방어 가능한 평가는 첫해 2,580만 원이다

마지막 편이다. 열한 편의 비판을 한 장의 설계도로 바꾼다. 우리 회사(그리고 어느 회사든)가 그대로 실행할 수 있는 평가 프로토콜과 그 원화 가격표다. 환율 1,380원/USD, 전부 가정을 명시한 필자 계산이며, 국내 어노테이션 업체들이 문항당 단...