AI VIDEO BRIEFING

스트리밍 음성인식(ASR) 추론 서버가 LLM 서빙과 다른 이유와 GPU 메모리·비용 구조 정리

실시간 스트리밍 음성인식(ASR)을 서버에 올릴 때 GPU 메모리·지연·비용이 어떻게 달라지는지, Kyutai Moshi 모델과 Rust 추론 서버 실험 사례를 바탕으로 KV 캐시 관리부터 LLM 서빙과의 차이까지 정리했다.

실시간 스트리밍 음성인식 서버는 왜 LLM 서빙과 다를까 영상 대표 이미지

핵심 메시지

  • 스트리밍 ASR은 말이 들어오는 즉시 1~2초 안에 받아쓰는 방식으로, 파일을 통째로 올려 처리하는 배치 ASR과 근본적으로 다르다.
  • Kyutai의 Moshi는 듣기와 말하기를 동시에 하는 단일 모델로, 음성→텍스트와 텍스트→음성이 같은 구조의 특수한 경우로 처리된다.
  • GPU 메모리는 서버 시작 시 필요한 만큼을 한 번에 잡아두고 이후 늘지 않아, 오래된 KV 캐시를 비워가며 무한정 스트리밍할 수 있다.
  • 실시간보다 빠르게 오디오를 밀어 넣으면 버퍼가 넘쳐 메모리가 계속 증가하다 서버가 죽을 수 있다.
  • 스트리밍 ASR은 요청이 균일하고 모델이 작아 LLM 서빙보다 단순하지만, 연결이 몇 시간씩 상태를 붙들고 있어 배치 처리보다 훨씬 비싸다.

쉽게 이해하기

발표자는 자연어처리 박사이자 머신러닝 엔지니어로서, 실시간 스트리밍 음성인식(ASR) 모델을 실제 서버에 올려 서빙할 때 생기는 독특한 문제들을 다룬다. 스트리밍 ASR은 사용자가 말하는 즉시 1~2초 안에 텍스트로 옮기는 방식으로, 파일을 업로드해 전체를 한꺼번에 처리하는 배치 ASR과는 요구 조건이 크게 다르다.

예시로 든 모델은 Kyutai가 최근 공개한 Moshi다. 원래 실시간 대화를 위해 설계된 완전 이중(duplex) 모델로, 듣기와 말하기를 동시에 수행하며 음성인식과 음성합성이 별도 부품 없이 하나의 모델 안에서 특수한 경우로 처리된다. 음성→텍스트에는 10억, 26억 파라미터 두 가지 모델이 제공된다.

입력 오디오는 먼저 약 9천만 파라미터의 경량 인코더 'Mimi'가 의미 단위의 오디오 토큰 열로 바꾼다. 트랜스포머는 일반 LLM처럼 토큰을 하나씩 자기회귀로 생성하는 대신, 80밀리초(초당 12.5프레임)마다 오디오 토큰 하나를 받아 텍스트 토큰 하나를 내놓는다. 말하는 속도보다 빠른 주기라 상당수 텍스트 토큰은 빈 값이 된다.

직접 실험한 결과, GPU 메모리는 서버가 뜨는 순간 배치 크기에 맞춰(예: 배치 64에서 약 9GB) 필요한 양을 전부 할당하고 이후 거의 변하지 않았다. CPU 메모리는 동시 연결이 64개까지 늘어날 때 함께 오르다 한계에 이르면 추가 연결을 떨어뜨리며, 그 뒤로는 계속 늘지 않아 사실상 무한정 스트리밍이 가능했다.

핵심은 KV 캐시 관리다. 일반 LLM은 생성할수록 KV 캐시가 커져 최대 시퀀스 길이 제한이 생기지만, 스트리밍 ASR은 최근 1분 남짓의 오디오만 보면 되므로 그보다 오래된 캐시를 비워 메모리를 재사용한다. 그래서 몇 시간을 이어 말해도 GPU 메모리가 바닥나지 않는다.

주요 인사이트

  • 실시간보다 빠른 속도(예: 2배속)로 오디오를 보내면 서버가 실시간 속도로만 버퍼를 소비하기 때문에 버퍼가 끝없이 차올라 결국 메모리 부족으로 크래시가 날 수 있다. AssemblyAI 같은 음성 API 업체가 실시간보다 빠른 전송을 꺼리는 이유다.
  • 비용 추정: H100 한 장이 400개 스트림을 실시간 처리한다고 보고 시간당 3달러, 가동률 50%를 가정하면 시간당 약 1.5센트로, 유사 상용 스트리밍 서비스(예: AssemblyAI 유니버설 스트리밍 시간당 15센트)보다 약 10배 저렴하다.
  • 그러나 연결이 유지되는 내내 GPU 메모리에 모델 상태를 붙들어야 하므로, 1시간 오디오를 수초 만에 처리하는 배치 전사에 비하면 스트리밍 서빙은 한 자릿수 배수만큼 더 비싸다.
  • LLM 추론 엔진(vLLM 등)과 비교하면 스트리밍 ASR 서빙이 더 단순하다. 모델이 1~2B로 작아 단일 GPU에 올라가고, 모든 요청이 실시간이라는 균일한 성격이라 시작 시 필요한 메모리를 예측해 한 번에 할당할 수 있으며, 프리필과 디코딩 단계 구분도 없다.
  • 반대로 어려운 점은 상태(state)를 갖고 연결이 몇 시간씩 이어진다는 것, 그리고 실시간 음성 에이전트에서는 1~2초 지연도 크게 체감돼 엄격한 실시간 지연 요건을 맞춰야 한다는 점이다.

자주 묻는 질문

스트리밍 ASR과 배치 ASR은 무엇이 다른가?

스트리밍 ASR은 말이 들어오는 즉시 1~2초 안에 받아쓰는 방식이고, 배치 ASR은 파일을 통째로 업로드해 전체를 한꺼번에 전사하는 방식이다.

스트리밍 모델은 어떻게 GPU 메모리가 바닥나지 않고 오래 스트리밍할 수 있나?

최근 1분 남짓의 오디오만 필요하기 때문에 그보다 오래된 KV 캐시를 비워 메모리를 재사용한다. 그래서 몇 시간을 이어 말해도 GPU 메모리가 고갈되지 않는다.

왜 실시간보다 빠르게 오디오를 보내면 문제가 되나?

서버는 실시간 속도로만 버퍼를 소비하는데 전송이 더 빠르면 버퍼가 소비되는 것보다 빨리 차올라, 결국 메모리 부족으로 서버가 죽을 수 있다.

스트리밍 ASR 서빙이 LLM 서빙보다 단순한 이유는?

모델이 작아 단일 GPU에 올라가고, 모든 요청이 실시간이라는 균일한 성격이라 메모리를 시작 시 예측해 할당할 수 있으며, 프리필과 디코딩 단계 구분도 없기 때문이다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식