AI Briefing

OpenAI가 대규모 저지연 음성 AI를 제공하는 방식

·2026.05.05 04:00

OpenAI가 대규모 저지연 음성 AI를 위한 WebRTC 구조를 공개했다.

OpenAI는 ChatGPT voiceRealtime API처럼 대화 지연이 체감 품질을 좌우하는 음성 제품을 위해 WebRTC 인프라를 다시 설계했다. 주간 활성 사용자 9억 명 이상 규모에서 빠른 연결 설정, 낮은 지터, 낮은 패킷 손실이 필수였다.

핵심은 SFU 대신 transceiver 모델을 택한 점이다. 엣지의 transceiver가 클라이언트 WebRTC 연결을 종료하고, 내부에서는 추론·전사·음성 생성·도구 호출용 단순 프로토콜로 바꾼다. 이 transceiver가 ICE, DTLS, SRTP 같은 세션 상태를 모두 소유한다.

초기 구현은 GoPion 기반의 단일 서비스였지만, Kubernetes에서 전통적인 one-port-per-session 방식은 잘 맞지 않았다.

  • 대규모 UDP 포트 범위는 로드밸런서와 방화벽, 헬스체크 운영을 복잡하게 했다.
  • ICE와 DTLS는 상태가 있어 패킷이 다른 프로세스로 가면 세션이 깨질 수 있었다.
  • pod 증설, 축소, 재스케줄링이 잦아 고정 포트 범위 운영은 탄력성을 해쳤다.

해법은 relay + transceiver 분리였다. relay는 암호화나 코덱 협상 없이 패킷 메타데이터만 읽는 경량 UDP 포워더이고, transceiver는 뒤에서 WebRTC 세션 상태를 완전히 맡는다. 각 transceiver는 shared UDP socket 하나로 여러 세션을 처리하며, signaling은 transceiver가 담당하고 SDP answer에는 공용 relay VIP와 UDP port가 들어간다. 클라이언트의 첫 패킷인 STUN binding request에서 ICE ufrag를 읽어 목적지를 정한다.

relay는 세션을 메모리의 최소 상태와 타이머만으로 유지하고, 재시작 후에는 다음 STUN 패킷으로 다시 복구한다. 필요할 때는 Redis에 <client IP + Port, transceiver IP + Port> 매핑을 저장해 더 빨리 경로를 되찾는다.

전역 배치에서는 Global Relay와 Cloudflare의 geo/proximity steering을 사용해 사용자를 가까운 ingress와 cluster로 보낸다. 공용 UDP 표면은 작게 유지하면서도 첫 홉 지연과 지터, 손실 버스트를 줄여 음성 대화를 더 자연스럽게 만든다.

이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.

요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.