실시간 추론Real-Time Inference

매 순간 정해진 시간 안에 판단을 끝내는 일

핵심 정리
  • 실시간 추론은 잘 맞히는 것만이 아니라 정해진 시간 안에 끝나느냐가 함께 걸린 문제예요.
  • 늦게 나온 정답은 틀린 답과 다름없어요. 그 사이에 화면은 이미 다음 장면으로 넘어가요.
  • 한 장을 처리하는 시간이 장면이 들어오는 간격보다 짧아야 밀리지 않아요.
  • 시간을 못 맞추면 장면을 건너뛰거나 더 가벼운 방식으로 바꿔 시간을 벌어요.
  • 서버까지 오가는 시간도 예산에 들어가요. 그래서 기기 안에서 계산하는 쪽을 고르기도 해요.
목차

1비유로 이해하기

자동문 앞으로 걸어가면 문이 스르륵 열려요. 센서가 다가오는 것을 알아보고, 모터가 돌고, 문짝이 옆으로 밀려나는 동안에도 사람은 계속 걸어오고 있어요. 이 모든 일이 사람이 문에 닿기 전에 끝나야 해요.

문이 아무리 정확하게 판단해도 늦으면 소용없어요. 문 앞에서 한 번 멈칫한 뒤에 열리는 문은 고장 난 문으로 느껴져요. 답이 맞았는지보다 제때 나왔는지가 먼저인 자리예요.

그래서 자동문은 조금 일찍, 조금 덜 까다롭게 열어요. 그냥 지나가는 사람 때문에 괜히 열리는 일을 감수하고서라도 늦지 않는 쪽을 고르는 거예요.

2자세히 알아보기

시간 예산이 먼저 정해져요

실시간이라는 말에는 정해진 숫자가 없어요. 용도가 그 숫자를 정해요. 웹캠 화면에 표시를 얹는 일이라면 1초에 서른 장쯤 들어오니 한 장에 주어진 시간은 그 간격 하나예요. 이 안에 읽고 판단하고 그리는 일까지 다 들어가야 해요.

말에 반응하는 비서라면 기준이 훨씬 느슨해요. 사람이 답을 기다려 주는 시간이 있으니까요. 반대로 빠르게 지나가는 물건을 검사하는 자리라면 훨씬 빡빡해요. 같은 모델이라도 어디에 쓰느냐에 따라 실시간이 되기도 하고 안 되기도 해요.

예산에는 계산 시간만 들어가는 게 아니에요. 카메라에서 그림이 넘어오는 시간, 크기를 맞추는 시간, 결과를 화면에 그리는 시간이 모두 같은 주머니에서 나가요. 모델만 빨라도 전체가 늦을 수 있어요.

한 번 밀리면 눈덩이처럼 커져요

한 장에 주어진 시간을 조금만 넘겨도 문제가 커져요. 처리하는 동안 다음 장면이 들어와 줄을 서고, 그다음 장면이 또 들어와요. 처리 속도가 들어오는 속도를 못 따라가면 줄은 계속 길어지고, 화면에 보이는 결과는 점점 옛날 장면의 결과가 돼요.

몇 초만 지나도 손을 흔든 뒤 한참 있다가 표시가 따라오는 이상한 상태가 돼요. 그래서 실시간으로 돌리는 프로그램은 줄을 쌓지 않아요. 밀리는 순간 중간 장면을 그냥 버려요. 30장 중 열 장만 처리하더라도 지금 장면을 보는 쪽이 훨씬 나으니까요.

건너뛴 장면 때문에 표시가 조금 뚝뚝 끊겨 보여도, 늦은 결과보다는 나아요. 실시간 처리에서 버리는 일은 실패가 아니라 정상 동작이에요.

시간을 버는 방법들

가장 먼저 손대는 곳은 입력 크기예요. 그림을 절반 크기로 줄이면 봐야 할 점의 수가 크게 줄어요. 얼굴이 화면을 꽉 채우는 용도라면 작은 그림으로도 충분해요.

