섹션별 상세
기존 요청-응답 방식은 전체 오디오 수신 후 처리를 시작하여 실시간 서비스에 부적합한 지연을 발생시킨다. SageMaker AI의 양방향 스트리밍은 HTTP/2를 통해 클라이언트와 컨테이너 간 지속적인 연결을 유지한다. 이 구조는 오디오를 청크 단위로 스트리밍하며 즉각적인 전사 결과를 반환하여 실시간성을 확보한다.
vLLM의 Realtime API는 WebSocket을 통해 오디오 데이터를 입력받고 전사 토큰을 출력한다. Piecewise CUDA 그래프 실행을 적용하여 GPU 커널 시작 오버헤드를 줄이고 스트리밍 전사 시 토큰당 지연 시간을 최소화한다. 오픈 소스인 vLLM을 사용하여 모델 구성과 양자화 설정을 제어할 수 있다.

SageMaker AI는 HTTP/2 이벤트 스트림과 WebSocket 프로토콜 간의 브릿지 역할을 수행한다. 컨테이너 내부에 FastAPI 기반 브릿지를 배포하여 SageMaker AI의 경로를 vLLM의 내부 API 경로로 매핑한다. 이 과정에서 별도의 프로토콜 변환 관리 없이 실시간 양방향 통신이 가능하다.
dockerfile
FROM public.ecr.aws/deep-learning-containers/vllm:0.17.1-gpu-py312-cu129-ubuntu22.04-sagemaker-v1.0-soci LABEL com.amazonaws.sagemaker.capabilities.bidirectional-streaming=true WORKDIR /opt/ml/code COPY requirements.txt . RUN pip install --upgrade --no-cache-dir -r requirements.txt COPY app.py . COPY sagemaker-entrypoint.sh entrypoint.sh RUN chmod +x entrypoint.sh ENTRYPOINT ["./entrypoint.sh"]SageMaker AI 양방향 스트리밍을 활성화하는 Dockerfile 설정
python
VLLM_WS_URL = "ws://localhost:8081/v1/realtime" @app.websocket("/invocations-bidirectional-stream") async def websocket_bridge(sm_ws: WebSocket): await sm_ws.accept() async with websockets.connect(VLLM_WS_URL) as vllm_ws: async def sm_to_vllm(): while True: message = await sm_ws.receive() if "text" in message and message["text"]: await vllm_ws.send(message["text"]) elif "bytes" in message and message["bytes"]: await vllm_ws.send(message["bytes"].decode("utf-8")) async def vllm_to_sm(): async for msg in vllm_ws: if isinstance(msg, str): await sm_ws.send_text(msg) elif isinstance(msg, bytes): await sm_ws.send_bytes(msg) await asyncio.gather(sm_to_vllm(), vllm_to_sm())SageMaker AI와 vLLM 간의 WebSocket 통신을 중계하는 FastAPI 브릿지 코드
Voxtral-Mini-4B-Realtime-2602 모델을 활용한 실시간 음성 인식 데모는 Gradio를 통해 구현된다. 마이크 입력을 16kHz PCM16으로 리샘플링하고 base64로 인코딩하여 전송한다. 이 아키텍처는 음성 에이전트, 실시간 자막, 콜센터 분석 등 연속적인 양방향 통신이 필요한 서비스에 적용 가능하다.
python
voxtral_model = Model.create( model_name=model_name, primary_container=ContainerDefinition( image=inference_image, model_data_source=ModelDataSource( s3_data_source=S3ModelDataSource( s3_uri=f"{model_artifact}/", s3_data_type="S3Prefix", compression_type="None", ) ), environment=vllm_env ), execution_role_arn=role, )SageMaker AI 엔드포인트에 모델을 배포하는 코드

용어 해설
- vLLM
- — 고성능 LLM 추론 및 서빙 엔진. PagedAttention 기술을 통해 메모리 효율을 극대화하며, Realtime API를 통해 WebSocket 기반의 스트리밍 추론을 지원한다.
- 웹소켓(WebSocket)
- — 클라이언트와 서버 간의 전이중 통신을 지원하는 프로토콜. 실시간 음성 인식처럼 데이터가 지속적으로 오가는 서비스에서 필수적이다.
- CUDA 그래프(CUDA Graph)
- — GPU 커널 실행을 그래프 형태로 미리 정의하여 실행 오버헤드를 줄이는 기술. vLLM에서 추론 지연 시간을 낮추는 데 사용된다.
- HTTP/2
- — 웹 통신 프로토콜. 다중화 및 양방향 스트리밍을 지원하여 SageMaker AI에서 실시간 데이터 전송을 가능하게 한다.
기술
- Amazon SageMaker AI
- vLLM
- Voxtral-Mini-4B-Realtime-2602
- Gradio
- FastAPI
- HTTP/2
- WebSocket
활용 사례
- Voice Agents
- Live Captioning
- Contact Center Analytics
- Real-time Translation
AI 분석 전체 내용 보기
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
원문 발행 2026. 05. 21.수집 2026. 05. 21.출처 타입 RSS
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.