토큰 하나당 KV cache 크기는 어텐션 방식마다 계산식이 다릅니다. MHA 와 GQA 와 MQA 는 K 와 V 를 각각 저장하지만, MLA 는 저차원 잠재 표현 하나만 저장하므로 계산식 자체가 달라집니다. 이 차이를 모델 프로파일에 반영해 두고 시작합니다.
모델 프로파일과 가속기 사양과 메모리 계층표 세 가지를 놓고 워크로드를 입력하면, 가중치와 KV cache 용량, 필요한 가속기 대수, 그 가운데 KV cache 때문에 증가한 대수, roofline 상의 병목 종류, 초과분을 어느 계층에 배치할 수 있는지가 산출됩니다.
값보다 중요한 것은 병목의 종류가 고객마다 다르다는 사실입니다. 같은 엔진에 MLA 계열의 대형 모델을 입력하면 KV cache 와 가중치의 비율이 0.86배로 역전되어 병목이 KV cache 가 아니라 가중치가 됩니다. 그 고객에게 계층 분리를 제안하면 초점을 잘못 읽은 것이 됩니다.