다음은 모델 자체를 가벼운 것으로 바꾸는 일이에요. 같은 일을 하는 여러 크기가 나와 있어서, 조금 덜 정확하지만 훨씬 빠른 쪽을 고를 수 있어요. 숫자를 다루는 자릿수를 줄여 계산을 가볍게 만드는 방법도 함께 써요.

일을 나눠 하는 방법도 있어요. 무거운 판단은 몇 장에 한 번만 하고, 그사이 장면들은 앞 결과를 옮겨 가며 따라붙게 하는 식이에요. 매 장면마다 처음부터 다시 찾지 않아도 되니 예산이 크게 남아요.

평균이 아니라 최악을 봐요

"평균 처리 시간"이라는 숫자는 실시간에서 믿을 게 못 돼요. 스무 장은 빠르게 처리하다가 한 장에서 갑자기 오래 걸리면 그 순간 화면이 튀고, 사람은 그 한 번을 기억해요. 평균은 멀쩡한데 쓰기에는 불편한 상태가 흔해요.

그래서 가장 느렸던 쪽 몇 퍼센트를 따로 봐요. 다른 프로그램이 잠깐 끼어들거나, 메모리를 새로 잡거나, 기기가 뜨거워져 속도를 줄일 때 이런 튐이 생겨요. 미리 자리를 잡아 두고 매번 같은 크기로 처리하게 만들면 튐이 줄어요.

어디서 계산하느냐가 크게 갈라요

계산을 멀리 있는 서버에 맡기면 힘센 장비를 쓸 수 있지만, 그림을 보내고 결과를 받아 오는 왕복 시간이 예산에 통째로 더해져요. 연결이 잠깐 흔들리면 그 순간만 크게 늦어지기도 해요.

그래서 화면에 곧바로 반응해야 하는 일은 기기 안에서 처리하는 쪽을 고르는 경우가 많아요. 브라우저나 휴대폰 안에서 도는 대신 가벼운 모델을 써야 하죠. 무거운 판단만 가끔 서버에 맡기고 나머지는 기기에서 처리하는 식으로 섞기도 해요.

3조금 더 정확하게

실시간 추론에서 자주 뒤섞이는 두 값이 있어요. 한 건이 들어와서 답이 나올 때까지 걸리는 시간과, 정해진 시간 동안 몇 건을 처리했는지를 나타내는 양은 서로 다른 값이에요. 여러 건을 한 묶음으로 모아 한꺼번에 계산하면 처리한 양은 늘지만 한 건이 답을 받기까지는 오히려 더 오래 걸려요. 그래서 화면에 반응해야 하는 자리에서는 묶음을 작게 두거나 아예 한 건씩 처리해요.

비유가 어긋나는 지점도 있어요. 자동문은 열지 말지를 한 번 정하면 되지만, 실시간 추론은 매 순간 답을 새로 내고 그 답이 계속 바뀌어요. 대신 앞 순간의 답을 이어 쓸 수 있다는 이점이 있어서, 아무것도 없는 상태에서 매번 다시 찾는 것보다 훨씬 적은 일로 따라붙을 수 있어요. 또 자동문 앞의 사람은 멈춰 서서 기다려 주기라도 하지만, 흘러가는 영상은 기다려 주지 않아요.

4직접 해보기

5흔한 오해

  • 실시간은 정해진 속도 기준이 있다고 생각하기 쉽지만, 실제로는 쓰는 자리마다 허용되는 시간이 달라서 같은 모델이 어떤 곳에서는 실시간이고 어떤 곳에서는 아니에요.

  • 모델을 빠르게 만들면 실시간이 된다고 여기기 쉽지만, 실제로는 그림을 읽고 크기를 맞추고 결과를 그리는 시간까지 같은 예산에서 나가요.

  • 평균 처리 시간이 기준을 넘지 않으면 괜찮다고 생각하기 쉽지만, 실제로는 가끔 크게 튀는 한 번이 체감을 결정해요.

7한 줄 요약

그러니까실시간 추론은 매 순간 주어진 짧은 시간 안에 판단을 끝내는 일이고, 이 자리에서는 늦게 나온 정답이 틀린 답과 다름없어요.

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