모델 서빙Model Serving

만들어 둔 모델을 여럿이 쓰게 내놓는 일

핵심 정리
  • 모델 서빙은 학습이 끝난 모델을 컴퓨터에 올려 두고, 들어오는 요청마다 답을 돌려주는 운영 일이에요.
  • 모델 파일이 있다고 바로 쓸 수 있는 게 아니에요. 올려 두고 준비시키는 시간이 따로 필요해요.
  • 요청이 몰리면 대기줄이 생겨요. 늘어난 만큼 처리하는 자리를 늘리고, 한산해지면 다시 줄여요.
  • 한 번에 여럿을 묶어서 처리하면 전체 처리량은 늘지만, 묶이기를 기다리는 만큼 한 사람의 응답은 늦어져요.
  • 새 판으로 바꿀 때는 한꺼번에 갈지 않아요. 일부에만 먼저 태워 보고 문제가 없으면 넓혀요.
목차

1비유로 이해하기

새 버스가 차고지에 들어왔다고 아무나 탈 수 있는 건 아니에요. 노선에 넣고, 시각표를 짜고, 첫차 전에 시동을 걸어 두어야 그제야 사람이 타요. 차를 만드는 일과 손님을 태우는 일은 아예 다른 일이에요.

모델 서빙이 이 배차예요. 학습을 마친 모델은 차고지에 세워 둔 차와 같아서, 컴퓨터에 올려 준비를 시켜야 요청을 받을 수 있어요. 출퇴근 시간에 차를 늘리듯 사람이 몰리면 처리하는 자리를 늘리고, 한산하면 줄여요.

한 대가 고장 나도 노선이 멈추면 안 되니 예비차를 세워 두고, 새 차로 바꿀 때도 한 대씩 슬쩍 끼워 넣어요.

2자세히 알아보기

차고지에 세워 두면 아무도 못 타요

모델을 만드는 일과 내놓는 일은 담당이 다를 만큼 성격이 달라요. 학습은 한 번 크게 치르는 공사에 가깝고, 서빙은 매일 같은 시각에 차를 내보내는 운영이에요. 학습이 끝나 파일이 나왔다는 건 차가 완성되었다는 뜻일 뿐이에요.

요청을 받으려면 모델을 계산 장치의 메모리에 통째로 올려 두어야 해요. 이 준비에 걸리는 시간이 짧지 않아서, 요청이 올 때마다 올렸다 내렸다 하면 답이 한참 늦어요. 그래서 대개는 켜 둔 채로 기다리게 해요. 오래 안 쓰던 자리에서 첫 요청이 유난히 느린 건 그때 시동을 걸고 있어서예요.

켜 두는 동안에는 아무도 쓰지 않아도 자리값이 나가요. 얼마나 켜 둘지, 밤에는 꺼 둘지 같은 결정이 곧바로 비용이 되는 이유예요.

몰리는 시간에는 차를 늘려요

한 자리가 한 번에 처리할 수 있는 요청 수에는 한계가 있어요. 그 한계를 넘어 요청이 들어오면 앞사람 계산이 끝날 때까지 뒷사람은 줄에서 기다려요. 이용자가 느끼는 "오늘따라 느리다"는 대부분 계산이 느려진 게 아니라 줄이 길어진 거예요.

그래서 서빙에는 몰리는 만큼 자리를 늘리고 한산해지면 줄이는 장치를 붙여요. 다만 자리를 새로 여는 데도 준비 시간이 걸려서, 갑자기 몰리면 늘어나는 속도가 줄이 자라는 속도를 못 따라가요. 미리 몇 자리를 데워 두는 이유예요.

한 대에 여럿을 태워요

요청을 하나씩 처리하는 것보다 여러 개를 묶어서 한 번에 계산하는 편이 훨씬 효율이 좋아요. 계산 장치가 한꺼번에 많은 일을 처리하도록 만들어져 있어서, 한 사람만 태우고 출발하면 자리가 비는 셈이 돼요.

