← AI Engineer
추론 서빙 · 파레토 최적화

추론 파레토 경계를 미는 법 — 나누기만 해도 GPU당 처리량이 두 배

답을 만드는 두 단계를 다른 기계로 갈라 놓는 것만으로 같은 H100 열여섯 장에서 고정 지연 기준 GPU당 처리량이 최대 두 배가 된 사례. 그것이 안 통하는 구간까지 함께 밝히는 대목, 작은 모델을 서너 번 다시 물으면 한 판 큰 모델과 품질이 엇비슷해지면서 값은 더 싸다는 대비, 그리고 도구를 기다리는 동안 캐시를 옆으로 옮겼다 되돌리는 요령이 나옴.

Kyle Kranen NVIDIA발표 2025-08-2620분 25초AI Engineer

한줄 코멘트. 품질·지연·값 셋 중에서 내 앱이 서야 할 한 점을 먼저 정하라는 것이 이 발표의 틀이다. 값나가는 대목은 자기 기법이 안 통하는 구간을 함께 그려 놓은 것 — 입력이 짧으면 거의 안 빨라지고, 아주 느리거나 아주 빠른 양 끝에서는 나누지 않은 쪽이 도로 낫다고 말한다.

1. 배포되느냐를 정하는 셋

큰 회사에서 가장 큰 추론 판을 맡았고 지금은 그 회사가 연 오픈소스 프로젝트를 이끈다는 사람이 발표한다. 분기 클라우드 청구서가 수천만 달러대였다고 밝힌다.

배포할 수 있는지를 정하는 것으로 셋을 든다. 품질, 지연, 값이다. 지연은 사람이 만족하거나 로봇처럼 안전 기준을 맞출 만큼 빠른지이고, 값은 요청 하나를 마진에 맞게 처리할 수 있는지다.

2. 경계 위의 한 점만 필요하다

셋을 견주는 방법으로 *파레토 경계를 든다. 한 축은 GPU 한 장이 초당 내놓는 양(값에 해당)이고 다른 축은 사용자가 체감하는 속도다.

여기서 실무적인 한 줄이 나온다. 경계 전체가 필요한 것이 아니라 그 위의 한 점만 필요하다. 내 앱이 서야 할 지연과 품질을 정하고 거기서 값을 최소로 만드는 것이 전부라는 것이다.

예를 셋 든다. 개인 맞춤 치료제를 찾는 일이라면 지연도 값도 사실상 문제가 아니다. 편집기에서 눌러 쓰는 자동완성은 바로 나와야 한다. 코드를 뒤에서 고쳐 두는 쪽은 지연보다 품질과 값이 걸린다.

흔한 기법이 셋에 어떻게 작용하나

기법품질지연값
자리수를 줄여 담기—빨라진다싸진다
찾아와 붙이기올라간다느려진다비싸진다
더 생각하게 하기올라간다느려진다비싸진다
나눠 얹는 방식 바꾸기달라질 수 있다크게 달라진다크게 달라진다

이것들을 겹쳐 쓸 수 있다고 말한다. 찾아와 붙여 품질을 올리고, 그 위에 자리수를 줄여 속도를 되찾는 식이다.

3. 채우는 일과 뽑는 일을 구분한다

채우는 일과 뽑는 일

한 번의 답에 성격이 다른 두 일이 있다

채우는 일들어온 말을 한 번에 훑고계산이 발목을 잡는다
뽑는 일한 자씩 이어 내놓고메모리가 발목을 잡는다
한 기계에 섞여 있으면 둘이 서로 순서를 다툰다. 갈라 놓으면 그 다툼이 없어지고 각자 필요한 만큼만 기계를 붙일 수 있다는 것이 이 절의 논지다.

바탕은 *KV 캐시다. 토큰마다 나오는 값을 담아 두어 이어 만들 때 처음부터 다시 안 만들게 하는 것이다.

그래서 답 만들기가 두 단계다. 캐시를 채우는 일과 새 토큰을 뽑아 내놓는 일이다.

이 둘을 다른 기계 무리에 나눠 두는 것이 발표가 미는 기법이다. 근거가 둘이다. 하나는 성격이 달라서다 — 채우는 쪽은 계산에, 뽑는 쪽은 메모리에 발목이 잡힌다. 다른 하나는 순서 다툼이다. 한 기계에 섞이면 채우려는 요청과 뽑으려는 요청이 서로 순서를 다툰다.

4. 얻는 것과 못 얻는 것

수가 나온다. 같은 H100 열여섯 장에서 지연을 한 점에 고정해 놓고 보면 GPU 한 장이 내놓는 양이 최대 두 배가 된다. 곧 값이 절반이다.

정직한 대목이 바로 붙는다.

안 통하는 자리

