LLM 추론의 효율적 프론티어
AI 업계에서 비용과 성능의 트레이드오프를 나타내는 '효율적 프론티어' 개념을 LLM 추론 엔지니어링에 적용한 글입니다. 지연시간과 처리량 간 균형을 잡는 기법(배치 크기, 병렬화 전략 등)과 프론티어 자체를 확장하는 기법을 구분해 설명하며, 실무 배포 최적화에 유용한 가이드입니다.
AI 업계에서 우리는 경제학자들에게 '효율적 프론티어(efficient frontier)'라는 용어를 빌려왔습니다. 이는 주로 모델의 비용과 성능 간 트레이드오프를 관리하는 것을 이야기할 때 사용합니다. 주어진 비용이나 크기에서 가장 높은 수준의 지능을 제공하는 모델을 '프론티어 모델'이라고 부릅니다.
효율적 프론티어는 자원이 제한된 환경에서 두 가치 있는 결과 사이의 트레이드오프를 고려할 때 최적 조합들의 범위를 보여줍니다.
추론 엔지니어링에도 효율적 프론티어가 존재합니다. 대부분 지연시간(latency)과 처리량(throughput, 비용을 결정) 간의 트레이드오프로 표현되지만, 품질을 처리량과 맞바꾸거나(양자화, 증류, 프루닝을 통해) 지능을 속도와 맞바꾸는(추론 수준 조정) 것도 가능합니다.
추론 엔지니어가 사용할 수 있는 기법에는 두 가지 유형이 있습니다:
- 두 요인 간 트레이드오프를 통해 배포를 효율적 프론티어 위에서 이동시키는 기법
- 주어진 배포의 프론티어 전체를 밀어내어, 가장 유익한 결과에 배분할 수 있는 전반적인 효율성을 높이는 기법
두 유형 모두 가치가 있습니다. 트레이드오프를 통해 프론티어 위의 어떤 지점이든 목표로 삼을 수 있는 것이 유용합니다. 사용자별 속도를 포기하면 배치 워크로드를 위한 고처리량, 저비용 파이프라인을 구축할 수 있습니다. 지연시간에 민감한 사용자가 높은 지불 의사를 가진 경우라면 처리량을 희생해 속도를 높이는 것이 합리적입니다. 그리고 물론 프론티어 전체를 밀어내는 것은 매우 유용합니다. 효율성을 더 확보하면 그 이득을 더 낮은 지연시간, 더 높은 처리량, 또는 둘의 조합에 배분할 수 있습니다.
본 글은 어떤 추론 엔지니어링 기법이 프론티어 위의 한 지점을 목표로 삼게 해주는지, 그리고 어떤 기법이 프론티어 전체를 확장시키는지 상세히 다룹니다. 이 글에서는 GLM-5.3이나 Kimi K3 같은 LLM을 에이전틱 코딩 용도로 실행하며 KV 캐시 재사용과 최적의 KV 인지 라우팅이 활성화되어 있다고 가정합니다.
트레이드오프를 관리하는 기법들
프로덕션에서 특정 목표를 달성하는 것은 종종 새로운 접근법을 발견하는 것보다 트래픽의 특성에 맞는 올바른 구성 조합을 찾는 것에 더 가깝습니다. 트레이드오프 관리 기법을 사용하면 효율적 프론티어 위에서 원하는 결과를 목표로 삼을 수 있습니다.
실제로 효율적 프론티어는 매우 들쭉날쭉합니다. 결과들 사이의 부드럽고 연속적인 선이 아니라, 작은 변화가 큰 영향을 미칠 수 있습니다. 이러한 분기점은 직관적이지 않은 경우가 많아 실험적 스윕(sweep)을 통해 발견해야 합니다.
배치 크기
지연시간과 처리량 간의 가장 명확한 트레이드오프는 배치 크기에서 나옵니다. 배치는 동시에 처리되는 요청의 수입니다. 토큰 수준의 연속 배칭(continuous batching) 덕분에 배치 시작을 기다리는 지연은 없지만, 설정된 배치 크기가 사용자별 지연시간과 전체 처리량을 결정합니다. 배치 크기가 작으면 사용자별 지연시간은 훌륭하지만 GPU당 생성되는 총 토큰 수가 적어 토큰당 비용이 상당히 높아집니다. 배치 크기를 늘리면 반대 효과가 나타납니다: 사용자별 지연시간은 나빠지지만 전체 처리량이 좋아져 비용이 낮아집니다.
병렬화 전략
오늘날의 LLM은 수천억에서 수조 개의 파라미터를 가지므로 여러 GPU에 분산되어야 합니다. GPU 간에 모델을 분할(병렬화)하는 방식은 지연시간 또는 처리량을 높일 수 있습니다.
병렬화는 대형 모델을 여러 GPU에 분산합니다. 지연시간에 민감한 배포에서는 텐서 병렬성(Tensor Parallelism, TP)을 높이는 데 집중하세요. TP는 비싼 all-to-all 통신이 필요하지만, 이러한 연산이 고대역폭 NVLink 상호연결에서는 빠르게 수행되므로 지연시간을 낮추는 데 효과적입니다.
전문가 병렬성(Expert Parallelism, EP)은 지연시간과 처리량 모두에 도움이 될 수 있습니다. 낮은 수준의 EP는 더 나은 지연시간과 관련되는 경우가 많고, GPU 전체 랙에 걸친 넓은 EP는 일반적으로 더 높은 처리량을 지원합니다.
처리량 개선을 위한 또 다른 병렬화 기법은 어텐션 데이터 병렬성(Attention Data Parallelism, ADP)입니다. 이 기법은 어텐션 레이어를 복제하여