대신 묶으려면 잠깐 기다려야 해요. 이 기다림이 길수록 한 사람이 느끼는 응답은 늦어져요. 전체를 많이 처리하는 쪽과 한 사람에게 빨리 답하는 쪽은 서로 맞바꾸는 관계라, 서비스 성격에 따라 어디에 무게를 둘지 정해요. 실시간으로 말이 오가는 대화라면 기다림을 줄이고, 밤새 문서를 훑는 일이라면 묶음을 키워요.

새 판은 한 대씩 끼워 넣어요

모델을 새 판으로 바꿀 때 모든 자리를 한꺼번에 갈아 치우면, 문제가 있어도 되돌릴 틈이 없어요. 그래서 자리 몇 개에만 새 판을 올려 일부 요청을 태워 보고, 답의 품질과 속도를 지켜본 뒤 넓혀요. 이상하면 그 자리만 옛 판으로 되돌리면 돼요.

옛 판을 한동안 함께 세워 두기도 해요. 답의 말투나 형식이 바뀌면 그 답을 받아 쓰던 프로그램이 함께 흔들리기 때문에, 옮겨 갈 시간을 주는 거예요.

차고지를 어디에 둘까요

가장 흔한 방식은 서비스 회사가 차고지를 맡고, 쓰는 쪽은 요청만 보내는 거예요. 자리를 늘리고 줄이는 일, 밤에 고장 난 차를 갈아 끼우는 일을 맡기는 대신 사용한 만큼 값을 내요.

자료를 밖으로 내보내면 안 되거나, 늘 같은 양을 꾸준히 쓰는 곳은 직접 차고지를 두기도 해요. 요즘은 작은 모델을 아예 사용자 기기나 브라우저에 올려 두고 돌리는 방식도 쓰여요. 이때는 차고지가 사람마다 하나씩 생기는 셈이라 대기줄 걱정은 사라지지만, 처음 내려받는 시간과 기기 성능이 새로운 벽이 돼요.

3조금 더 정확하게

서빙에서 가장 자주 걸리는 병목은 계산 속도보다 메모리예요. 모델은 통째로 메모리에 올라가 있어야 하고, 대화가 길어지면 그 대화를 붙들고 있는 자리도 함께 커져요. 자리 하나가 동시에 받을 수 있는 요청 수가 정해지는 것도 대개 이 메모리 때문이에요. 그래서 모델을 가볍게 줄여 올리거나, 자주 나오는 답을 미리 두고 재사용하는 방법을 함께 써요.

비유가 어긋나는 지점도 있어요. 버스는 정원이 눈에 보이게 정해져 있지만, 서빙 자리의 정원은 요청 길이에 따라 그때그때 달라져요. 버스는 정해진 노선만 돌지만 같은 모델은 온갖 요청을 다 받아요. 무엇보다 버스는 승객을 옮기면 일이 끝나는데, 서빙은 답을 돌려준 뒤에도 속도와 오류를 계속 지켜보며 자리를 조절하는 일이 이어져요. 잘 돌아가는 서빙일수록 쓰는 사람 눈에는 아무 일도 일어나지 않는 것처럼 보여요.

4직접 해보기

5흔한 오해

  • 학습이 끝나면 바로 쓸 수 있다고 생각하기 쉽지만, 실제로는 올려 두고 지키는 운영이 따로 있어야 사람들이 쓸 수 있어요.

  • 응답이 느린 건 모델이 느려서다라고 여기기 쉽지만, 실제로는 앞에 늘어선 대기줄이나 아직 준비되지 않은 자리 때문인 경우가 더 많아요.

  • 서빙은 학습보다 가벼운 일이다라고 생각하기 쉽지만, 실제로는 하루 종일 켜 둔 채 돌아가기 때문에 오래 쓰면 들어가는 힘이 더 커지기도 해요.

7한 줄 요약

그러니까모델 서빙은 만들어 둔 모델을 노선에 넣어 두는 배차 같은 일이라, 얼마나 좋은 모델인지보다 얼마나 끊기지 않고 제때 답하는지가 관건이에요.

잘못된 내용이나 더 좋은 비유가 있나요? 수정 제안 보내기 · 마지막 수정2026-09-02