언제어떻게 되나
넣는 말이 짧을 때순서 다툼 자체가 적어 거의 안 빨라진다
아주 느리고 많이 뽑는 구간나누지 않은 쪽이 도로 따라잡는다
아주 빠르고 적게 뽑는 구간여기서도 나누지 않은 쪽이 조금 낫다

그러면서 사람이 쓰는 앱은 대개 초당 20~200 토큰 언저리를 신경 쓴다며, 그 구간이 이 기법이 듣는 자리라고 말한다.

값도 밝힌다. 나누면 캐시를 기계 사이로 옮겨야 하고, 채우는 쪽과 뽑는 쪽의 머릿수를 맞춰야 한다. 어긋나면 한쪽이 놀게 된다. 그 균형을 다시 잡는 일이 비싸고 어렵다고 말한다 — 각 단계를 어떻게 나눠 얹었는지에 따라 달라져서 경우의 수가 넓기 때문이다.

길잡이도 필요해진다. 이미 채워 둔 것과 겹치는 정도를 크게 잡으면서 그 기계에 이미 걸린 부하도 함께 보는 쪽으로 보낸다. 그리고 판이 클수록 담아 둔 것이 많아져 다시 채울 일이 줄어든다고 말한다. 이 길잡이는 하는 일 자체를 안 바꾸므로 품질에는 영향이 없다.

5. 작은 모델에게 여러 번 묻는다

작은 모델에게 여러 번 묻는다

작은 것에 다시 묻는다서너 번쯤
품질이 따라붙는다한 판 큰 것과 엇비슷해진다
그래도 더 싸다큰 것에 한 번 묻는 것보다
발표가 든 대비다. 다만 어느 과제에서 잰 값인지가 이 발표에 안 나온다.

다른 축은 다시 묻기다.

크기가 다른 모델 셋을 놓고 잰 그림을 든다. 서너 번 다시 물으면 작은 것이 한 판 큰 것과, 그 한 판 큰 것이 또 그 위와 품질에서 엇비슷해진다.

값이 뒤집히는 자리가 여기다. 여러 번 물어도 큰 것에 한 번 묻는 것보다 싸다. 그러니 품질을 고정해 놓고 보면 작은 것을 여러 번 부르는 쪽이 더 빠르고 더 싸다.

붙는 요령도 있다. 다시 묻기를 바깥에서 하지 말고 길잡이 쪽에서 만들면 오가는 왕복이 줄어 지연이 낫다. 그리고 되풀이하는 일이라는 것을 길잡이와 일정 잡는 쪽이 알게 하면 이득이 더 붙는다.

도구를 부를 때의 요령도 든다. 도구가 도는 시간이 어느 정도 정해져 있으면, 밀려나기 전에 캐시를 옆 메모리로 옮겼다가 끝날 때쯤 도로 올려 둔다.

6. 흔들리니 실시간으로 맞춘다

마지막 축이 변동이다.

쓰는 사람들의 씀씀이가 달라지면 채우는 쪽과 뽑는 쪽의 수요 비율이 바뀐다. 그러면 애써 맞춰 둔 균형이 어긋난다. 이것은 여러 곳이 낸 자료로 실제로 확인된 것이라고 말한다.

그래서 두 갈래를 실시간으로 늘리고 줄여야 한다. 그리고 못 박는다 — 이것은 그냥 좋은 것이 아니라 나눠 두는 기법이 제 힘을 내려면 반드시 있어야 하는 것이다.

7. 발표가 밝히지 않은 것

두 배가 어느 조건에서 나온 값인지 얇다. 어떤 입력·출력 길이에서, 어느 지연 점에서 잰 것인지가 없다. 「최대」라고 붙여 놓았을 뿐이다.

모델 이름이 어긋난다. 예로 들 모델을 하나로 말해 놓고 뒤의 그림에는 다른 크기 셋이 나온다. 자막이 뭉갠 자리라 어느 것으로 잰 값인지가 원문에서 갈린다.

다시 묻기의 과제가 하나뿐이다. 어느 자료로 쟀는지가 한 번 나오고, 다른 종류의 일에서도 그런지가 없다. 서너 번이면 된다는 것도 그 과제에서의 값이다.

옮기는 값이 없다. 캐시를 기계 사이로 나르는 데 드는 시간과 대역폭이 나오지 않는다. 옆 메모리로 옮겼다 되돌리는 요령도 마찬가지다.

균형을 어떻게 잡는지가 없다. 어렵고 비싸다고만 하고 어떤 기준으로 머릿수를 정하는지가 안 나온다.

전부 자기네 도구 위의 이야기다. 다른 서빙 방식과 나란히 놓고 잰 자리가 없다.

용어

*파레토 경계
하나를 더 얻으려면 다른 하나를 반드시 내줘야 하는, 더 밀 수 없는 선
*KV 캐시
앞서 훑은 토큰의 계산 결과를 담아 두어 다시 안 만들게 하는 저장 공간